dml namespace
The dml
namespace contains the interface between MATLAB and DIPlib.
The functions and classes defined in this namespace are meant to be used in MATLAB MEX-files.
Classes
- class MatlabInterface
- This class is the
dip::ExternalInterface
for the MATLAB interface. - class streambuf
- An output stream buffer for MEX-files.
Enums
- enum class GetImageMode: dip::uint8{ REFERENCE, SHARED_COPY }
dml::GetImage
can optionally create a shared copy of the inputmxArray
, which extends its lifetime. This is useful if the MEX-file needs to keep a reference to the object.- enum class ArrayConversionMode: dip::uint8{ STANDARD, TENSOR_OPERATOR }
dml::GetImage
can optionally turn an input numeric array to a tensor image. If the numeric array is a short vector (up to 5 elements) or a small matrix (up to 5x5 elements) it will be seen as a 0D tensor image.
Functions
- auto IsScalar(mxArray const* mx) -> bool
- True if array is scalar (has single value)
- auto IsVector(mxArray const* mx) -> bool
- True if empty or a one-dimensional array
- auto IsString(mxArray const* mx) -> bool
- True if
mx
is a string (char vector or string class) - auto GetUnsigned(mxArray const* mx) -> dip::uint
- Convert an unsigned integer from
mxArray
todip::uint
by copy. - auto GetInteger(mxArray const* mx) -> dip::sint
- Convert a signed integer from
mxArray
todip::sint
by copy. - auto GetFloat(mxArray const* mx) -> dip::dfloat
- Convert a floating-point number from
mxArray
todip::dfloat
by copy. - auto GetComplex(mxArray const* mx) -> dip::dcomplex
- Convert a complex floating-point number from
mxArray
todip::dcomplex
by copy. - auto GetBooleanArray(mxArray const* mx) -> dip::BooleanArray
- Convert a boolean (logical) array from
mxArray
todip::BooleanArray
by copy. - auto GetUnsignedArray(mxArray const* mx) -> dip::UnsignedArray
- Convert an unsigned integer array from
mxArray
todip::UnsignedArray
by copy. - auto GetIntegerArray(mxArray const* mx) -> dip::IntegerArray
- Convert a signed integer array from
mxArray
todip::IntegerArray
by copy. - auto GetFloatArray(mxArray const* mx) -> dip::FloatArray
- Convert a floating-point array from
mxArray
todip::FloatArray
by copy. -
template<typename T>auto GetStdVector(mxArray const* mx) -> std::vector<T>
- Convert a 1D real-valued numeric array from
mxArray
tostd::vector< T >
by copy. Data is cast as usual from doubles to the target type (seedip::clamp_cast
). - auto GetStdVectorOfFloats(mxArray const* mx) -> std::vector<dip::dfloat> deprecated
- Convert a floating-point array from
mxArray
tostd::vector<dip::dfloat>
by copy. - auto GetProcessArray(mxArray const* mx, dip::uint nDims) -> dip::BooleanArray
- Convert an unsigned integer
mxArray
to adip::BooleanArray
, where elements of the input are indices where the output array is set. The output array hasnDims
elements. In MATLAB, dimensions start with 1. Ifmx
is empty, all dimensions are to be processed. - auto GetCoordinateArray(mxArray const* mx) -> dip::CoordinateArray
- Convert a coordinates array from
mxArray
todip::CoordinateArray
by copy. - auto GetFloatCoordinateArray(mxArray const* mx) -> dip::FloatCoordinateArray
- Convert a coordinates array from
mxArray
todip::FloatCoordinateArray
by copy. - auto HandleNewStyleString(mxArray const* mx) -> mxArray const*
- If
mx
is a “string” class object, return a char vector or a cell array of char vectors. - auto GetString(mxArray const* mx) -> dip::String
- Convert a string from
mxArray
todip::String
by copy. - auto GetStringUnicode(mxArray const* mx) -> dip::String
- Convert a string from
mxArray
to a UTF-8 encodeddip::String
by copy. - auto GetStringArray(mxArray const* mx) -> dip::StringArray
- Convert a cell array of strings from
mxArray
todip::StringArray
by copy. - auto GetStringSet(mxArray const* mx) -> dip::StringSet
- Convert a cell array of string from
mxArray
todip::StringSet
by copy. - auto GetBoolean(mxArray const* mx) -> bool
- Convert a boolean (logical) from
mxArray
tobool
by copy. Accepts"yes"
and"no"
as well. - auto GetRange(mxArray const* mx) -> dip::Range
- Convert an integer array from
mxArray
todip::Range
by copy. - auto GetRangeArray(mxArray const* mx) -> dip::RangeArray
- Convert a cell array of integer array from
mxArray
todip::RangeArray
by copy. - auto GetPixel(mxArray const* mx) -> dip::Image::Pixel
- Convert a numeric array from
mxArray
todip::Image::Pixel
by copy. - auto GetHistogramConfiguration(mxArray const* mx) -> dip::Histogram::Configuration
- Reads a histogram
Configuration
struct from a cellmxArray
with key-value pairs. - auto CreateDouble2Vector(dip::dfloat v0, dip::dfloat v1) -> mxArray*
- Create a two-element mxArray and write the two values in it.
- auto GetArray(bool in) -> mxArray*
- Convert an boolean from
bool
tomxArray
by copy. - auto GetArray(dip::uint in) -> mxArray*
- Convert an unsigned integer from
dip::uint
tomxArray
by copy. - auto GetArray(dip::sint in) -> mxArray*
- Convert a signed integer from
dip::sint
tomxArray
by copy. - auto GetArray(dip::dfloat in) -> mxArray*
- Convert a floating-point number from
dip::dfloat
tomxArray
by copy. - auto GetArray(dip::dcomplex in) -> mxArray*
- Convert a complex floating-point number from
dip::dcomplex
tomxArray
by copy. -
template<typename T, typename <SFINAE>>auto GetArray(dip::DimensionArray const& in) -> mxArray*
- Convert a numeric array from
dip::DimensionArray
tomxArray
by copy. Works fordip::UnsignedArray
,dip::IntegerArray
anddip::FloatArray
. - auto GetArray(dip::CoordinateArray const& in) -> mxArray*
- Convert a coordinates array from
mxArray
todip::CoordinateArray
by copy. - auto GetArray(dip::String const& in) -> mxArray*
- Convert a string from
dip::String
tomxArray
by copy. - auto GetArray(dip::StringArray const& in) -> mxArray*
- Convert a string array from
dip::StringArray
tomxArray
by copy. - auto GetArrayUnicode(dip::String const& in) -> mxArray*
- Convert a UTF-8 encoded string from
dip::String
tomxArray
by copy. - auto GetArray(dip::Image::Sample const& in) -> mxArray*
- Convert a sample from
dip::Image::Sample
tomxArray
by copy. - auto GetArray(dip::Image::Pixel const& in) -> mxArray*
- Convert a set of samples from
dip::Image::Pixel
tomxArray
by copy. - auto GetArray(dip::PixelSize const& pixelSize) -> mxArray*
- Convert a pixel size object
dip::PixelSize
tomxArray
by copy. - auto GetArray(dip::FileInformation const& fileInformation) -> mxArray*
- Convert a
dip::FileInformation
structure tomxArray
by copy. - auto GetArray(dip::Distribution const& in) -> mxArray*
- Convert a
dip::Distribution
object tomxArray
by copy. - auto GetImage(mxArray const* mx, dml::GetImageMode mode = GetImageMode::REFERENCE, dml::ArrayConversionMode conversion = ArrayConversionMode::STANDARD) -> dip::Image
- Passing an
mxArray
to DIPlib, keeping ownership of the data. - auto GetImageArray(mxArray const* mx) -> dip::ImageArray
- Convert a cell array of images from
mxArray
todip::ImageArray
, usingdml::GetImage
for each element of the cell array. - auto GetArrayAsArray(dip::Image const& img, bool doNotSetToTrue = false) -> mxArray*
- Find the
mxArray
that holds the data for thedip::Image
img
. - auto GetArray(dip::Image const& img, bool doNotSetToTrue = false) -> mxArray*
- Find the
mxArray
that holds the data for thedip::Image
img
, and create a MATLABdip_image
object around it. -
template<typename K>auto GetKernel(int nrhs, mxArray const*[] prhs, int& index, dip::uint nDims) -> K
- Gets a structuring element or kernel from the input argument(s) at
index
, andindex+1
.index
is updated to point to the next unused input argument. -
template<typename T>auto GetPreference(dip::String const& preference) -> T
- Get the value of a property, equivalent to calling
dipgetpref
in MATLAB.