Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::ProportionalTimeGeometry Class Reference

#include <mitkProportionalTimeGeometry.h>

Inheritance diagram for mitk::ProportionalTimeGeometry:
Collaboration diagram for mitk::ProportionalTimeGeometry:

Public Types

typedef ProportionalTimeGeometry self
 

Public Member Functions

 mitkClassMacro (ProportionalTimeGeometry, TimeGeometry)
 
 ProportionalTimeGeometry ()
 
Pointer Clone () const
 
TimeStepType CountTimeSteps () const override
 Returns the number of time steps. More...
 
TimePointType GetMinimumTimePoint () const override
 Returns the first time point for which the object is valid. More...
 
TimePointType GetMaximumTimePoint () const override
 Returns the last time point for which the object is valid. More...
 
TimePointType GetMinimumTimePoint (TimeStepType step) const override
 Returns the first time point for which the object is valid. More...
 
TimePointType GetMaximumTimePoint (TimeStepType step) const override
 Returns the last time point for which the object is valid. More...
 
TimeBounds GetTimeBounds () const override
 Get the time bounds (in ms) More...
 
TimeBounds GetTimeBounds (TimeStepType step) const override
 Get the time bounds for the given TimeStep (in ms) More...
 
bool IsValidTimePoint (TimePointType timePoint) const override
 Tests if a given time point is covered by this object. More...
 
bool IsValidTimeStep (TimeStepType timeStep) const override
 Test for the given time step if a geometry is available. More...
 
TimePointType TimeStepToTimePoint (TimeStepType timeStep) const override
 Converts a time step to a time point. More...
 
TimeStepType TimePointToTimeStep (TimePointType timePoint) const override
 Converts a time point to the corresponding time step. More...
 
BaseGeometry::Pointer GetGeometryCloneForTimeStep (TimeStepType timeStep) const override
 Returns the geometry which corresponds to the given time step. More...
 
BaseGeometry::Pointer GetGeometryForTimePoint (TimePointType timePoint) const override
 Returns the geometry which corresponds to the given time point. More...
 
BaseGeometry::Pointer GetGeometryForTimeStep (TimeStepType timeStep) const override
 Returns the geometry which corresponds to the given time step. More...
 
bool IsValid () const override
 Tests if all necessary information are set and the object is valid. More...
 
void Initialize () override
 Initializes a new object with one time steps which contains an empty geometry. More...
 
void Expand (TimeStepType size) override
 Expands the time geometry to the given number of time steps. More...
 
void SetTimeStepGeometry (BaseGeometry *geometry, TimeStepType timeStep) override
 Sets the geometry for the given time step. More...
 
void ReplaceTimeStepGeometries (const BaseGeometry *geometry) override
 Replaces the geometry instances with clones of the passed geometry. More...
 
virtual TimePointType GetFirstTimePoint () const
 Get the time point of the first time step (in ms). More...
 
virtual void SetFirstTimePoint (TimePointType _arg)
 Set the time point of the first time step (in ms). More...
 
virtual TimePointType GetStepDuration () const
 Get the uniform duration of each time step (in ms). More...
 
virtual void SetStepDuration (TimePointType _arg)
 Set the uniform duration of each time step (in ms). More...
 
void ClearAllGeometries ()
 Remove all stored geometries, leaving the container empty. More...
 
void ReserveSpaceForGeometries (TimeStepType numberOfGeometries)
 Pre-allocate space for a given number of geometries. More...
 
void Initialize (const BaseGeometry *geometry, TimeStepType timeSteps)
 Initialize with copies of a given geometry for each time step. More...
 
void Initialize (TimeStepType timeSteps)
 Initialize with empty Geometry3D instances for each time step. More...
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
- Public Member Functions inherited from mitk::TimeGeometry
 mitkClassMacroItkParent (TimeGeometry, itk::Object)
 
Pointer Clone () const
 
 itkCreateAnotherMacro (Self)
 
Point3D GetCornerPointInWorld (int id) const
 Get the position of the corner number id (in world coordinates) More...
 
Point3D GetCornerPointInWorld (bool xFront=true, bool yFront=true, bool zFront=true) const
 Get the position of a corner (in world coordinates) More...
 
Point3D GetCenterInWorld () const
 Get the center of the bounding-box in mm. More...
 
