MeVisLab Toolbox Reference
mlAPI.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 
22 
23 #ifdef WIN32
24  #include <ThirdPartyWarningsDisable.h>
25  #include <windows.h>
26  #include <ThirdPartyWarningsRestore.h>
27 #endif
28 
29 // Attention: All includes must be pure C!
30 
32 #ifndef ML_DISABLE_CPP
33 #define ML_DISABLE_CPP
34 #endif
35 
37 #include "mlInitSystemML.h"
38 
40 #undef ML_DISABLE_CPP
41 
43 #include "mlUtilsAPI.h"
44 
46 #include "mlVersion.h"
47 
48 
49 //-----------------------------------------------------------------------------------
52 //-----------------------------------------------------------------------------------
54 #define mlField void
55 
57 #define mlSensor void
58 
60 #define mlModule void
61 
63 #define mlBase void
64 
66 #define mlType void
67 
68 #ifdef WIN32
71  typedef HMODULE MLLibraryHandle;
72 #else
74  typedef void* MLLibraryHandle;
75 #endif
76 
77 
79 
80 #ifdef __cplusplus
81 extern "C" {
82 #endif
83 
84 
85 //-----------------------------------------------------------------------------------
88 //-----------------------------------------------------------------------------------
105 MLEXPORT MLint32 MLInit(MLint32 majorVersion, MLint32 majorCAPIVersion, MLint32 revCAPI);
106 
111 
113 MLEXPORT void MLHostSetProgressCB(void* userData, MLHostProgressCB* callback);
114 
117 MLEXPORT void MLHostUpdateProgress(const char* info1, const char* info2);
118 
120 MLEXPORT void MLHostSetBreakCheckCB(void* userData, MLHostBreakCheckCB* callback);
122 
123 //-----------------------------------------------------------------------------------
126 //-----------------------------------------------------------------------------------
146 [[nodiscard]]
148 
150 [[nodiscard]]
152 
160 MLEXPORT MLint32 MLLoadLibrary(const char* name);
161 
165 
170 
203 [[nodiscard]]
205  MLLibraryHandle libHandle,
206  char** errStr);
207 
209 
210 
211 
212 //-----------------------------------------------------------------------------------
215 //-----------------------------------------------------------------------------------
219 MLEXPORT mlModule* MLCreateModuleFromName(const char* className);
220 
224 
230 MLEXPORT MLint32 MLBaseIsDerivedFrom(mlBase* base, const char* superClassName);
231 
234 MLEXPORT const char* MLBaseGetType(mlBase* base);
235 
239 
244 
249 
251 MLEXPORT mlType* MLTypeFromName(const char* name);
252 
257 
262 MLEXPORT const char* MLTypeGetName(mlType* type);
263 
268 MLEXPORT const char* MLTypeGetDllName(mlType* type);
269 
276 
282 
289 MLEXPORT MLint32 MLTypeIsDerivedFrom(mlType* type, const char* parent);
291 
292 
293 
294 //-----------------------------------------------------------------------------------
297 //-----------------------------------------------------------------------------------
303 MLEXPORT mlField* MLModuleGetField(mlModule* module, const char* name);
304 
309 
315 
321 MLEXPORT void MLModuleSetFieldValue(mlModule* module, char* fieldName, char* value);
323 
324 
325 
326 //-----------------------------------------------------------------------------------
329 //-----------------------------------------------------------------------------------
335 
341 
347 
354 
355 
356 
357 //-----------------------------------------------------------------------------------
360 //-----------------------------------------------------------------------------------
362 MLEXPORT const char* MLFieldGetName(mlField* field);
363 
365 MLEXPORT const char* MLFieldGetType(mlField* field);
366 
368 MLEXPORT void MLFieldSetValue(mlField* field, const char* value);
369 
372 
376 MLEXPORT size_t MLFieldGetValue(mlField* field, char* value, size_t bufferSize);
377 
382 
387 
392 
397 
402 
410 
415 
424 
425 
426 
427 //-----------------------------------------------------------------------------------
430 //-----------------------------------------------------------------------------------
435 
439 MLEXPORT void MLFieldSetEnumValue(mlField* field, int val);
440 
445 
450 MLEXPORT const char* MLFieldGetEnumName(mlField* field, MLint32 i, int* value);
452 
453 
454 
455 //-----------------------------------------------------------------------------------
458 //-----------------------------------------------------------------------------------
472 
483 
489 
495 
496 
497 
498 //-----------------------------------------------------------------------------------
501 //-----------------------------------------------------------------------------------
516 [[nodiscard]]
517 MLEXPORT MLErrorCode MLImageGetTile6D(mlField* outField, void** memory,
518  MLint x, MLint y, MLint z, MLint c, MLint t, MLint u,
519  MLint nx, MLint ny, MLint nz, MLint nc, MLint nt, MLint nu,
520  MLDataType datatype);
521 
522 
524 [[nodiscard]]
525 MLEXPORT MLErrorCode MLImageGetTile4D(mlField* outField, void** memory,
526  MLint x, MLint y, MLint z, MLint c,
527  MLint nx, MLint ny, MLint nz, MLint nc,
528  MLDataType datatype);
529 
530 
532 [[nodiscard]]
533 MLEXPORT MLErrorCode MLImageGetTile3D(mlField* outField, void** memory,
534  MLint x, MLint y, MLint z,
535  MLint nx, MLint ny, MLint nz,
536  MLDataType datatype);
537 
538 
540 [[nodiscard]]
541 MLEXPORT MLErrorCode MLImageGetTile(mlField* outField, void** memory,
542  MLint x, MLint y, MLint z,
543  MLint nx, MLint ny, MLint nz,
544  MLDataType datatype);
545 
546 
547 
551 [[nodiscard]]
553  MLint x, MLint y, MLint z, MLint c, MLint t, MLint u,
554  MLint nx, MLint ny, MLint nz, MLint nc, MLint nt, MLint nu,
555  MLDataType datatype,
556  MLdouble srcMin, MLdouble srcMax, MLdouble dstMin, MLdouble dstMax);
557 
558 
560 [[nodiscard]]
562  MLint x, MLint y, MLint z, MLint c,
563  MLint nx, MLint ny, MLint nz, MLint nc,
564  MLDataType datatype,
565  MLdouble srcMin, MLdouble srcMax, MLdouble dstMin, MLdouble dstMax);
566 
567 
569 [[nodiscard]]
571  MLint x, MLint y, MLint z,
572  MLint nx, MLint ny, MLint nz,
573  MLDataType datatype,
574  MLdouble srcMin, MLdouble srcMax, MLdouble dstMin, MLdouble dstMax);
575 
576 
578 [[nodiscard]]
580  MLint x, MLint y, MLint z,
581  MLint nx, MLint ny, MLint nz,
582  MLDataType datatype,
583  MLdouble srcMin, MLdouble srcMax, MLdouble dstMin, MLdouble dstMax);
584 
587 MLEXPORT void MLImageFreeTile(void *data);
589 
590 
591 //-----------------------------------------------------------------------------------
594 //-----------------------------------------------------------------------------------
595 
598 
602 
606 
613 
620 
627 
632 MLEXPORT MLErrorCode MLGetPageMemorySize(mlField* outField, size_t* numBytes);
633 
638 MLEXPORT MLErrorCode MLGetMemoryImgSize(mlField* outField, size_t *numBytes);
639 
643 
644 
645 
646 
647 //-----------------------------------------------------------------------------------
650 //-----------------------------------------------------------------------------------
654 [[nodiscard]]
656 
665 [[nodiscard]]
666 MLEXPORT const char* MLGetImageStateString(mlField* outField);
667 
676 MLEXPORT MLErrorCode MLImageGetSize6D(mlField* outField, int *x, int *y, int *z, int *c, int *t, int *u);
677 
686 MLEXPORT MLErrorCode MLImageGetPageSize6D(mlField* outField, int *x, int *y, int *z, int *c, int *t, int *u);
687 
688 
690 MLEXPORT MLErrorCode MLImageGetSize(mlField* outField, int *x, int *y, int *z, int *c);
691 
696 MLEXPORT MLErrorCode MLImageGetType(mlField* outField, MLDataType* dtype, size_t* dsize);
697 
703 
709 
712 [[nodiscard]]
714  const char* imagePropertyTypeClassName,
715  void** imagePropertyExtension);
716 
719 
722 
725 
728 
731 
734 
741  MLfloat *dstX, MLfloat *dstY, MLfloat *dstZ);
742 
749  MLdouble *dstX, MLdouble *dstY, MLdouble *dstZ);
750 
757  MLfloat *dstX, MLfloat *dstY, MLfloat *dstZ);
758 
765  MLdouble *dstX, MLdouble *dstY, MLdouble *dstZ);
767 
768 
769 
770 //-----------------------------------------------------------------------------------
773 //-----------------------------------------------------------------------------------
774 
780 
783 MLEXPORT void MLBaseFieldSetPersistentState(mlField* baseField, const char* state);
784 
788 MLEXPORT void MLBaseFieldClearPersistentState(mlField* baseField, char* state);
789 
793 
796 MLEXPORT void MLBaseFieldSetPtr(mlField* baseField, const void *value);
798 
799 
800 
801 //-----------------------------------------------------------------------------------
804 //-----------------------------------------------------------------------------------
805 
810 
815 MLEXPORT void MLSoNodeFieldSetPtr(mlField* field, const void* value);
816 
817 
822 
827 MLEXPORT void MLPointerFieldSetPtr(mlField* field, const void* value);
828 
830 
831 
832 
833 //-----------------------------------------------------------------------------------
836 //-----------------------------------------------------------------------------------
842 MLEXPORT mlSensor* MLCreateFieldSensor(void* userData, MLSensorCB* callback);
843 
849 
854 
861 
868 
869 
870 //---------------------------------------------------------------------------------------------
873 //---------------------------------------------------------------------------------------------
877 
881 
885 
890 
891 
892 //-----------------------------------------------------------------------------------
895 //-----------------------------------------------------------------------------------
900 
905 
906 #ifdef __cplusplus
907 }
908 #endif
909 
910 
911 
MLint32 MLDataType
MLDataType.
Definition: mlTypeDefs.h:684
MLint32 MLErrorCode
Type of an ML Error code.
Definition: mlTypeDefs.h:818
MLEXPORT size_t MLFieldGetValueSize(mlField *field)
Returns string length of field value coded as string of field field.
MLEXPORT MLErrorCode MLGetPageMemorySize(mlField *outField, size_t *numBytes)
Returns currently used cache size for pages of the image in OutputConnectorField outField in bytes.
MLEXPORT void MLImageFreeTile(void *data)
Frees the memory created/allocated by any of the functions MLImageGetTile*() or MLImageGetScaledTile*...
MLEXPORT MLErrorCode MLLoadLibraryWOErrorExt(const char *name, MLLibraryHandle *libHandle)
Loads the given shared library.
#define mlModule
A macro name for a void pointer to a ml::Module in the ML to make pointer more readable.
Definition: mlAPI.h:60
MLEXPORT void MLDeleteModule(mlModule *module)
Destroys/deletes a module instance module created by MLCreateModuleFromName.
MLEXPORT MLErrorCode MLImageGetVoxelToWorldMatrix(mlField *outField, MLfloat[16])
Returns the VoxelToWorldMatrix of the image represented by output field outField.
MLEXPORT MLint64 MLFieldGetIntValue64(mlField *field)
Return the value of the IntegerField field.
MLEXPORT void MLFieldSetIntValue(mlField *field, MLint32 value)
Set value of IntegerField field to the integer value value.
MLEXPORT MLint32 MLFieldGetIntValue(mlField *field)
Return the value of the IntegerField field.
MLEXPORT void MLFieldSetValue(mlField *field, const char *value)
Set value of field field to value.
MLEXPORT MLErrorCode MLImageGetSize(mlField *outField, int *x, int *y, int *z, int *c)
Like MLImageGetSize6D, only for 4D. The last two extents are ignored.
MLEXPORT void MLHostUpdateProgress(const char *info1, const char *info2)
Calls the callback set MLHostSetProgressCB manually (this is used by the InventorWrapper module).
MLEXPORT MLfloat MLFieldGetFloatValue(mlField *field)
Return the value of the FloatField field.
MLEXPORT void MLSoNodeFieldSetPtr(mlField *field, const void *value)
Sets the pointer value of the SoNode field field to value.
MLEXPORT MLuint64 MLCacheGetCurrentSizeKB()
Returns number of kilobytes currently allocated within ML cache.
MLEXPORT void MLSendMessagesToCout(MLint32 on)
If 0 is passed as on, message sending to std::cout is disabled.
MLEXPORT mlType * MLBaseGetTypeObject(mlBase *base)
Returns object type as type object.
MLEXPORT MLint32 MLAreMessagesSentToCerr()
Returns 1(=true) if the ML messages are sent to std::cerr, otherwise 0(=false).
MLEXPORT void MLBeginLoadFields(mlModule *module)
Notifies the begin of the loading process in which the fields of the module are set/initialized.
MLEXPORT mlType * MLTypeGetParentType(mlType *type)
Returns pointer to the RuntimeType instance representing the type of the parent class of that represe...
MLEXPORT void * MLSoNodeFieldGetPtr(mlField *field)
Returns the value of the SoNode field field.
MLEXPORT void MLDeleteFieldSensor(mlSensor *sensor)
Destroys the sensor sensor.
MLEXPORT void MLFieldSetEnumValue(mlField *field, int val)
Sets index of selected element in the EnumField field.
MLEXPORT void MLPointerFieldSetPtr(mlField *field, const void *value)
Sets the value of the pointer field field to value.
MLEXPORT void MLHostSetBreakCheckCB(void *userData, MLHostBreakCheckCB *callback)
Sets a callback to provide break checking of current calculation.
MLEXPORT MLuint32 MLGetMaxNumThreads()
Returns the currently set number of parallel threads which the ML might use.
HMODULE MLLibraryHandle
Defines the platform specific handle for a dynamically linked library.
Definition: mlAPI.h:71
MLEXPORT void MLEndLoadFields(mlModule *module)
Notifies the end of the loading process in which the fields of the module are set/initialized.
MLEXPORT MLErrorCode MLGetMemoryImgSize(mlField *outField, size_t *numBytes)
Returns currently used size of memory image of OutputConnectorField outField in bytes.
MLEXPORT const char * MLBaseFieldGetPersistentState(mlField *baseField)
Returns a character string which contains the object state of the base object represented by the base...
MLEXPORT void MLBaseFieldSetPtr(mlField *baseField, const void *value)
Sets the pointer value of the base field baseField to value.
MLEXPORT void MLHostSetProgressCB(void *userData, MLHostProgressCB *callback)
Sets a callback to provide feedback of the host calculation progress.
MLEXPORT MLErrorCode MLUnLoadLibrary(const char *name, MLLibraryHandle libHandle, char **errStr)
Unloads the given shared library.
MLEXPORT mlField * MLModuleGetIndexedField(mlModule *module, MLint32 n)
Return field with index from [0..getNumFields-1] of module if field exists; otherwise 0 (NULL) is ret...
MLEXPORT MLErrorCode MLClearPagesAndMemoryImg(mlField *outField)
Removes all pages of the page image from the memory at OutputConnectorField outField.
MLEXPORT MLErrorCode MLImageGetVoxelSizeInDoubles(mlField *outField, MLdouble *x, MLdouble *y, MLdouble *z)
Determines the voxel size x / y / z of the image represented by the output field outField.
MLEXPORT const char * MLGetImageStateString(mlField *outField)
Requests the state string from an output field outField.
MLEXPORT void MLBeginSaveFields(mlModule *module)
Notifies the begin of the saving process in which the fields of the module are read/saved.
MLEXPORT MLuint64 MLCacheGetMaxSizeKB()
Returns maximum number of kilobytes used by the ML cache.
MLEXPORT void MLModuleSetFieldValue(mlModule *module, char *fieldName, char *value)
Sets field with name fieldName of module to value value.
MLEXPORT void MLEndSaveFields(mlModule *module)
Notifies the end of the saving process in which the fields of the module are read/saved.
MLEXPORT MLErrorCode MLImageGetType(mlField *outField, MLDataType *dtype, size_t *dsize)
Determines the data type dtype and its size dsize in bytes of the image represented by the output fie...
#define mlBase
A macro name for a void pointer to a base object in the ML to make pointer more readable.
Definition: mlAPI.h:63
MLEXPORT void MLFieldSensorAttach(mlSensor *sensor, mlField *field)
Attach the sensor sensor to the field field (any value change will be notified by the call of the cal...
MLEXPORT MLErrorCode MLImageGetTile6D(mlField *outField, void **memory, MLint x, MLint y, MLint z, MLint c, MLint t, MLint u, MLint nx, MLint ny, MLint nz, MLint nc, MLint nt, MLint nu, MLDataType datatype)
Calculates a 6d rectangular region of the input image given by output field outField and returns a po...
MLEXPORT void MLFieldSensorDetach(mlSensor *sensor)
Disconnects the connection between sensor sensor and its observed field.
MLEXPORT MLErrorCode MLLoadLibraryWOError(const char *name)
Same as MLLoadLibraryWOErrorExt with libHandle=NULL.
MLEXPORT MLint32 MLLoadLibrary(const char *name)
Loads the given shared library.
MLEXPORT MLdouble MLFieldGetDoubleValue(mlField *field)
Return the value of the DoubleField field field.
MLEXPORT int MLFieldGetEnumValue(mlField *field)
Returns index of selected element in the EnumField field.
MLEXPORT const char * MLTypeGetName(mlType *type)
Returns pointer to a null terminated string containing the name of the class represented by type.
#define mlType
A macro name for a void pointer to a runtime type in the ML to make pointer more readable.
Definition: mlAPI.h:66
MLEXPORT void MLSendMessagesToCerr(MLint32 on)
If 0 is passed as on, message sending to std::cerr is disabled.
MLEXPORT void MLBaseFieldSetPersistentState(mlField *baseField, const char *state)
Restores the state of the base object represented by the base field baseField using a state generated...
MLEXPORT MLint32 MLTypeIsDerivedFrom(mlType *type, const char *parent)
Returns true (== 1) if runtime type type is derived from the parent class with the name given by pare...
MLEXPORT MLErrorCode MLImageGetMaxValue(mlField *outField, MLdouble *maxValue)
Returns the maximum voxel value maxValue of the image represented by output field outField.
MLEXPORT void * MLPointerFieldGetPtr(mlField *field)
Returns the value of the pointer field field.
MLEXPORT MLErrorCode MLImageGetScaledTile4D(mlField *outField, void **memory, MLint x, MLint y, MLint z, MLint c, MLint nx, MLint ny, MLint nz, MLint nc, MLDataType datatype, MLdouble srcMin, MLdouble srcMax, MLdouble dstMin, MLdouble dstMax)
Like MLImageGetScaledTile6D(), only for 4 dimensional regions, (i.e., t=u=0 and nt=nt=1)
MLEXPORT const char * MLBaseGetType(mlBase *base)
Returns object type as string.
MLEXPORT MLint32 MLTypeIsAbstract(mlType *type)
Returns true (== 1) if type is abstract, otherwise 0 (=false).
MLEXPORT MLErrorCode MLClearMemoryImg(mlField *outField)
Clears the memory image in OutputConnectorField outField if it is handled by the ML.
MLEXPORT mlField * MLModuleGetField(mlModule *module, const char *name)
Return field with name name of module.
MLEXPORT mlModule * MLCreateModuleFromType(mlType *type)
Creates a new instance of a module of type given by type.
MLEXPORT const char * MLFieldGetName(mlField *field)
Returns name of field field.
MLEXPORT MLint32 MLBaseIsDerivedFrom(mlBase *base, const char *superClassName)
Returns 1(=true) if base is derived from class with name superClassName and 0(=false) if not.
MLEXPORT MLErrorCode MLImageGetMinValue(mlField *outField, MLdouble *minValue)
Returns minimum voxel value minValue of the image represented by output field outField.
MLEXPORT void MLBaseFieldClearPersistentState(mlField *baseField, char *state)
Frees the memory allocated for the character string state which was allocated by the function call ML...
MLEXPORT MLErrorCode MLImageMapVoxelToWorldInDoubles(mlField *outField, MLdouble srcX, MLdouble srcY, MLdouble srcZ, MLdouble *dstX, MLdouble *dstY, MLdouble *dstZ)
Transforms the given position (srcX, srcY, scrZ) from voxel to world coordinates (dstX,...
MLEXPORT const char * MLFieldGetEnumName(mlField *field, MLint32 i, int *value)
Return name of the i th element of enum field field and set value to i if field type is an enum type.
MLEXPORT void MLFieldSetDoubleValue(mlField *field, MLdouble value)
Set value of DoubleField field to the double value value.
#define mlField
A macro name for a void pointer to a field in the ML to make pointer more readable.
Definition: mlAPI.h:54
MLEXPORT MLErrorCode MLImageGetScaledTile6D(mlField *outField, void **memory, MLint x, MLint y, MLint z, MLint c, MLint t, MLint u, MLint nx, MLint ny, MLint nz, MLint nc, MLint nt, MLint nu, MLDataType datatype, MLdouble srcMin, MLdouble srcMax, MLdouble dstMin, MLdouble dstMax)
Like MLImageGetTile6D().
MLEXPORT mlSensor * MLCreateFieldSensor(void *userData, MLSensorCB *callback)
Returns a field sensor.
MLEXPORT MLint32 MLAreMessagesSentToCout()
Returns 1(=true) if the ML messages are sent to std::cout, otherwise 0(=false).
MLEXPORT MLErrorCode MLImageGetScaledTile(mlField *outField, void **memory, MLint x, MLint y, MLint z, MLint nx, MLint ny, MLint nz, MLDataType datatype, MLdouble srcMin, MLdouble srcMax, MLdouble dstMin, MLdouble dstMax)
Exactly like MLImageGetScaledTile3D().
MLEXPORT MLErrorCode MLImageGetWorldToVoxelMatrix(mlField *outField, MLfloat[16])
Returns the WorldToVoxelMatrix of the image represented by output field outField.
MLEXPORT MLErrorCode MLClearPages(mlField *outField)
Removes all pages of the page image from the memory at output image field outField.
MLEXPORT void MLClearCache()
Removes all cached pages from all module outputs.
MLEXPORT void MLFieldSetFloatValue(mlField *field, MLfloat value)
Set value of FloatField field to the float value value.
MLEXPORT mlField * MLFieldSensorGetField(mlSensor *sensor)
Returns the field which is observed by sensor sensor.
MLEXPORT mlModule * MLCreateModuleFromName(const char *className)
Creates a new instance of a module of type given by className.
MLEXPORT MLint32 MLFieldConnectFrom(mlField *inField, mlField *outField)
If inField is an input connector field and outField is an output connector field, the field inField i...
MLEXPORT MLErrorCode MLImageGetPageSize6D(mlField *outField, int *x, int *y, int *z, int *c, int *t, int *u)
Determines the page size of the image represented by output field outField.
MLEXPORT MLErrorCode MLImageGetTile(mlField *outField, void **memory, MLint x, MLint y, MLint z, MLint nx, MLint ny, MLint nz, MLDataType datatype)
Exactly like MLImageGetTile3D().
MLEXPORT void MLFieldDisconnect(mlField *inField)
If inField is an input field: Removes connection to input field inField.
MLEXPORT size_t MLFieldGetNumEnums(mlField *field)
Returns number of elements in the EnumField field.
MLEXPORT MLint32 MLImageFieldConnectFromNoNotify(mlField *inField, mlField *outField)
Connects connectors of input connector field inField with the connector of the output connector field...
MLEXPORT MLint32 MLDestroy()
Destroys the ML, frees memory allocated in MLInit() and in all other ML operations.
MLEXPORT MLErrorCode MLImageGetVoxelSize(mlField *outField, MLfloat *x, MLfloat *y, MLfloat *z)
Determines the voxel size x / y / z of the image represented by the output field outField.
MLEXPORT MLuint32 MLSetIsCurrentlyUnloadingLibrary(MLuint32 enable)
This function allows to set the MLIsCurrentlyUnloadingLibrary state and returns the previously set un...
MLEXPORT const char * MLTypeGetDllName(mlType *type)
Returns pointer to a null terminated string containing the string name of the dll probably containing...
MLEXPORT const char * MLFieldGetType(mlField *field)
Return runtime data type of field field as string.
MLEXPORT MLErrorCode MLGetImageState(mlField *outField)
Tries to update and then it checks an image represented by output field outField.
MLEXPORT MLint32 MLInit(MLint32 majorVersion, MLint32 majorCAPIVersion, MLint32 revCAPI)
Calls the C++ initialization of the ML.
MLEXPORT void MLFieldSetIntValue64(mlField *field, MLint64 value)
Set value of IntegerField field to the integer value value.
MLEXPORT MLErrorCode MLSetMaxNumThreads(MLuint32 numThreads)
Sets the number of parallel threads which the ML might use.
MLEXPORT const char * MLTypeGetParentName(mlType *type)
Returns pointer to a null terminated string containing the name of the parent class of that represent...
MLEXPORT MLErrorCode MLImageGetWorldToVoxelMatrixInDoubles(mlField *outField, MLdouble[16])
Returns the WorldToVoxelMatrix of the image represented by output field outField.
MLEXPORT MLErrorCode MLImageMapWorldToVoxel(mlField *outField, MLfloat srcX, MLfloat srcY, MLfloat srcZ, MLfloat *dstX, MLfloat *dstY, MLfloat *dstZ)
Transforms the given position (srcX, srcY, scrZ) from world to voxel coordinates (dstX,...
MLEXPORT void MLFieldTouch(mlField *field)
Touches the field field to notify all connected fields.
MLEXPORT MLErrorCode MLImageGetTile4D(mlField *outField, void **memory, MLint x, MLint y, MLint z, MLint c, MLint nx, MLint ny, MLint nz, MLint nc, MLDataType datatype)
Like MLImageGetTile6D(), only for 4 dimensional regions, (i.e., t=u=0 and nt=nt=1)
MLEXPORT MLErrorCode MLImageMapVoxelToWorld(mlField *outField, MLfloat srcX, MLfloat srcY, MLfloat srcZ, MLfloat *dstX, MLfloat *dstY, MLfloat *dstZ)
Transforms the given position (srcX, srcY, scrZ) from voxel to world coordinates (dstX,...
MLEXPORT MLErrorCode MLImageGetFirstImagePropertyExtensionByType(mlField *outField, const char *imagePropertyTypeClassName, void **imagePropertyExtension)
Returns the first image property extension imagePropertyExtension (as void-Pointer) of type imageProp...
MLEXPORT void MLCacheSetMaxSizeKB(MLuint64 size)
Sets maximum number of kilobytes used by the ML cache.
MLEXPORT void * MLBaseFieldGetPtr(mlField *field)
Returns the value of the base field field.
MLEXPORT MLErrorCode MLImageGetScaledTile3D(mlField *outField, void **memory, MLint x, MLint y, MLint z, MLint nx, MLint ny, MLint nz, MLDataType datatype, MLdouble srcMin, MLdouble srcMax, MLdouble dstMin, MLdouble dstMax)
Like MLImageGetScaledTile6D(), only for 3 dimensional regions, (i.e., t=u=0 and nt=nt=1)
MLEXPORT MLErrorCode MLImageMapWorldToVoxelInDoubles(mlField *outField, MLdouble srcX, MLdouble srcY, MLdouble srcZ, MLdouble *dstX, MLdouble *dstY, MLdouble *dstZ)
Transforms the given position (srcX, srcY, scrZ) from world to voxel coordinates (dstX,...
#define mlSensor
A macro name for a void pointer to a sensor in the ML to make pointer more readable.
Definition: mlAPI.h:57
MLEXPORT size_t MLFieldGetValue(mlField *field, char *value, size_t bufferSize)
Copies the value of field field as string into the character string value.
MLEXPORT MLErrorCode MLImageGetSize6D(mlField *outField, int *x, int *y, int *z, int *c, int *t, int *u)
Determines the size of the image represented by output field outField.
MLEXPORT MLuint32 MLIsCurrentlyUnloadingLibrary()
This function returns true(=1) if an ML library is currently unloaded, otherwise false (=0).
MLEXPORT MLErrorCode MLImageGetTile3D(mlField *outField, void **memory, MLint x, MLint y, MLint z, MLint nx, MLint ny, MLint nz, MLDataType datatype)
Like MLImageGetTile6D(), only for 3 dimensional regions, (i.e., c=t=u=0 and nc=nt=nu=1)
MLEXPORT mlType * MLTypeFromName(const char *name)
Returns type object for given name. 0 will be returned if the type described by name is unknown.
MLEXPORT const char * MLBaseGetParentType(mlBase *base)
Returns object type of parent class as string.
MLEXPORT size_t MLModuleGetNumFields(mlModule *module)
Return number of fields contained in module.
MLEXPORT MLErrorCode MLImageGetVoxelToWorldMatrixInDoubles(mlField *outField, MLdouble[16])
Returns the VoxelToWorldMatrix of the image represented by output field outField.
#define MLEXPORT
To export symbols from a dll/shared object, we need to mark them with the MLEXPORT symbol.
UINT64 MLuint64
Introduce platform independent 64 bit unsigned integer type.
Definition: mlTypeDefs.h:513
MLint32 MLHostBreakCheckCB(void *usrData, void **hitField)
Definition: mlTypeDefs.h:1317
unsigned int MLuint32
Definition: mlTypeDefs.h:191
double MLdouble
Definition: mlTypeDefs.h:223
void MLSensorCB(void *usrData, void *sensor)
Definition: mlTypeDefs.h:1315
INT64 MLint64
Include 64 bit integer support for Windows or Unix.
Definition: mlTypeDefs.h:500
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
Definition: mlTypeDefs.h:578
signed int MLint32
Definition: mlTypeDefs.h:167
void MLHostProgressCB(void *usrData, const char *info1, const char *info2)
Definition: mlTypeDefs.h:1316
float MLfloat
Definition: mlTypeDefs.h:207