21#if !defined(__mlKernelModule_H)
22#define __mlKernelModule_H
379 bool createToggle=
false,
bool useIt=
false);
396 bool createToggle=
false,
bool useIt=
false);
816 bool _autoMinMaxValid;
822 bool _normImageInterval;
825 bool _normKernelInterval;
KernelBaseModule(int inputNum=1, int outputNum=1)
virtual void _createExternalKernelFields(bool createUseToggle=false, bool defaultVal=false)
void calcOutSubImagePostProcessing(SubImage *outSubImg, int outIndex, SubImage *inSubImgs) override
DoubleField * getOutputMinFld() const
StringField * getKernelOutputFld() const
virtual void _updateKernel()
BoolField * getUseKernelIntervalFld() const
void handleNotification(Field *field) override
DoubleField * getImageIntervalMinFld() const
DoubleField * getImageIntervalMaxFld() const
virtual void _createKernelElementsSumField()
BoolField * getNormalizeFld() const
IntField * getKernelUFld() const
U extent of kernel. The field name will be "kernelU". Field default is 1 if created.
virtual void _userKernelPostUpdate()
virtual void _createKernelInfoField()
virtual void _createKernelOutputField()
BoolField * getUseExternalKernelFld() const
IntField * getKernelZFld() const
Z extent of kernel. The field name will be "kernelZ". Field default is 1 if created.
NotifyField * getSetAutoMinMaxFld() const
void _setKernelInterval(MLdouble minVal=-DBL_MAX, MLdouble maxVal=DBL_MAX)
bool _isInImageInterval(MLdouble v) const
virtual void _createMinMaxFields(MLdouble minVal=0, MLdouble maxVal=0, bool defaultValue=false)
BoolField * getUseImageIntervalFld() const
virtual void _createNormalizeField(bool defaultVal=false)
KernelModule(int inputNum=1, int outputNum=1)
void _setImageInterval(MLdouble minVal=-DBL_MAX, MLdouble maxVal=DBL_MAX)
void calculateOutputImageProperties(int outputIndex, PagedImage *outputImage) override
BoolField * getAutoCalcMinMaxFld() const
StringField * getKernelInfoFld() const
DoubleField * getOutputMaxFld() const
virtual void _createMakeSphericalField(bool defaultVal=false)
virtual void _createNumKernelElementsField()
virtual void _validateKernelExtents()
IntField * getKernelYFld() const
Y extent of kernel. The field name will be "kernelY". Field default is 3 if created.
void activateAttachments() override
IntField * getKernelCFld() const
C extent of kernel. The field name will be "kernelC". Field default is 1 if created.
virtual void _createKernelExtentFields(int numDim=6, const ImageVector &defaultExt=ImageVector(3, 3, 1, 1, 1, 1))
DoubleField * getKernelElementsSumFld() const
DoubleField * getKernelIntervalMinFld() const
virtual void _createImageIntervalFields(MLdouble min=0, MLdouble max=1024, bool createToggle=false, bool useIt=false)
StringField * getExternalKernelFld() const
virtual void _updateKernel(bool permitExtentChanges)
DoubleField * getKernelIntervalMaxFld() const
IntField * getKernelXFld() const
X extent of kernel. The field name will be "kernelX". Field default is 3 if created.
BoolField * getUseMinMaxFld() const
virtual void _updateKernelOutputField()
virtual void _userKernelPreUpdate()
virtual std::string _composeKernelInfo(bool valid=true) const
IntField * getKernelTFld() const
T extent of kernel. The field name will be "kernelT". Field default is 1 if created.
IntField * getNumKernelElementsFld() const
BoolField * getMakeSphericalFld() const
virtual void _createKernelIntervalFields(MLdouble min=0, MLdouble max=1024, bool createToggle=false, bool useIt=false)
virtual void _createMinMaxCalcFields(bool defaultValue=false, bool createSetOutputMinMax=false)
bool _isInKernelInterval(MLdouble v) const
#define ML_ABSTRACT_MODULE_CLASS_HEADER(className)
TImageVector< MLint > ImageVector
Defines the standard ImageVector type that is used by the ML for indexing and coordinates.