|
| mitkClassMacro (AbstractGlobalImageFeature, BaseData) |
|
FeatureListType | CalculateFeatures (const Image *image, const Image *mask) |
| Calculates the feature of this abstract interface. Does not necessarily considers the parameter settings. More...
|
|
virtual FeatureListType | CalculateFeatures (const Image *image, const Image *mask, const Image *maskNoNAN)=0 |
|
FeatureListType | CalculateFeaturesSlicewise (const Image::Pointer &image, const Image::Pointer &mask, int sliceID) |
| Calculates the given feature Slice-wise. Might not be available for an individual filter! More...
|
|
virtual void | CalculateAndAppendFeaturesSliceWise (const Image::Pointer &image, const Image::Pointer &mask, int sliceID, FeatureListType &featureList, bool checkParameterActivation=true) |
| Calculates the feature of this abstract interface. Does not necessarily considers the parameter settings. More...
|
|
void | CalculateAndAppendFeatures (const Image *image, const Image *mask, const Image *maskNoNaN, FeatureListType &featureList, bool checkParameterActivation=true) |
| Calculates the feature of this abstract interface. Does not necessarily considers the parameter settings. More...
|
|
virtual void | SetPrefix (std::string _arg) |
|
virtual void | SetShortName (std::string _arg) |
|
virtual void | SetLongName (std::string _arg) |
|
virtual void | SetFeatureClassName (std::string _arg) |
|
virtual void | SetDirection (int _arg) |
|
void | SetParameters (ParametersType param) |
|
virtual std::string | GetPrefix () const |
|
virtual std::string | GetShortName () const |
|
virtual std::string | GetLongName () const |
|
virtual std::string | GetFeatureClassName () const |
|
virtual ParametersType | GetParameters () const |
|
virtual IntensityQuantifier::Pointer | GetQuantifier () |
|
virtual int | GetDirection () const |
|
virtual void | SetMinimumIntensity (double _arg) |
|
virtual void | SetUseMinimumIntensity (bool _arg) |
|
virtual void | SetMaximumIntensity (double _arg) |
|
virtual void | SetUseMaximumIntensity (bool _arg) |
|
virtual double | GetMinimumIntensity () const |
|
virtual bool | GetUseMinimumIntensity () const |
|
virtual double | GetMaximumIntensity () const |
|
virtual bool | GetUseMaximumIntensity () const |
|
virtual void | SetBinsize (double _arg) |
|
virtual void | SetUseBinsize (bool _arg) |
|
virtual double | GetBinsize () const |
|
virtual bool | GetUseBinsize () const |
|
virtual void | SetMorphMask (mitk::Image::Pointer _arg) |
|
virtual mitk::Image::Pointer | GetMorphMask () const |
|
virtual void | SetBins (int _arg) |
|
virtual void | SetUseBins (bool _arg) |
|
virtual bool | GetUseBins () const |
|
virtual int | GetBins () const |
|
virtual void | SetIgnoreMask (bool _arg) |
|
virtual bool | GetIgnoreMask () const |
|
virtual void | SetEncodeParametersInFeaturePrefix (bool _arg) |
|
virtual bool | GetEncodeParametersInFeaturePrefix () const |
|
virtual void | EncodeParametersInFeaturePrefixOn () |
|
virtual void | EncodeParametersInFeaturePrefixOff () |
|
std::string | GetOptionPrefix () const |
|
virtual void | AddArguments (mitkCommandLineParser &parser) const =0 |
|
void | SetRequestedRegionToLargestPossibleRegion () override |
| Set the RequestedRegion to the LargestPossibleRegion. More...
|
|
bool | RequestedRegionIsOutsideOfTheBufferedRegion () override |
| Determine whether the RequestedRegion is outside of the BufferedRegion. More...
|
|
bool | VerifyRequestedRegion () override |
| Verify that the RequestedRegion is within the LargestPossibleRegion. More...
|
|
void | SetRequestedRegion (const itk::DataObject *) override |
| Set the requested region from this data object to match the requested region of the data object passed in as a parameter. More...
|
|
bool | IsEmpty () const override |
| Check whether object contains data (at least at one point in time), e.g., a set of points may be empty. More...
|
|
virtual std::vector< std::string > | GetClassHierarchy () const |
|
virtual const char * | GetClassName () const |
|
BaseProperty::ConstPointer | GetConstProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) const override |
| Get property by its key. More...
|
|
std::vector< std::string > | GetPropertyKeys (const std::string &contextName="", bool includeDefaultContext=false) const override |
| Query keys of existing properties. More...
|
|
std::vector< std::string > | GetPropertyContextNames () const override |
| Query names of existing contexts. More...
|
|
BaseProperty * | GetNonConstProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) override |
| Get property by its key. More...
|
|
void | SetProperty (const std::string &propertyKey, BaseProperty *property, const std::string &contextName="", bool fallBackOnDefaultContext=false) override |
| Add new or change existent property. More...
|
|
void | RemoveProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=false) override |
| Removes a property. If the property does not exist, nothing will be done. More...
|
|
const mitk::TimeGeometry * | GetTimeGeometry () const |
| Return the TimeGeometry of the data as const pointer. More...
|
|
mitk::TimeGeometry * | GetTimeGeometry () |
| Return the TimeGeometry of the data as pointer. More...
|
|
const mitk::TimeGeometry * | GetUpdatedTimeGeometry () |
| Return the TimeGeometry of the data. More...
|
|
virtual void | Expand (unsigned int timeSteps) |
| Expands the TimeGeometry to a number of TimeSteps. More...
|
|
const mitk::BaseGeometry * | GetUpdatedGeometry (int t=0) |
| Return the BaseGeometry of the data at time t. More...
|
|
mitk::BaseGeometry * | GetGeometry (int t=0) const |
| Return the geometry, which is a TimeGeometry, of the data as non-const pointer. More...
|
|
void | UpdateOutputInformation () override |
| Update the information for this BaseData (the geometry in particular) so that it can be used as an output of a BaseProcess. More...
|
|
void | CopyInformation (const itk::DataObject *data) override |
| Copy information from the specified data set. More...
|
|
virtual bool | IsInitialized () const |
| Check whether the data has been initialized, i.e., at least the Geometry and other header data has been set. More...
|
|
virtual void | Clear () |
| Calls ClearData() and InitializeEmpty();. More...
|
|
virtual bool | IsEmptyTimeStep (unsigned int t) const |
| Check whether object contains data (at a specified time), e.g., a set of points may be empty. More...
|
|
void | ExecuteOperation (Operation *operation) override |
| overwrite if the Data can be called by an Interactor (StateMachine). More...
|
|
virtual void | SetGeometry (BaseGeometry *aGeometry3D) |
| Set the BaseGeometry of the data, which will be referenced (not copied!). Assumes the data object has only 1 time step ( is a 3D object ) and creates a new TimeGeometry which saves the given BaseGeometry. If an TimeGeometry has already been set for the object, it will be replaced after calling this function. More...
|
|
virtual void | SetTimeGeometry (TimeGeometry *geometry) |
| Set the TimeGeometry of the data, which will be referenced (not copied!). More...
|
|
virtual void | SetClonedGeometry (const BaseGeometry *aGeometry3D) |
| Set a clone of the provided Geometry as Geometry of the data. Assumes the data object has only 1 time step ( is a 3D object ) and creates a new TimeGeometry. If an TimeGeometry has already been set for the object, it will be replaced after calling this function. More...
|
|
virtual void | SetClonedTimeGeometry (const TimeGeometry *geometry) |
| Set a clone of the provided TimeGeometry as TimeGeometry of the data. More...
|
|
virtual void | SetClonedGeometry (const BaseGeometry *aGeometry3D, unsigned int time) |
| Set a clone of the provided geometry as BaseGeometry of a given time step. More...
|
|
mitk::PropertyList::Pointer | GetPropertyList () const |
| Get the data's property list. More...
|
|
void | SetPropertyList (PropertyList *propertyList) |
| Set the data's property list. More...
|
|
mitk::BaseProperty::Pointer | GetProperty (const char *propertyKey) const |
| Get the property (instance of BaseProperty) with key propertyKey from the PropertyList, and set it to this, respectively;. More...
|
|
void | SetProperty (const char *propertyKey, BaseProperty *property) |
|
virtual void | SetOrigin (const Point3D &origin) |
| Convenience method for setting the origin of the BaseGeometry instances of all time steps. More...
|
|
itk::SmartPointer< mitk::BaseDataSource > | GetSource () const |
| Get the process object that generated this data object. More...
|
|
unsigned int | GetTimeSteps () const |
| Get the number of time steps from the TimeGeometry As the base data has not a data vector given by itself, the number of time steps is defined over the time sliced geometry. In sub classes, a better implementation could be over the length of the data vector. More...
|
|
itk::ModifiedTimeType | GetMTime () const override |
| Get the modified time of the last change of the contents this data object or its geometry. More...
|
|
void | Graft (const DataObject *) override |
|
| itkTypeMacroNoParent (OperationActor) virtual ~OperationActor() |
|
| Identifiable () |
|
| Identifiable (const UIDType &uid) |
|
| Identifiable (const Identifiable &)=delete |
|
| Identifiable (Identifiable &&) noexcept |
|
virtual | ~Identifiable () |
|
Identifiable & | operator= (const Identifiable &)=delete |
|
Identifiable & | operator= (Identifiable &&other) noexcept |
|
virtual UIDType | GetUID () const |
| Get unique ID of an object. More...
|
|
| ~IPropertyOwner () override |
|
virtual | ~IPropertyProvider () |
|
Histogram Configuration
Most Feature Generation Classes that use histograms use the same parameters and initialization logic. In general, all information can be passed either by the corresponding Setter (which does not differentiate between global setting and feature specific setting) and a parameter object which can be obtained from the command line arguments, for example.
If the image values are used for the initialization of the histogram, it can be defined whether the whole image is used or only the masked areas to find minima and maxima. This is done by the option SetIgnoreMask or the corresponding options -NAME::ignore-mask-for-histogram and -ignore-mask-for-histogram. If these are true, the whole image is used for the calculation.
Depending on the passed arguments, different initialization methods are used. The initialization is in the following order:
- If Minimum Intensity, Maximum Intensity, and Binsize: The histogram is initialized between the minimum and maximum intensity. the number of bins is determined by the binsize. If the distance between minimum and maximum is not a multiple of the binsize, the maximum is increase so that it is.
- Minimum Intensity, Bins, and Binsize: The histogram is initialized with the given binsize, and the intensity range from the minimum to \(maximum = minimum + binsize*bins\).
- Minimum Intensity, Maximum Intensity, and Bins: The histogram is initialized between the given minimum and maximum intensity. The binsize is calculated so that the number of bins is equal to the given number of bins.
- Binsize, and Minimum Intensity: The maximum is set to the maximum that occur in the given image. Depending if the mask is considered or not, either only masked voxels or the whole image is used for the calculation. The initialization is then equal as if the minimum and maximum would have been given right from the beginning.
- Binsize, and Maximum Intensity: The minimum intensity is set to the minimum that occur in the given image. Depending if the mask is considered or not, either only masked voxels or the whole image is used for the calculation. The initialization is then equal as if the minimum and maximum would have been given right from the beginning.
- Binsize: The maximum and the minimum intensity is set to the minimum and maximum that occur in the given image. Depending if the mask is considered or not, either only masked voxels or the whole image is used for the calculation. The initialization is then equal as if the minimum and maximum would have been given right from the beginning.
- Bins, and Minimum Intensity: The maximum is calculated from the image. Depending if the mask is considered or not, either only masked voxels or the whole image is used for the calculation. The histogram is then initialized as if these values would have been given as minimum and maximum intensity.
- Bins, and Maximum Intensity: The minimum is calculated from the image. Depending if the mask is considered or not, either only masked voxels or the whole image is used for the calculation. The histogram is then initialized as if these values would have been given as minimum and maximum intensity.
- Bins: The minimum and the maximum is calculated from the image. Depending if the mask is considered or not, either only masked voxels or * the whole image is used for the calculation. The histogram is then initialized as if these values would have been given as minimum and maximum intensity.
- No Parameter given:The minimum and maximum intensity from the whole image or masked image is calculated and the histogram then initialized to this with a standard number of bins (Is set by each filter on its own.)
Remark about command line parameter
There are generally two options to set a parameter via the command line. A global one that works for all filters that use histograms and a local one that set this parameter specific for this filter. The local parameters start with the filter name (Indicated by NAME) followed by two colons, for example vol::min to set the minimum intensity for the volume filter. The global parameter is overwritten by the local parameter, if it is specified. Otherwise, it is still valid. If this prevents the specification of an histogram initialization method (for example, because the binsize is globally specified but the histogram should be initialized using a fixed number of bins), the parameter NAME::ignore-global-histogram can be passed. Then, all global histogram parameters are ignored and only local ones are used.
The maximum intensity can be set by different command line parameters: global for all filters that use histograms by -minimum-intensity and -minimum. Alternative it can be set only for this filter by -NAME::minimum and -NAME::min.
The minimum intensity can be set by different command line parameters: global for all filters that use histograms by -maximum-intensity and -maximum. Alternative it can be set only for this filter by -NAME::maximum and -NAME::max.
The binsize can be set by different command line parameters: global for all filters that use histograms by -binsize. Alternative it can be set only for this filter by -NAME::binsize.
The number of bins can be set by different command line parameters: global for all filters that use histograms by -bins. Alternative it can be set only for this filter by -NAME::bins.
Note to the developers
All features are supposed to work the same way if a histogram is used somewhere in the code. For this, each derived class that makes use of a histogram should use the Quantifier object. In order to use this object correctly, the AddArguments-Function should contain the line AddQuantifierArguments(parser);, the CalculateFeaturesUsingParameters function should contain the line InitializeQuantifierFromParameters(feature, mask); and the CalculateFeatures function should contain the line InitializeQuantifier(image, mask);. These function calls ensure that the necessary options are given to the configuration file, and that the initialization of the quantifier is done correctly. This ensures a consistent behavior over all FeatureGeneration Classes.
Definition at line 151 of file mitkAbstractGlobalImageFeature.h.