|
Medical Imaging Interaction Toolkit
2026.06.00
Medical Imaging Interaction Toolkit
|
Super class of data objects consisting of slices. More...
#include <mitkSlicedData.h>


Public Types | |
| typedef itk::ImageRegion< RegionDimension > | RegionType |
| typedef itk::Index< RegionDimension > | IndexType |
| typedef IndexType::IndexValueType | IndexValueType |
| typedef itk::Offset< RegionDimension > | OffsetType |
| typedef OffsetType::OffsetValueType | OffsetValueType |
| typedef itk::Size< RegionDimension > | SizeType |
| typedef SizeType::SizeValueType | SizeValueType |
Public Types inherited from mitk::Identifiable | |
| using | UIDType = std::string |
| Type alias for unique identifiers. More... | |
Public Member Functions | |
| mitkClassMacro (SlicedData, BaseData) | |
| itkStaticConstMacro (RegionDimension, unsigned int, 5) | |
| void | UpdateOutputInformation () override |
| Update the information for this DataObject so it can be used as an output of a ProcessObject. More... | |
| void | PrepareForNewData () override |
| Prepare the data object to receive new data. More... | |
| 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 *data) override |
| Set the requested region from another data object. More... | |
| virtual void | SetRequestedRegion (SlicedData::RegionType *region) |
| Set the requested region from a RegionType pointer. More... | |
| void | SetLargestPossibleRegion (SlicedData::RegionType *region) |
| Set the largest possible region. More... | |
| const RegionType & | GetLargestPossibleRegion () const |
| Get the largest possible region. More... | |
| virtual const RegionType & | GetRequestedRegion () const |
| Get the region object that defines the size and starting index for the requested region (i.e., the part of the data to be operated on). More... | |
| virtual bool | IsSliceSet (int s=0, int t=0, int n=0) const =0 |
| Check whether slice s at time t in channel n is set. More... | |
| virtual bool | IsVolumeSet (int t=0, int n=0) const =0 |
| Check whether volume at time t in channel n is set. More... | |
| virtual bool | IsChannelSet (int n=0) const =0 |
| Check whether channel n is set. More... | |
| void | CopyInformation (const itk::DataObject *data) override |
| Copy information from the specified data set. More... | |
| unsigned int | GetNumberOfChannels () const |
| Get the number of channels. More... | |
| SlicedGeometry3D * | GetSlicedGeometry (unsigned int t=0) const |
| Convenience access method for the geometry, which is of type SlicedGeometry3D (or a sub-class of it). More... | |
| const SlicedGeometry3D * | GetUpdatedSlicedGeometry (unsigned int t=0) |
| Convenience access method that returns an up-to-date SlicedGeometry3D. More... | |
| void | SetGeometry (BaseGeometry *aGeometry3D) override |
| Set the BaseGeometry of the data, which will be referenced (not copied!). More... | |
| void | SetOrigin (const Point3D &origin) override |
| Convenience method for setting the origin of the SlicedGeometry3D instances of all time steps. More... | |
| virtual void | SetSpacing (const ScalarType aSpacing[]) |
| Convenience method for setting the spacing of the SlicedGeometry3D instances of all time steps. More... | |
| virtual void | SetSpacing (mitk::Vector3D aSpacing) |
| Convenience method for setting the spacing of the SlicedGeometry3D instances of all time steps. More... | |
Public Member Functions inherited from mitk::BaseData | |
| 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... | |
| virtual bool | IsEmpty () const |
| Check whether the object contains data at any time step. More... | |
| void | ExecuteOperation (Operation *operation) override |
| Execute an operation on this data object. 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... | |
| 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... | |
Public Member Functions inherited from mitk::OperationActor | |
| itkTypeMacroNoParent (OperationActor) virtual ~OperationActor() | |
Public Member Functions inherited from mitk::Identifiable | |
| 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... | |
Public Member Functions inherited from mitk::IPropertyOwner | |
| ~IPropertyOwner () override | |
| virtual bool | PropertyIsOwned (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) const |
| Checks if a certain property exists. More... | |
Public Member Functions inherited from mitk::IPropertyProvider | |
| virtual | ~IPropertyProvider () |
| Virtual destructor. More... | |
Protected Member Functions | |
| SlicedData () | |
| SlicedData (const SlicedData &other) | |
| ~SlicedData () override | |
Protected Member Functions inherited from mitk::BaseData | |
| BaseData () | |
| BaseData (const BaseData &other) | |
| ~BaseData () override | |
| virtual void | InitializeTimeGeometry (unsigned int timeSteps=1) |
| Initialize the TimeGeometry for a number of time steps. The TimeGeometry is initialized empty and evenly timed. In many cases it will be necessary to overwrite this in sub-classes. More... | |
| virtual void | ClearData () |
| reset to non-initialized state, release memory More... | |
| virtual void | InitializeEmpty () |
| Pure virtual; Must be used in subclasses to get a data object to a valid state. Should at least create one empty object and call Superclass::InitializeTimeGeometry() to ensure an existing valid geometry. More... | |
| void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
Protected Member Functions inherited from mitk::Identifiable | |
| virtual void | SetUID (const UIDType &uid) |
Protected Attributes | |
| RegionType | m_LargestPossibleRegion |
| RegionType | m_RequestedRegion |
| bool | m_RequestedRegionInitialized |
| RegionType | m_BufferedRegion |
| bool | m_UseLargestPossibleRegion |
Protected Attributes inherited from mitk::BaseData | |
| bool | m_LastRequestedRegionWasOutsideOfTheBufferedRegion |
| unsigned int | m_SourceOutputIndexDuplicate |
| bool | m_Initialized |
Super class of data objects consisting of slices.
SlicedData is the common base class for data objects that consist of slices, such as images (mitk::Image) or stacks of contours. GetGeometry() returns a BaseGeometry containing PlaneGeometry objects, and the data geometry is of type SlicedGeometry3D or a sub-class thereof.
SlicedData extends BaseData with region-based pipeline support using itk::ImageRegion<5>, where the five dimensions represent x, y, slices (z), time steps, and channels.
Definition at line 44 of file mitkSlicedData.h.
| typedef itk::Index<RegionDimension> mitk::SlicedData::IndexType |
Index typedef support. An index is used to access pixel values.
Definition at line 55 of file mitkSlicedData.h.
| typedef IndexType::IndexValueType mitk::SlicedData::IndexValueType |
Definition at line 56 of file mitkSlicedData.h.
| typedef itk::Offset<RegionDimension> mitk::SlicedData::OffsetType |
Offset typedef support. An offset represent relative position between indices.
Definition at line 60 of file mitkSlicedData.h.
| typedef OffsetType::OffsetValueType mitk::SlicedData::OffsetValueType |
Definition at line 61 of file mitkSlicedData.h.
| typedef itk::ImageRegion<RegionDimension> mitk::SlicedData::RegionType |
Region typedef support. A region is used to specify a subset of a SlicedData.
Definition at line 52 of file mitkSlicedData.h.
| typedef itk::Size<RegionDimension> mitk::SlicedData::SizeType |
Size typedef support. A size is used to define region bounds.
Definition at line 64 of file mitkSlicedData.h.
| typedef SizeType::SizeValueType mitk::SlicedData::SizeValueType |
Definition at line 65 of file mitkSlicedData.h.
|
protected |
|
protected |
|
overrideprotected |
|
override |
Copy information from the specified data set.
Copies the TimeGeometry, PropertyList, and LargestPossibleRegion from the given data object. Calls the superclass version.
| [in] | data | The data object to copy from. Must be castable to SlicedData. |
| itk::ExceptionObject | if data cannot be cast to SlicedData. |
|
inline |
Get the largest possible region.
Definition at line 149 of file mitkSlicedData.h.
|
inline |
Get the number of channels.
The number of channels is derived from the fifth dimension of the LargestPossibleRegion.
Definition at line 205 of file mitkSlicedData.h.
|
inlinevirtual |
Get the region object that defines the size and starting index for the requested region (i.e., the part of the data to be operated on).
Definition at line 157 of file mitkSlicedData.h.
| SlicedGeometry3D* mitk::SlicedData::GetSlicedGeometry | ( | unsigned int | t = 0 | ) | const |
Convenience access method for the geometry, which is of type SlicedGeometry3D (or a sub-class of it).
| [in] | t | The time step for which to retrieve the geometry (default: 0). |
| const SlicedGeometry3D* mitk::SlicedData::GetUpdatedSlicedGeometry | ( | unsigned int | t = 0 | ) |
Convenience access method that returns an up-to-date SlicedGeometry3D.
Before returning, this method ensures the geometry is up-to-date by calling SetRequestedRegionToLargestPossibleRegion() and UpdateOutputInformation().
| [in] | t | The time step for which to retrieve the geometry (default: 0). |
|
pure virtual |
Check whether channel n is set.
| [in] | n | Channel number (default: 0). |
Implemented in mitk::MultiLabelSegmentation, and mitk::Image.
|
pure virtual |
Check whether slice s at time t in channel n is set.
| [in] | s | Slice index (default: 0). |
| [in] | t | Time step (default: 0). |
| [in] | n | Channel number (default: 0). |
Implemented in mitk::MultiLabelSegmentation, and mitk::Image.
|
pure virtual |
Check whether volume at time t in channel n is set.
| [in] | t | Time step (default: 0). |
| [in] | n | Channel number (default: 0). |
Implemented in mitk::MultiLabelSegmentation, and mitk::Image.
| mitk::SlicedData::itkStaticConstMacro | ( | RegionDimension | , |
| unsigned int | , | ||
| 5 | |||
| ) |
| mitk::SlicedData::mitkClassMacro | ( | SlicedData | , |
| BaseData | |||
| ) |
|
override |
Prepare the data object to receive new data.
Releases existing data if the pipeline time has changed, ensuring a clean state for subsequent writes.
|
overridevirtual |
Determine whether the RequestedRegion is outside of the BufferedRegion.
Returns true if at least one requested slice, volume, or channel is not currently buffered. Used by the pipeline mechanism to determine whether re-execution is needed.
Implements mitk::BaseData.
|
overridevirtual |
Set the BaseGeometry of the data, which will be referenced (not copied!).
The geometry must be a SlicedGeometry3D or a PlaneGeometry that can be wrapped in a SlicedGeometry3D. If a PlaneGeometry is provided, it will be used to initialize an evenly spaced SlicedGeometry3D.
| [in] | aGeometry3D | The geometry to set. May be nullptr to clear the geometry. |
Reimplemented from mitk::BaseData.
| void mitk::SlicedData::SetLargestPossibleRegion | ( | SlicedData::RegionType * | region | ) |
Set the largest possible region.
The largest possible region is the entire region occupied by the data object. The largest possible region should always be bigger than or equal to the requested region of any operation.
| [in] | region | Pointer to the region to set. Must not be nullptr. |
| itk::ExceptionObject | if region is nullptr. |
|
overridevirtual |
Convenience method for setting the origin of the SlicedGeometry3D instances of all time steps.
In case the SlicedGeometry3D is evenly spaced, the origin of the first slice is set to origin and the sliced geometry is re-initialized.
| [in] | origin | The new origin in world coordinates. |
Reimplemented from mitk::BaseData.
|
overridevirtual |
Set the requested region from another data object.
| [in] | data | The data object whose requested region will be matched. Must be castable to SlicedData. |
| itk::ExceptionObject | if data cannot be cast to SlicedData. |
Implements mitk::BaseData.
|
virtual |
Set the requested region from a RegionType pointer.
| [in] | region | Pointer to the region to use. Must not be nullptr. |
| itk::ExceptionObject | if region is nullptr. |
|
overridevirtual |
Set the RequestedRegion to the LargestPossibleRegion.
Forces a filter to produce all of the output in one execution (i.e., no streaming) on the next call to Update().
Implements mitk::BaseData.
|
virtual |
Convenience method for setting the spacing of the SlicedGeometry3D instances of all time steps.
| [in] | aSpacing | Array of three spacing values [x, y, z]. |
|
virtual |
Convenience method for setting the spacing of the SlicedGeometry3D instances of all time steps.
| [in] | aSpacing | Vector of three spacing values [x, y, z]. |
|
override |
Update the information for this DataObject so it can be used as an output of a ProcessObject.
Propagates information through the pipeline and initializes metadata. Calls the source's UpdateOutputInformation() and, if there is no source, sets the use-largest-possible-region flag. Also initializes the requested region if it has not yet been set.
|
overridevirtual |
Verify that the RequestedRegion is within the LargestPossibleRegion.
If the RequestedRegion is not within the LargestPossibleRegion, the filter cannot satisfy the request.
Implements mitk::BaseData.
|
protected |
Definition at line 287 of file mitkSlicedData.h.
|
protected |
Definition at line 282 of file mitkSlicedData.h.
|
mutableprotected |
Definition at line 284 of file mitkSlicedData.h.
|
mutableprotected |
Definition at line 285 of file mitkSlicedData.h.
|
protected |
Definition at line 288 of file mitkSlicedData.h.