double GetDiagonalLength2InWorld () const
 Get the squared length of the diagonal of the bounding-box in mm. More...
 
double GetDiagonalLengthInWorld () const
 Get the length of the diagonal of the bounding-box in mm. More...
 
bool IsWorldPointInside (const mitk::Point3D &p) const
 Test whether the point p (world coordinates in mm) is inside the bounding box. More...
 
void UpdateBoundingBox ()
 Recompute the bounding box to cover all time steps. More...
 
BoundingBox * GetBoundingBoxInWorld () const
 Get the bounding box that covers all time steps. More...
 
BoundingBox::BoundsArrayType GetBoundsInWorld () const
 Get the bounds array of the aggregate bounding box. More...
 
ScalarType GetExtentInWorld (unsigned int direction) const
 Get the extent of the aggregate bounding box in the given direction. More...
 
void Update ()
 Update the geometry (bounding box and subclass-specific data). More...
 
virtual void UpdateWithoutBoundingBox ()
 Hook for subclass-specific updates that do not involve the bounding box. More...
 
void ExecuteOperation (Operation *op) override
 Execute the given operation on all time steps. More...
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
- Public Member Functions inherited from mitk::OperationActor
 itkTypeMacroNoParent (OperationActor) virtual ~OperationActor()
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ProportionalTimeGeometry (const ProportionalTimeGeometry &other)
 
 ~ProportionalTimeGeometry () override
 
 mitkCloneMacro (Self)
 
- Protected Member Functions inherited from mitk::TimeGeometry
 TimeGeometry ()
 
 TimeGeometry (const TimeGeometry &other)
 
 ~TimeGeometry () override
 

Protected Attributes

std::vector< BaseGeometry::Pointer > m_GeometryVector
 
TimePointType m_FirstTimePoint
 
TimePointType m_StepDuration
 
- Protected Attributes inherited from mitk::TimeGeometry
BoundingBox::Pointer m_BoundingBox
 Contains a bounding box which includes all time steps. More...
 

Detailed Description

Definition at line 38 of file mitkProportionalTimeGeometry.h.

Member Typedef Documentation

◆ self

Constructor & Destructor Documentation

◆ ProportionalTimeGeometry() [1/2]

mitk::ProportionalTimeGeometry::ProportionalTimeGeometry ( )

◆ ProportionalTimeGeometry() [2/2]

mitk::ProportionalTimeGeometry::ProportionalTimeGeometry ( const ProportionalTimeGeometry &  other)
protected

◆ ~ProportionalTimeGeometry()

mitk::ProportionalTimeGeometry::~ProportionalTimeGeometry ( )
overrideprotected

Member Function Documentation

◆ ClearAllGeometries()

void mitk::ProportionalTimeGeometry::ClearAllGeometries ( )

Remove all stored geometries, leaving the container empty.

◆ Clone()

Pointer mitk::ProportionalTimeGeometry::Clone ( ) const

◆ CountTimeSteps()

TimeStepType mitk::ProportionalTimeGeometry::CountTimeSteps ( ) const
overridevirtual

Returns the number of time steps.

Returns the number of time steps for which geometries are saved. The number of time steps is also the upper bound of the time steps. The minimum time steps is always 0.

Implements mitk::TimeGeometry.

◆ Expand()

void mitk::ProportionalTimeGeometry::Expand ( TimeStepType  size)
overridevirtual

Expands the time geometry to the given number of time steps.

Initializes the new time steps with empty geometries if no timesteps in the geometry so far. Otherwise fills the new times steps with clones of the first time step. Shrinking is not supported.

Implements mitk::TimeGeometry.

◆ GetFirstTimePoint()

virtual TimePointType mitk::ProportionalTimeGeometry::GetFirstTimePoint ( ) const
virtual

Get the time point of the first time step (in ms).

Returns
The minimum time point.

◆ GetGeometryCloneForTimeStep()

BaseGeometry::Pointer mitk::ProportionalTimeGeometry::GetGeometryCloneForTimeStep ( TimeStepType  timeStep) const
overridevirtual

Returns the geometry which corresponds to the given time step.

Returns a clone of the geometry which defines the given time step. If the given time step is invalid an null-pointer is returned.

Implements mitk::TimeGeometry.

◆ GetGeometryForTimePoint()

