|
| | 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) |
| | Set the prefix prepended to command line option names. More...
|
| |
| virtual void | SetShortName (std::string _arg) |
| | Set the short name used in option keys and feature names. More...
|
| |
| virtual void | SetLongName (std::string _arg) |
| | Set the long (human-readable) name of this feature class. More...
|
| |
| virtual void | SetFeatureClassName (std::string _arg) |
| | Set the feature class name used in FeatureID. More...
|
| |
| virtual void | SetDirection (int _arg) |
| | Set the direction index for directional feature computation. More...
|
| |
| void | SetParameters (ParametersType param) |
| | Set the parameter map and reconfigure the instance accordingly. More...
|
| |
| virtual std::string | GetPrefix () const |
| | Get the command line option prefix. More...
|
| |
| virtual std::string | GetShortName () const |
| | Get the short name of this feature class. More...
|
| |
| virtual std::string | GetLongName () const |
| | Get the long name of this feature class. More...
|
| |
| virtual std::string | GetFeatureClassName () const |
| | Get the feature class name. More...
|
| |
| virtual ParametersType | GetParameters () const |
| | Get the current parameter map. More...
|
| |
| virtual IntensityQuantifier::Pointer | GetQuantifier () |
| | Get the IntensityQuantifier used for histogram-based feature computation. More...
|
| |
| virtual int | GetDirection () const |
| | Get the direction index. More...
|
| |
| virtual void | SetMinimumIntensity (double _arg) |
| | Set the minimum intensity for histogram initialization. More...
|
| |
| virtual void | SetUseMinimumIntensity (bool _arg) |
| | Set whether to use the explicit minimum intensity. More...
|
| |
| virtual void | SetMaximumIntensity (double _arg) |
| | Set the maximum intensity for histogram initialization. More...
|
| |
| virtual void | SetUseMaximumIntensity (bool _arg) |
| | Set whether to use the explicit maximum intensity. More...
|
| |
| virtual double | GetMinimumIntensity () const |
| | Get the minimum intensity for histogram initialization. More...
|
| |
| virtual bool | GetUseMinimumIntensity () const |
| | Get whether the explicit minimum intensity is used. More...
|
| |
| virtual double | GetMaximumIntensity () const |
| | Get the maximum intensity for histogram initialization. More...
|
| |
| virtual bool | GetUseMaximumIntensity () const |
| | Get whether the explicit maximum intensity is used. More...
|
| |
| virtual void | SetBinsize (double _arg) |
| | Set the histogram bin size. More...
|
| |
| virtual void | SetUseBinsize (bool _arg) |
| | Set whether to use the explicit bin size for histogram initialization. More...
|
| |
| virtual double | GetBinsize () const |
| | Get the histogram bin size. More...
|
| |
| virtual bool | GetUseBinsize () const |
| | Get whether the explicit bin size is used. More...
|
| |
| virtual void | SetMorphMask (mitk::Image::Pointer _arg) |
| | Set the morphological mask image used by some feature classes. More...
|
| |
| virtual mitk::Image::Pointer | GetMorphMask () const |
| | Get the morphological mask image. More...
|
| |
| virtual void | SetBins (int _arg) |
| | Set the number of histogram bins. More...
|
| |
| virtual void | SetUseBins (bool _arg) |
| | Set whether to use the explicit bin count for histogram initialization. More...
|
| |
| virtual bool | GetUseBins () const |
| | Get whether the explicit bin count is used. More...
|
| |
| virtual int | GetBins () const |
| | Get the number of histogram bins. More...
|
| |
| virtual void | SetIgnoreMask (bool _arg) |
| | Set whether to ignore the mask when computing histogram ranges. More...
|
| |
| virtual bool | GetIgnoreMask () const |
| | Get whether the mask is ignored for histogram range computation. More...
|
| |
| virtual void | SetEncodeParametersInFeaturePrefix (bool _arg) |
| | Set whether to encode parameter values in the feature name prefix. More...
|
| |
| virtual bool | GetEncodeParametersInFeaturePrefix () const |
| | Get whether parameter values are encoded in the feature name prefix. More...
|
| |
| virtual void | EncodeParametersInFeaturePrefixOn () |
| | Toggle encoding of parameter values in the feature name prefix. More...
|
| |
| virtual void | EncodeParametersInFeaturePrefixOff () |
| |
| std::string | GetOptionPrefix () const |
| | Build the full option prefix string for command line parameters. More...
|
| |
| 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 the object contains data at any time step. More...
|
| |
| | mitkClassMacroItkParent (BaseData, itk::DataObject) |
| |
| BaseProperty::ConstPointer | GetConstProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) const override |
| | Get a const property by its key. More...
|
| |
| std::vector< std::string > | GetPropertyKeys (const std::string &contextName="", bool includeDefaultContext=false) const override |
| | Get all property keys stored in the property list. More...
|
| |
| std::vector< std::string > | GetPropertyContextNames () const override |
| | Get the names of all property contexts. More...
|
| |
| BaseProperty * | GetNonConstProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) override |
| | Get a non-const property by its key. More...
|
| |
| void | SetProperty (const std::string &propertyKey, BaseProperty *property, const std::string &contextName="", bool fallBackOnDefaultContext=false) override |
| | Set a property in the property list. More...
|
| |
| void | RemoveProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=false) override |
| | Remove a property from the property list. 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 non-const pointer. More...
|
| |
| const mitk::TimeGeometry * | GetUpdatedTimeGeometry () |
| | Return the TimeGeometry of the data after ensuring it is up-to-date. More...
|
| |
| virtual void | Expand (unsigned int timeSteps) |
| | Expand the TimeGeometry to a number of time steps. More...
|
| |
| const mitk::BaseGeometry * | GetUpdatedGeometry (int t=0) |
| | Return the BaseGeometry of the data at time step t after ensuring it is up-to-date. More...
|
| |
| mitk::BaseGeometry * | GetGeometry (int t=0) const |
| | Return the BaseGeometry of the data at time step t as a non-const pointer. More...
|
| |
| void | UpdateOutputInformation () override |
| | Update the information for this BaseData 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. More...
|
| |
| virtual void | Clear () |
| | Reset the data object by calling ClearData() and InitializeEmpty(). More...
|
| |
| virtual bool | IsEmptyTimeStep (unsigned int t) const |
| | Check whether the object contains data at the specified time step. More...
|
| |
| void | ExecuteOperation (Operation *operation) override |
| | Execute an operation on this data object. More...
|
| |
| virtual void | SetGeometry (BaseGeometry *aGeometry3D) |
| | Set the BaseGeometry of the data, which will be referenced (not copied!). 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 the BaseGeometry of the data. More...
|
| |
| virtual void | SetClonedTimeGeometry (const TimeGeometry *geometry) |
| | Set a clone of the provided TimeGeometry as the TimeGeometry of the data. More...
|
| |
| virtual void | SetClonedGeometry (const BaseGeometry *aGeometry3D, unsigned int time) |
| | Set a clone of the provided geometry as the 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, replacing the existing one. More...
|
| |
| mitk::BaseProperty::Pointer | GetProperty (const char *propertyKey) const |
| | Get a property by its key from the PropertyList. More...
|
| |
| void | SetProperty (const char *propertyKey, BaseProperty *property) |
| | Set a property in the PropertyList. More...
|
| |
| 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. More...
|
| |
| itk::ModifiedTimeType | GetMTime () const override |
| | Get the modification time of this data object or its geometry, whichever was modified most recently. More...
|
| |
| void | Graft (const DataObject *) override |
| | Graft data and information from another data object. More...
|
| |
| | itkTypeMacroNoParent (OperationActor) virtual ~OperationActor() |
| |
| | Identifiable () |
| | Default constructor. Generates a new random UID. More...
|
| |
| | Identifiable (const UIDType &uid) |
| | Construct with a pre-existing UID. More...
|
| |
| | Identifiable (const Identifiable &)=delete |
| | Copy construction is deleted to prevent UID duplication. More...
|
| |
| | Identifiable (Identifiable &&) noexcept |
| | Move constructor. Transfers ownership of the UID. More...
|
| |
| virtual | ~Identifiable () |
| | Virtual destructor. More...
|
| |
| Identifiable & | operator= (const Identifiable &)=delete |
| | Copy assignment is deleted to prevent UID duplication. More...
|
| |
| Identifiable & | operator= (Identifiable &&other) noexcept |
| | Move assignment operator. Transfers ownership of the UID. More...
|
| |
| virtual UIDType | GetUID () const |
| | Get the unique identifier of this object. More...
|
| |
| UIDType | GetRuntimeUID () const noexcept |
| | Get a runtime-unique ID for this object instance. More...
|
| |
| | ~IPropertyOwner () override |
| |
| virtual bool | PropertyIsOwned (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) const |
| | Checks if a certain property exists. More...
|
| |
| virtual | ~IPropertyProvider () |
| | Virtual destructor. More...
|
| |
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 169 of file mitkAbstractGlobalImageFeature.h.