|
MeVisLab Toolbox Reference
|
#include <mlCloseGapFilter.h>
Public Member Functions | |
| CloseGapFilter () | |
Field access. Refer to field documentation for more infos. | |
| EnumField * | getCloseGapFilterFld () const |
| FloatField * | getSensitivityFld () const |
| EnumField * | getSelectInternalKernelFld () const |
| Public Member Functions inherited from ml::KernelModule | |
| KernelModule (int inputNum=1, int outputNum=1) | |
| IntField * | getKernelXFld () const |
| X extent of kernel. The field name will be "kernelX". Field default is 3 if created. | |
| IntField * | getKernelYFld () const |
| Y extent of kernel. The field name will be "kernelY". Field default is 3 if created. | |
| IntField * | getKernelZFld () const |
| Z extent of kernel. The field name will be "kernelZ". Field default is 1 if created. | |
| IntField * | getKernelCFld () const |
| C extent of kernel. The field name will be "kernelC". Field default is 1 if created. | |
| IntField * | getKernelTFld () const |
| T extent of kernel. The field name will be "kernelT". Field default is 1 if created. | |
| IntField * | getKernelUFld () const |
| U extent of kernel. The field name will be "kernelU". Field default is 1 if created. | |
| BoolField * | getMakeSphericalFld () const |
| StringField * | getKernelInfoFld () const |
| DoubleField * | getKernelElementsSumFld () const |
| IntField * | getNumKernelElementsFld () const |
| BoolField * | getNormalizeFld () const |
| StringField * | getExternalKernelFld () const |
| BoolField * | getUseExternalKernelFld () const |
| StringField * | getKernelOutputFld () const |
| DoubleField * | getImageIntervalMinFld () const |
| DoubleField * | getImageIntervalMaxFld () const |
| BoolField * | getUseImageIntervalFld () const |
| DoubleField * | getKernelIntervalMinFld () const |
| DoubleField * | getKernelIntervalMaxFld () const |
| BoolField * | getUseKernelIntervalFld () const |
| BoolField * | getAutoCalcMinMaxFld () const |
| NotifyField * | getSetAutoMinMaxFld () const |
| DoubleField * | getOutputMinFld () const |
| DoubleField * | getOutputMaxFld () const |
| BoolField * | getUseMinMaxFld () const |
| Public Member Functions inherited from ml::KernelBaseModule | |
| Kernel & | getKernel () |
| const Kernel & | getConstKernel () const |
Method to access the kernel as constant object. See also getKernel(). | |
| EnumField * | getBorderHandlingFld () const |
| DoubleField * | getFillValueFld () const |
| EnumField & | getReferenceExtentModeFld () const |
| Public Member Functions inherited from ml::Module | |
| MLMetaProfilePtr & | getMetaProfile () const |
| Returns the metaprofile for the base operator. | |
| const char * | getTypeNameFast () const |
| Module (int numInputImages, int numOutputImages) | |
| ~Module () override | |
| InputConnectorField * | getInputImageField (MLint i) const |
Returns the field representing input image i. i must be a valid index. | |
| OutputConnectorField * | getOutputImageField (MLint i=0) const |
Returns the field representing output image i. i must be a valid index. | |
| MLint | getNumInputImages () const |
| Returns the number of input images of this module. | |
| MLint | getNumOutputImages () const |
| Returns the number of output images of this module. | |
| PagedImage * | getOutputImage (MLint outputIndex=0) const |
Returns the output image outputIndex. The index needs to be in the range [0, getNumOutputImages()-1]. | |
| InputConnectorField * | addInputImage (const char *name=nullptr) |
| OutputConnectorField * | addOutputImage (const char *name=nullptr) |
| PagedImage * | getInputImage (MLint inputIndex, bool getReal=false) const |
| PagedImage * | getUpdatedInputImage (MLint inputIndex, bool getReal=false) const |
| MLErrorCode | processAllPages (int outputIndex=-1, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| MLErrorCode | processAllPages (ProcessAllPagesHandler &handler, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| MLErrorCode | processMissingPages (int outputIndex=0, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| void | clearOutputImage (MLint i=0) |
Clears cached output image pages of output image i. | |
| MLint | getOutputImageInplace (MLint outputIndex=0) const |
| MLint | getBypass (MLint outputIndex=0) const |
| THREAD_SUPPORT | getThreadSupport () const |
| bool | areRecursiveHandleNotificationsPermitted () const |
| MLint | getHandleNotificationEntryCounter () const |
| PERMITTED_TYPES | getVoxelDataTypeSupport () const |
| bool | isSupportedVoxelDataType (MLDataType dt) const |
| virtual INPUT_HANDLE | handleInput (int, INPUT_STATE) const |
| INPUT_STATE | getInputState (MLint index) |
| INPUT_STATE | getUpdatedInputState (MLint index) |
| bool | isInputImageField (Field *field) const |
| void | touchOutputImageFields () const |
| Touches all output image fields to indicate that the images have changed. | |
| virtual void | beginSaveFields () |
| virtual void | endSaveFields () |
| Public Member Functions inherited from ml::FieldContainer | |
| FieldContainer () | |
| Constructor. | |
| ~FieldContainer () override | |
| Destructor: Deletes all added fields. | |
| std::string | whoAmI (bool withInstanceName=true) const |
| Field * | addField (const char *name, const char *type, const char *value) |
| Field * | addField (Field *field) |
Adds a field, the ownership of the field is passed to the FieldContainer. | |
| BoolField * | addBool (const char *name) |
Creates a BoolField with name and adds it to the container. Default value is false. | |
| BoolField * | addBool (const char *name, bool value) |
Creates a BoolField with name and adds it to the container. | |
| IntField * | addInt (const char *name) |
Creates an IntField with name and adds it to the container. Default value is 0. | |
| IntField * | addInt (const char *name, MLint value) |
Creates an IntField with name and adds it to the container. | |
| EnumField * | addEnum (const char *name, const char *const *enumerationItemNames, MLint numEnumerationItems) |
| EnumField * | addEnum (const char *name, const std::vector< std::string > &enumerationItemNames) |
| template<typename EnumType> | |
| TypedEnumField< EnumType > * | addEnum (const char *name, const EnumValues< EnumType > &values, EnumType initialValue) |
| FloatField * | addFloat (const char *name) |
Creates a FloatField with name and adds it to the container. Default value is 0.f. | |
| FloatField * | addFloat (const char *name, float value) |
Creates a FloatField with name and adds it to the container. | |
| ProgressField * | addProgress (const char *name) |
Creates a float ProgressField with name and adds it to the container. Default value is 0.f. | |
| ProgressField * | addProgress (const char *name, float value) |
Creates a float ProgressField with name and adds it to the container. | |
| DoubleField * | addDouble (const char *name) |
Creates a DoubleField with name and adds it to the container. Default value is 0. | |
| DoubleField * | addDouble (const char *name, double value) |
Creates a DoubleField with name and adds it to the container. | |
| StringField * | addString (const char *name) |
Creates a StringField with name and adds it to the container. Default value is empty string. | |
| StringField * | addString (const char *name, const std::string &value) |
Creates a StringField with name and adds it to the container. | |
| NotifyField * | addNotify (const char *name) |
Creates a NotifyField field with name and adds it to the container. | |
| TriggerField * | addTrigger (const char *name) |
| BaseField * | addBase (const char *name) |
Creates a Base field with name and adds it to the container. Default value is NULL. | |
| BaseField * | addBase (const char *name, Base *value) |
Creates a Base field with name and adds it to the container. | |
| BaseField * | addBase (const char *name, const RefCountedBasePtr &value) |
Creates a Base field with name and adds it to the container. Sets the value from intrusive pointer. | |
| template<typename T> | |
| BaseField * | addBaseWithAllowedType (const char *name, T *value=nullptr) |
| As above, but also sets the allowed type of the field. | |
| template<typename T> | |
| BaseField * | addBaseWithAllowedType (const char *name, const ::boost::intrusive_ptr< T > &value) |
| As above, but also sets the allowed type of the field. | |
| template<typename T> | |
| TypedBaseField< T > * | addTypedBase (const char *name) |
Creates a TypedBaseField with name and adds it to the container. Default value is NULL. | |
| template<typename T> | |
| TypedBaseField< T > * | addTypedBase (const char *name, T *value) |
Creates a TypedBaseField with name and adds it to the container. | |
| template<typename T> | |
| TypedBaseField< T > * | addTypedBase (const char *name, const ::boost::intrusive_ptr< T > &value) |
Creates a TypedBaseField with name and adds it to the container. Sets the value from intrusive pointer. | |
| SoNodeField * | addSoNode (const char *name) |
Creates a SoNodeField with name and adds it to the container. Default value is NULL. | |
| SoNodeField * | addSoNode (const char *name, SoNode *value) |
Creates a SoNodeField with name and adds it to the container. | |
| PointerField * | addPointer (const char *name) |
Creates a PointerField with name and adds it to the container. | |
| Vector2Field * | addVector2 (const char *name) |
Creates a Vector2Field with name and adds it to the container. | |
| Vector2Field * | addVector2 (const char *name, const Vector2 &value) |
Creates a Vector2Field with name and adds it to the container. | |
| Vector2Field * | addVector2 (const char *name, double x, double y) |
Creates a Vector2Field with name and adds it to the container. | |
| Vector3Field * | addVector3 (const char *name) |
Creates a Vector3Field with name and adds it to the container. | |
| Vector3Field * | addVector3 (const char *name, const Vector3 &value) |
Creates a Vector3Field with name and adds it to the container. | |
| Vector3Field * | addVector3 (const char *name, double x, double y, double z) |
Creates a Vector3Field with name and adds it to the container. | |
| Vector4Field * | addVector4 (const char *name) |
Creates a Vector4Field with name and adds it to the container. | |
| Vector4Field * | addVector4 (const char *name, const Vector4 &value) |
Creates a Vector4Field with name and adds it to the container. | |
| Vector4Field * | addVector4 (const char *name, double x, double y, double z, double w) |
Creates a Vector4Field with name and adds it to the container. | |
| Vector5Field * | addVector5 (const char *name) |
Creates a Vector5Field with name and adds it to the container. | |
| Vector5Field * | addVector5 (const char *name, const Vector5 &value) |
Creates a Vector5Field with name and adds it to the container. | |
| Vector6Field * | addVector6 (const char *name) |
Creates a Vector6Field with name and adds it to the container. | |
| Vector6Field * | addVector6 (const char *name, const Vector6 &value) |
Creates a Vector6Field with name and adds it to the container. | |
| Vector10Field * | addVector10 (const char *name) |
Creates a Vector10Field with name and adds it to the container. | |
| Vector10Field * | addVector10 (const char *name, const Vector10 &value) |
Creates a Vector10Field with name and adds it to the container. | |
| ImageVectorField * | addImageVector (const char *name) |
Creates a ImageVectorField with name and adds it to the container. | |
| ImageVectorField * | addImageVector (const char *name, const ImageVector &value) |
Creates a ImageVectorField with name and adds it to the container. | |
| ImageVectorField * | addImageVector (const char *name, MLint x, MLint y, MLint z, MLint c, MLint t, MLint u) |
Creates a ImageVectorField with name and adds it to the container. | |
| SubImageBoxField * | addSubImageBox (const char *name) |
Creates a SubImageBoxField with name and adds it to the container. | |
| SubImageBoxField * | addSubImageBox (const char *name, const SubImageBox &value) |
Creates a SubImageBoxField with name and adds it to the container. | |
| SubImageBoxdField * | addSubImageBoxd (const char *name) |
Creates a SubImageBoxd field with name and adds it to the container. | |
| SubImageBoxdField * | addSubImageBoxd (const char *name, const SubImageBoxd &value) |
Creates a SubImageBoxd field with name and adds it to the container. | |
| ColorField * | addColor (const char *name) |
Creates a ColorField with name and adds it to the container. | |
| ColorField * | addColor (const char *name, float r, float g, float b) |
Creates a ColorField with name and adds it to the container. | |
| ColorField * | addColor (const char *name, const Vector3 &value) |
Creates a ColorField with name and adds it to the container. | |
| PlaneField * | addPlane (const char *name) |
Creates a PlaneField with name and adds it to the container. | |
| PlaneField * | addPlane (const char *name, double f0, double f1, double f2, double f3) |
Creates a PlaneField with name and adds it to the container. | |
| PlaneField * | addPlane (const char *name, const Plane &value) |
Creates a PlaneField with name and adds it to the container. | |
| RotationField * | addRotation (const char *name) |
Creates a RotationField with name and adds it to the container. | |
| RotationField * | addRotation (const char *name, const Rotation &value) |
Creates a RotationField with name and adds it to the container. | |
| Matrix2Field * | addMatrix2 (const char *name) |
Creates a Matrix2Field with name and adds it to the container. | |
| Matrix2Field * | addMatrix2 (const char *name, const Matrix2 &value) |
Creates a Matrix2Field with name and adds it to the container. | |
| Matrix3Field * | addMatrix3 (const char *name) |
Creates a Matrix3Field with name and adds it to the container. | |
| Matrix3Field * | addMatrix3 (const char *name, const Matrix3 &value) |
Creates a Matrix3Field with name and adds it to the container. | |
| Matrix4Field * | addMatrix4 (const char *name) |
Creates a Matrix4Field with name and adds it to the container. | |
| Matrix4Field * | addMatrix4 (const char *name, const Matrix4 &value) |
Creates a Matrix4Field with name and adds it to the container. | |
| Matrix5Field * | addMatrix5 (const char *name) |
Creates a Matrix5Field with name and adds it to the container. | |
| Matrix5Field * | addMatrix5 (const char *name, const Matrix5 &value) |
Creates a Matrix5Field with name and adds it to the container. | |
| Matrix6Field * | addMatrix6 (const char *name) |
Creates a Matrix6Field with name and adds it to the container. | |
| Matrix6Field * | addMatrix6 (const char *name, const Matrix6 &value) |
Creates a Matrix6Field with name and adds it to the container. | |
| MatrixField * | addMatrix (const char *name) |
Creates a MatrixField with name and adds it to the container. | |
| MatrixField * | addMatrix (const char *name, const Matrix4 &value) |
Creates a MatrixField with name and adds it to the container. | |
| MLDataTypeField * | addMLDataType (const char *name) |
Creates a MTDataTypeField with name and adds it to the container. | |
| MLDataTypeField * | addMLDataType (const char *name, MLDataType value) |
Creates a MTDataTypeField with name and adds it to the container. | |
| UniversalTypeField * | addUniversalType (const char *name) |
Creates an UniversalTypeField field with name and adds it to the container. | |
| IntListField * | addIntList (const char *name) |
Creates an IntListField field with name and empty list value and adds it to the container. | |
| IntListField * | addIntList (const char *name, const std::vector< MLint > &value) |
Creates an IntListField field with name and given list value and adds it to the container. | |
| DoubleListField * | addDoubleList (const char *name) |
Creates an DoubleListField field with name and empty list value and adds it to the container. | |
| DoubleListField * | addDoubleList (const char *name, const std::vector< double > &value) |
Creates an DoubleListField field with name and given list value and adds it to the container. | |
| Vector2ListField * | addVector2List (const char *name) |
Creates an Vector2ListField field with name and empty list value and adds it to the container. | |
| Vector2ListField * | addVector2List (const char *name, const std::vector< Vector2 > &value) |
Creates an Vector2ListField field with name and given list value and adds it to the container. | |
| Vector3ListField * | addVector3List (const char *name) |
Creates an Vector3ListField field with name and empty list value and adds it to the container. | |
| Vector3ListField * | addVector3List (const char *name, const std::vector< Vector3 > &value) |
Creates an Vector3ListField field with name and given list value and adds it to the container. | |
| Vector4ListField * | addVector4List (const char *name) |
Creates an Vector4ListField field with name and empty list value and adds it to the container. | |
| Vector4ListField * | addVector4List (const char *name, const std::vector< Vector4 > &value) |
Creates an Vector4ListField field with name and given list value and adds it to the container. | |
| size_t | getNumFields () const |
| Returns the number of added fields. | |
| bool | hasField (const std::string &name) const |
Returns true if the field with name name exists; otherwise, false is returned. | |
| Field * | getField (const std::string &name) const |
| Field * | getField (MLint index) const |
Returns pointer of field at index if it exists. If not, -1 is returned. | |
| MLint | getFieldIndex (Field *field) const |
Returns index of field if it exists. If not, -1 is returned. | |
| void | setFieldStringValue (const std::string &name, const std::string &value) |
| std::string | getFieldStringValue (const std::string &name) const |
| virtual void | deactivateAttachments () |
| Public Member Functions inherited from ml::Base | |
| Base () | |
| Constructor. | |
| virtual | ~Base () |
| Destructor. | |
| virtual Base * | deepCopy () const |
| bool | isOfAllowedType (const std::vector< const RuntimeType * > &types) const |
| virtual bool | isRefCountedBase () const |
| Returns whether the instance is derived from RefCountedBase. | |
| virtual std::string | detailString () const |
| virtual bool | implementsPersistence (PersistenceInterface) const |
| virtual std::string | persistentState () const |
| Returns a string describing the object's internal state. | |
| virtual void | setPersistentState (const std::string &state) |
| virtual void | addStateToTree (TreeNode *) const |
| Attaches the object state as children of the given parent node. | |
| virtual void | readStateFromTree (TreeNode *) |
| Reads the object state from the children of the given parent node. | |
| virtual void | writeTo (AbstractPersistenceOutputStream *) const |
| virtual void | readFrom (AbstractPersistenceInputStream *, int) |
Static Public Attributes | |
| static const char *const | CloseGapFilterNames [] |
| Strings names for CloseGap based filters. | |
| static const char *const | CloseGapKernelNames [] |
| String names for the mlCloseGapKernels enum. | |
Protected Member Functions | |
| void | handleNotification (Field *field) override |
| Called when a parameter field is changed. | |
| void | activateAttachments () override |
| CALC_ROW_H () | |
| template<typename DATATYPE> | |
| void | calcRow (MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, size_t numVox, DATATYPE *inCursor, DATATYPE *outCursor, const ImageVector &) |
| void | _userKernelPostUpdate () override |
| Protected Member Functions inherited from ml::KernelModule | |
| virtual void | _userKernelPreUpdate () |
| virtual void | _createKernelExtentFields (int numDim=6, const ImageVector &defaultExt=ImageVector(3, 3, 1, 1, 1, 1)) |
| virtual void | _validateKernelExtents () |
| virtual void | _createMakeSphericalField (bool defaultVal=false) |
| virtual void | _createNormalizeField (bool defaultVal=false) |
| virtual void | _createMinMaxCalcFields (bool defaultValue=false, bool createSetOutputMinMax=false) |
| virtual void | _createMinMaxFields (MLdouble minVal=0, MLdouble maxVal=0, bool defaultValue=false) |
| virtual void | _createExternalKernelFields (bool createUseToggle=false, bool defaultVal=false) |
| virtual void | _createKernelOutputField () |
| virtual void | _createImageIntervalFields (MLdouble min=0, MLdouble max=1024, bool createToggle=false, bool useIt=false) |
| virtual void | _createKernelIntervalFields (MLdouble min=0, MLdouble max=1024, bool createToggle=false, bool useIt=false) |
| virtual void | _createKernelInfoField () |
| virtual void | _createNumKernelElementsField () |
| virtual void | _createKernelElementsSumField () |
| virtual void | _updateKernel () |
| virtual void | _updateKernel (bool permitExtentChanges) |
| virtual void | _updateKernelOutputField () |
| virtual std::string | _composeKernelInfo (bool valid=true) const |
| void | _setImageInterval (MLdouble minVal=-DBL_MAX, MLdouble maxVal=DBL_MAX) |
| void | _setKernelInterval (MLdouble minVal=-DBL_MAX, MLdouble maxVal=DBL_MAX) |
| bool | _isInImageInterval (MLdouble v) const |
| bool | _isInKernelInterval (MLdouble v) const |
| void | handleNotification (Field *field) override |
| void | activateAttachments () override |
| void | calculateOutputImageProperties (int outputIndex, PagedImage *outputImage) override |
| void | calcOutSubImagePostProcessing (SubImage *outSubImg, int outIndex, SubImage *inSubImgs) override |
| Protected Member Functions inherited from ml::KernelBaseModule | |
| KernelBaseModule (int inputNum=1, int outputNum=1) | |
| virtual void | _setCorrectCorrelationMinMax (bool imageIntervalUsed=false, MLdouble intervalMin=0, MLdouble intervalMax=0, MLint inIdx=0, MLint outIdx=0) |
| virtual ImageVector | _getCalculatedReferenceInputExt () const |
| virtual void | _calcKernelPage (SubImage *outSubImg, int outIndex, SubImage *inSubImgs, int numInSubImgs, MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, size_t loopIdx, size_t iteration, const ImageVector &ov1, const ImageVector &ov2, const ImageVector &pOf, size_t numVox)=0 |
| number of voxels in row to be processed. | |
| SubImageBox | calculateInputSubImageBox (int inIndex, const SubImageBox &outSubImgBox, int outIndex) override |
| virtual void | calcInSubImagePreparation (int outIndex, SubImage *inSubImgs) |
| virtual SubImageBox | calculateAreaToBeCalculated (const SubImageBox &areaToBeCalculated, const SubImageBox &outSubImageBox) |
| virtual ImageVector | calculateOutInCoordShift (const ImageVector shift, const SubImageBox &outSubImageBox) |
| virtual SubImageBox | calculateValidDestArea (const SubImageBox &validDestArea, const SubImageBox &outSubImageBox) |
| virtual void | _connectToAllOutputs (Field *field) |
| Protected Member Functions inherited from ml::Module | |
| void | handleNotificationInternal (Field *field, FieldSensor::Strength strength) override |
| virtual void | provideCustomPage (int, const SubImageBox &, MLMemoryBlockHandle &) |
| void | handleNotificationOff () |
| void | handleNotificationOn () |
| bool | isHandleNotificationOn () |
Returns true if handleNotification calls are permitted; otherwise, it returns false. | |
| void | setOutputImageInplace (MLint outputIndex=0, MLint inputIndex=0) |
| void | unsetOutputImageInplace (MLint outputIndex=0) |
| void | setBypass (MLint outputIndex=0, MLint inputIndex=0) |
| void | setClampPagesToImageExtent (bool flag=true) |
| void | setThreadSupport (THREAD_SUPPORT supportMode) |
| void | permitRecursiveHandleNotifications (bool enable) |
| void | setVoxelDataTypeSupport (PERMITTED_TYPES permTypes) |
Additional Inherited Members | |
| Static Public Member Functions inherited from ml::Module | |
| static MLErrorCode | getTile (PagedImage *image, SubImageBox loc, MLDataType datatype, void **data, const ScaleShiftData &scaleShiftData=ScaleShiftData(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| static MLErrorCode | getTile (PagedImage *image, SubImage &subimg, const ScaleShiftData &scaleShiftData=ScaleShiftData(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| static MLErrorCode | updateImageProperties (PagedImage *image) |
| static void | freeTile (void *data) |
| For documentation see Host::freeTile(). | |
| static void | updateProgress (const char *info1, const char *info2) |
| For documentation see Host::updateProgress(). | |
| static bool | shouldTerminate () |
| For documentation see Host::shouldTerminate(). | |
| static Field * | getPressedNotifyField () |
| For documentation see Host::getPressedNotifyField(). | |
| static void | adaptPageExtent (ImageVector &pageExtent, MLDataType imageType, const ImageVector &newImgExtent, const ImageVector &oldImgExtent, const ImageVector &pageUnit=ImageVector(0), const ImageVector &minPageExtent=ImageVector(0), const ImageVector &maxPageExtent=ImageVector(0)) |
| static std::string | getVoxelValueAsString (PagedImage *image, const ImageVector &position, MLErrorCode *errorCode=nullptr, const std::string &errorResult="") |
| static size_t | getNumModules () |
| Returns the number of instantiated modules. | |
| static Module * | getModule (size_t index) |
Returns a pointer to instantiated module index. | |
| static MLint | findModuleIndex (Module &module) |
Returns the index of Module module. If not found, -1 is returned. | |
| static void | destroyModule () |
| Protected Types inherited from ml::Module | |
| enum | THREAD_SUPPORT { NO_THREAD_SUPPORT = PagedImage::NO_THREAD_SUPPORT , MULTITHREADED = PagedImage::MULTITHREADED , IO_THREAD = PagedImage::IO_THREAD } |
The class to apply CloseGap based kernel filters to images.
This class implements some filters to close gaps in images.
For related code and more information see mlKernelExample.h, mlKernel.h, mlKernelBaseModule.h, mlKernelModule.h, mlKernelEditor.h, mlRankFilter.h, mlExtConvolutionFilter.h, mlKernelMacros, mlKernelTools.h and mlConvolutionFilter.h.
Definition at line 36 of file mlCloseGapFilter.h.
The following morphology based filters are available to filter a line in an image:
ID : Applies typical border handling of kernel classes and copies image contentsCLOSEGAP : Closes gaps in binary images. Use only with the CLOSEGAP_KERNEL provided by this module. Using the sensitivity-parameter, it does the following:
If a 2D kernel dimension is chosen, 4 voxel pairs will be tested. The current voxel lies exactly between each voxel pair in order to avoid contour changes. The 2D situation looks like this:
In 3D there are 8 pairs, each corner of the kernel cube belonging to one. Two voxels with the same number are considered a pair. The logical value of a pair is the AND of the corresponding values in the original image. Ordinarily the sequential use of multiple filters with decreasing kernel size performs best, eventually in combination with ordinary dilation and erosion filters.
MAJORITY : Writes the gray value that occurs most often. All voxels that lie beneath a kernel element will be considered (unless a kernel interval is used). The actual values of the kernel elements specified are irrelevant.
This filter mode is useful for performing morphological operations on images that contain differently gray-value-coded object masks.
PAIR_MAJORITY : A combination of the CloseGap and Majority filter modes. We examine the pairs from the CloseGap filter, but only take into account those pairs (valid pairs) that consist of voxels with equal gray values. We count all valid pairs with the same gray value (while the center voxel counts as a pair itself) and write the value that occurs most often. This filter is supposed to preserve the original structure shapes more effectively than the ordinary majority filter. Just like the CloseGap filter mode, this one is restricted to the CloseGap kernel.CLOSEGAP_DILATION : The voxels covered by the kernel elements are ORed to determine whether the result voxel will be set or not.CLOSEGAP_EROSION : The voxels covered by the kernel elements are ANDed to determine whether the result voxel will be set or not.CONTOUR_POINT_FILTER : This filter deletes all voxels that have more than sensitivity % voxels of the same gray value in their neighborhood (the neighborhood is defined by the kernel). For example, to obtain the complete 2D-contours of a solid object, you could set the kernel type to full and specify the kernel extensions as 3x3x1 and set the sensitivity to 75. You can play with the sensitivity parameter to reduce or increase the number of remaining contour points.NUM_CLOSEGAP_FILTERS : Number of available CloseGapFilters. Do not use as filtering mode; it is only the number of available filters. | Enumerator | |
|---|---|
| ID | |
| CLOSEGAP | |
| MAJORITY | |
| PAIR_MAJORITY | |
| DILATION | |
| EROSION | |
| CONTOUR_POINT_FILTER | |
| NUM_CLOSEGAP_FILTERS | |
Definition at line 132 of file mlCloseGapFilter.h.
Selects the kernel that will be used for the current filter.
CLOSEGAP_KERNEL: See CloseGap filter option for information.FULL_KERNEL: The whole kernel mask will be filled with 1'sSTAR_KERNEL: A 2D/3D star will be used as kernel.BOX_KERNEL : The only kernel elements set (to 1) will be the center element and all boundary elements.NUM_CLOSEGAP_KERNELS : Number of available CloseGapFilters : Do not use as filtering mode; only the number of available filters. | Enumerator | |
|---|---|
| CLOSEGAP_KERNEL | |
| FULL_KERNEL | |
| STAR_KERNEL | |
| BOX_KERNEL | |
| NUM_CLOSEGAP_KERNELS | |
Definition at line 164 of file mlCloseGapFilter.h.
| ml::CloseGapFilter::CloseGapFilter | ( | ) |
Constructor. Initializes the fields, the members and the field connections with the field container.
Note that with the following method calls an additional field interface is created as described in KernelModule and KernelBaseModule:
_createKernelExtentFields (3);_createMakeSphericalField();_createImageIntervalFields (0,1024,true,false);_createKernelIntervalFields (0,1024,true,false);_createExternalKernelFields (true,false);_createKernelInfoField ();_createNumKernelElementsField ();Also available are the fields access methods from KernelBaseModule:
Referenced by _userKernelPostUpdate().
|
overrideprotectedvirtual |
Typical method to be overloaded by derived modules to apply kernel changes. This method is called by _updateKernel(permitExtentChanges) to supply a method where the application can change the kernel AFTER all automatic changes and BEFORE the output kernel fields, the _kernelInfoFld, the _numKernelElementsFld and the _kernelElementSumFld are updated. See _updateKernel(permitExtentChanges) for more Infos.
Reimplemented from ml::KernelModule.
References CloseGapFilter().
|
overrideprotectedvirtual |
Called when loading has finished. It's necessary to update the kernel then to the current state of the fields.
Reimplemented from ml::FieldContainer.
|
protected |
Macro which needs to be added to the implementation of a class derived from KernelModule or KernelBaseModule. It guarantees that the correct template functions are called for images with any data type. It also overloads calculateOutputSubImage() of the base class Module. Note that CALC_ROW_CPP() also needs to be added to the .cpp file.
|
protected |
In this template method the filtering of one row needs to be implemented. It will be called by the CALC_ROW_H() / CALC_ROW_CPP() macro.
|
inline |
Definition at line 203 of file mlCloseGapFilter.h.
|
inline |
Definition at line 205 of file mlCloseGapFilter.h.
|
inline |
Definition at line 204 of file mlCloseGapFilter.h.
|
overrideprotectedvirtual |
Called when a parameter field is changed.
Reimplemented from ml::Module.
|
static |
Strings names for CloseGap based filters.
Definition at line 145 of file mlCloseGapFilter.h.
|
static |
String names for the mlCloseGapKernels enum.
Definition at line 174 of file mlCloseGapFilter.h.