BaseGeometry::Pointer mitk::ProportionalTimeGeometry::GetGeometryForTimePoint ( TimePointType  timePoint) const
overridevirtual

Returns the geometry which corresponds to the given time point.

Returns the geometry which defines the given time point. If the given time point is invalid an null-pointer is returned.

If the returned geometry is changed this will affect the saved geometry.

Implements mitk::TimeGeometry.

◆ GetGeometryForTimeStep()

BaseGeometry::Pointer mitk::ProportionalTimeGeometry::GetGeometryForTimeStep ( TimeStepType  timeStep) const
overridevirtual

Returns the geometry which corresponds to the given time step.

Returns the geometry which defines the given time step. If the given time step is invalid an null-pointer is returned.

If the returned geometry is changed this will affect the saved geometry.

Implements mitk::TimeGeometry.

◆ GetMaximumTimePoint() [1/2]

TimePointType mitk::ProportionalTimeGeometry::GetMaximumTimePoint ( ) const
overridevirtual

Returns the last time point for which the object is valid.

Gives the last time point for which a valid geometry is saved in this time geometry. The time point is given in ms.

Implements mitk::TimeGeometry.

◆ GetMaximumTimePoint() [2/2]

TimePointType mitk::ProportionalTimeGeometry::GetMaximumTimePoint ( TimeStepType  step) const
overridevirtual

Returns the last time point for which the object is valid.

Gives the last time point for the Geometry specified by the given TimeStep. The time point is given in ms.

Implements mitk::TimeGeometry.

◆ GetMinimumTimePoint() [1/2]

TimePointType mitk::ProportionalTimeGeometry::GetMinimumTimePoint ( ) const
overridevirtual

Returns the first time point for which the object is valid.

Returns the first valid time point for this geometry. If only one time steps available it usually goes from -max to +max. The time point is given in ms.

Implements mitk::TimeGeometry.

◆ GetMinimumTimePoint() [2/2]

TimePointType mitk::ProportionalTimeGeometry::GetMinimumTimePoint ( TimeStepType  step) const
overridevirtual

Returns the first time point for which the object is valid.

Returns the first valid time point for the given TimeStep. The time point is given in ms.

Implements mitk::TimeGeometry.

◆ GetStepDuration()

virtual TimePointType mitk::ProportionalTimeGeometry::GetStepDuration ( ) const
virtual

Get the uniform duration of each time step (in ms).

Returns
The step duration.

◆ GetTimeBounds() [1/2]

TimeBounds mitk::ProportionalTimeGeometry::GetTimeBounds ( ) const
overridevirtual

Get the time bounds (in ms)

Implements mitk::TimeGeometry.

◆ GetTimeBounds() [2/2]

TimeBounds mitk::ProportionalTimeGeometry::GetTimeBounds ( TimeStepType  step) const
overridevirtual

Get the time bounds for the given TimeStep (in ms)

Implements mitk::TimeGeometry.

◆ Initialize() [1/3]

void mitk::ProportionalTimeGeometry::Initialize ( )
overridevirtual

Initializes a new object with one time steps which contains an empty geometry.

Reimplemented from mitk::TimeGeometry.

◆ Initialize() [2/3]

void mitk::ProportionalTimeGeometry::Initialize ( const BaseGeometry *  geometry,
TimeStepType  timeSteps 
)

Initialize with copies of a given geometry for each time step.

Clones geometry for each of the timeSteps steps. If timeSteps < 2, the time bounds span from -max to +max with infinite duration. Otherwise, the first time point is 0 and the step duration is 1 ms.

Parameters
[in]geometryThe geometry to clone for each step.
[in]timeStepsNumber of time steps (minimum 1).

◆ Initialize() [3/3]

void mitk::ProportionalTimeGeometry::Initialize ( TimeStepType  timeSteps)

Initialize with empty Geometry3D instances for each time step.

Creates a default Geometry3D and delegates to Initialize(const BaseGeometry*, TimeStepType).

Parameters
[in]timeStepsNumber of time steps (minimum 1).

◆ IsValid()

bool mitk::ProportionalTimeGeometry::IsValid ( ) const
overridevirtual

Tests if all necessary information are set and the object is valid.

Implements mitk::TimeGeometry.

◆ IsValidTimePoint()

bool mitk::ProportionalTimeGeometry::IsValidTimePoint ( TimePointType  timePoint) const
overridevirtual

Tests if a given time point is covered by this object.

Returns true if a geometry can be returned for the given time point and falls if not. The time point must be given in ms.

Implements mitk::TimeGeometry.

◆ IsValidTimeStep()

bool mitk::ProportionalTimeGeometry::IsValidTimeStep ( TimeStepType  timeStep) const
overridevirtual

Test for the given time step if a geometry is available.

Returns true if a geometry is defined for the given time step. Otherwise false is returned. The time step is defined as positive number.

Implements mitk::TimeGeometry.

◆ mitkClassMacro()

mitk::ProportionalTimeGeometry::mitkClassMacro ( ProportionalTimeGeometry  ,
TimeGeometry   
)

◆ mitkCloneMacro()

mitk::ProportionalTimeGeometry::mitkCloneMacro ( Self  )
protected

◆ New()

static Pointer mitk::ProportionalTimeGeometry::New ( )
static

◆ PrintSelf()

void mitk::ProportionalTimeGeometry::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
override

◆ ReplaceTimeStepGeometries()

void mitk::ProportionalTimeGeometry::ReplaceTimeStepGeometries ( const BaseGeometry *  geometry)
overridevirtual

Replaces the geometry instances with clones of the passed geometry.

Replaces the geometries of all time steps with clones of the passed geometry. Replacement strategy depends on the implementation of TimeGeometry sub class.

Remarks
The time points itself stays untouched. Use this method if you want to change the spatial properties of a TimeGeometry and preserve the time "grid".

Implements mitk::TimeGeometry.

◆ ReserveSpaceForGeometries()

void mitk::ProportionalTimeGeometry::ReserveSpaceForGeometries ( TimeStepType  numberOfGeometries)

Pre-allocate space for a given number of geometries.

This only reserves memory; it does not create geometry objects.

Parameters
[in]numberOfGeometriesThe number of slots to reserve.

◆ SetFirstTimePoint()

virtual void mitk::ProportionalTimeGeometry::SetFirstTimePoint ( TimePointType  _arg)
virtual

Set the time point of the first time step (in ms).

Parameters
[in]_argThe first time point value.

◆ SetStepDuration()

virtual void mitk::ProportionalTimeGeometry::SetStepDuration ( TimePointType  _arg)
virtual

Set the uniform duration of each time step (in ms).

Parameters
[in]_argThe step duration value.

◆ SetTimeStepGeometry()

void mitk::ProportionalTimeGeometry::SetTimeStepGeometry ( BaseGeometry *  geometry,
TimeStepType  timeStep 
)
overridevirtual

Sets the geometry for the given time step.

This method does not afflict other time steps, since the geometry for each time step is saved individually.

Implements mitk::TimeGeometry.

◆ TimePointToTimeStep()

TimeStepType mitk::ProportionalTimeGeometry::TimePointToTimeStep ( TimePointType  timePoint) const
overridevirtual

Converts a time point to the corresponding time step.

Converts a time point to a time step in a way that the new time step indicates the same geometry as the time point. If a negative invalid time point is given always time step 0 is returned. If an positive invalid time step is given an invalid time step will be returned.

Implements mitk::TimeGeometry.

◆ TimeStepToTimePoint()

TimePointType mitk::ProportionalTimeGeometry::TimeStepToTimePoint ( TimeStepType  timeStep) const
overridevirtual

Converts a time step to a time point.

Converts a time step to a time point in a way that the new time point indicates the same geometry as the time step. If the original time steps does not point to a valid geometry, a time point is calculated that also does not point to a valid geometry, but no exception is raised.

Implements mitk::TimeGeometry.

Member Data Documentation

◆ m_FirstTimePoint

TimePointType mitk::ProportionalTimeGeometry::m_FirstTimePoint
protected

Definition at line 268 of file mitkProportionalTimeGeometry.h.

◆ m_GeometryVector

std::vector<BaseGeometry::Pointer> mitk::ProportionalTimeGeometry::m_GeometryVector
protected

Definition at line 267 of file mitkProportionalTimeGeometry.h.

◆ m_StepDuration

TimePointType mitk::ProportionalTimeGeometry::m_StepDuration
protected

Definition at line 269 of file mitkProportionalTimeGeometry.h.


The documentation for this class was generated from the following file: