Medical Imaging Interaction Toolkit  2016.11.0
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
 
typedef TimeGeometry Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef ProportionalTimeGeometry self
 
- Public Types inherited from mitk::TimeGeometry
typedef TimeGeometry Self
 
typedef itk::Object Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 

Public Member Functions

virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
 ProportionalTimeGeometry ()
 
Pointer Clone () const
 
virtual TimeStepType CountTimeSteps () const override
 Returns the number of time steps. More...
 
virtual TimePointType GetMinimumTimePoint () const override
 Returns the first time point for which the object is valid. More...
 
virtual TimePointType GetMaximumTimePoint () const override
 Returns the last time point for which the object is valid. More...
 
virtual TimePointType GetMinimumTimePoint (TimeStepType step) const override
 Returns the first time point for which the object is valid. More...
 
virtual TimePointType GetMaximumTimePoint (TimeStepType step) const override
 Returns the last time point for which the object is valid. More...
 
virtual TimeBounds GetTimeBounds () const override
 Get the time bounds (in ms) More...
 
virtual TimeBounds GetTimeBounds (TimeStepType step) const override
 Get the time bounds for the given TimeStep (in ms) More...
 
virtual bool IsValidTimePoint (TimePointType timePoint) const override
 Tests if a given time point is covered by this object. More...
 
virtual bool IsValidTimeStep (TimeStepType timeStep) const override
 Test for the given time step if a geometry is availible. More...
 
virtual TimePointType TimeStepToTimePoint (TimeStepType timeStep) const override
 Converts a time step to a time point. More...
 
virtual TimeStepType TimePointToTimeStep (TimePointType timePoint) const override
 Converts a time point to the corresponding time step. More...
 
virtual BaseGeometry::Pointer GetGeometryCloneForTimeStep (TimeStepType timeStep) const override
 Returns the geometry which corresponds to the given time step. More...
 
virtual BaseGeometry::Pointer GetGeometryForTimePoint (TimePointType timePoint) const override
 Returns the geometry which corresponds to the given time point. More...
 
virtual BaseGeometry::Pointer GetGeometryForTimeStep (TimeStepType timeStep) const override
 Returns the geometry which corresponds to the given time step. More...
 
virtual bool IsValid () const override
 Tests if all necessary informations are set and the object is valid. More...
 
virtual void Initialize () override
 Initilizes a new object with one time steps which contains an empty geometry. More...
 
virtual void Expand (TimeStepType size) override
 Expands the time geometry to the given number of time steps. More...
 
virtual void SetTimeStepGeometry (BaseGeometry *geometry, TimeStepType timeStep) override
 Sets the geometry for the given time step. More...
 
virtual void ReplaceTimeStepGeometries (const BaseGeometry *geometry) override
 Replaces the geometry instances with clones of the passed geometry. More...
 
virtual itk::LightObject::Pointer InternalClone () const override
 Makes a deep copy of the current object. More...
 
virtual TimePointType GetFirstTimePoint () const
 
virtual void SetFirstTimePoint (TimePointType _arg)
 
virtual TimePointType GetStepDuration () const
 
virtual void SetStepDuration (TimePointType _arg)
 
void ClearAllGeometries ()
 
void ReserveSpaceForGeometries (TimeStepType numberOfGeometries)
 
void Initialize (const BaseGeometry *geometry, TimeStepType timeSteps)
 Initializes the TimeGeometry with equally time Step geometries. More...
 
void Initialize (TimeStepType timeSteps)
 Initialize the TimeGeometry with empty BaseGeometry. More...
 
virtual void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
- Public Member Functions inherited from mitk::TimeGeometry
Pointer Clone () const
 
 itkCreateAnotherMacro (Self) virtual TimeStepType CountTimeSteps() const =0
 Returns the number of time steps. More...
 
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 ()
 Updates the bounding box to cover the area used in all time steps. More...
 
BoundingBoxGetBoundingBoxInWorld () const
 Returns a bounding box that covers all time steps. More...
 
BoundingBox::BoundsArrayType GetBoundsInWorld () const
 Returns the world bounds of the object that cover all time steps. More...
 
ScalarType GetExtentInWorld (unsigned int direction) const
 Returns the Extend of the bounding in the given direction. More...
 
void Update ()
 Updates the geometry. More...
 
virtual void UpdateWithoutBoundingBox ()
 Updates everything except the Bounding box. More...
 
virtual void ExecuteOperation (Operation *op) override
 Executes the given operation on all time steps. More...
 
- Public Member Functions inherited from mitk::OperationActor
 itkTypeMacroNoParent (OperationActor) virtual ~OperationActor()
 

Static Public Member Functions

static const char * GetStaticNameOfClass ()
 
static Pointer New ()
 
- Static Public Member Functions inherited from mitk::TimeGeometry
static const char * GetStaticNameOfClass ()
 

Protected Member Functions

virtual ~ProportionalTimeGeometry ()
 
- Protected Member Functions inherited from mitk::TimeGeometry
 TimeGeometry ()
 
virtual ~TimeGeometry ()
 

Protected Attributes

std::vector< BaseGeometry::Pointerm_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 42 of file mitkProportionalTimeGeometry.h.

Member Typedef Documentation

Constructor & Destructor Documentation

mitk::ProportionalTimeGeometry::ProportionalTimeGeometry ( )

Definition at line 19 of file mitkProportionalTimeGeometry.cpp.

mitk::ProportionalTimeGeometry::~ProportionalTimeGeometry ( )
protectedvirtual

Definition at line 23 of file mitkProportionalTimeGeometry.cpp.

Member Function Documentation

void mitk::ProportionalTimeGeometry::ClearAllGeometries ( )

Definition at line 163 of file mitkProportionalTimeGeometry.cpp.

Pointer mitk::ProportionalTimeGeometry::Clone ( ) const
mitk::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.

Definition at line 34 of file mitkProportionalTimeGeometry.cpp.

Referenced by mitk::ProportionalTimeGeometryToXML::ToXML().

void mitk::ProportionalTimeGeometry::Expand ( mitk::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.

Definition at line 173 of file mitkProportionalTimeGeometry.cpp.

References clone(), and mitk::Geometry3D::New().

Referenced by mitk::DWIHeadMotionCorrectionFilter::GenerateData(), and Valid_ImageExpandedByTimestep_ReturnsTrue().

virtual std::vector<std::string> mitk::ProportionalTimeGeometry::GetClassHierarchy ( ) const
inlineoverridevirtual

Reimplemented from mitk::TimeGeometry.

Definition at line 45 of file mitkProportionalTimeGeometry.h.

virtual const char* mitk::ProportionalTimeGeometry::GetClassName ( ) const
virtual

Reimplemented from mitk::TimeGeometry.

virtual TimePointType mitk::ProportionalTimeGeometry::GetFirstTimePoint ( ) const
virtual
mitk::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.

Definition at line 148 of file mitkProportionalTimeGeometry.cpp.

mitk::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.

Definition at line 135 of file mitkProportionalTimeGeometry.cpp.

mitk::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.

Definition at line 123 of file mitkProportionalTimeGeometry.cpp.

Referenced by mitk::DWIHeadMotionCorrectionFilter::GenerateData(), mitk::ProportionalTimeGeometryToXML::ToXML(), and Valid_ImageExpandedByTimestep_ReturnsTrue().

mitk::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 geometrie is saved in this time geometry. The time point is given in ms.

Implements mitk::TimeGeometry.

Definition at line 44 of file mitkProportionalTimeGeometry.cpp.

References max().

mitk::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.

Definition at line 76 of file mitkProportionalTimeGeometry.cpp.

mitk::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.

Definition at line 39 of file mitkProportionalTimeGeometry.cpp.

mitk::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.

Definition at line 60 of file mitkProportionalTimeGeometry.cpp.

References max().

static const char* mitk::ProportionalTimeGeometry::GetStaticNameOfClass ( )
inlinestatic

Definition at line 45 of file mitkProportionalTimeGeometry.h.

Referenced by mitk::ItkImageIO::Read().

virtual TimePointType mitk::ProportionalTimeGeometry::GetStepDuration ( ) const
virtual
mitk::TimeBounds mitk::ProportionalTimeGeometry::GetTimeBounds ( ) const
overridevirtual

Get the time bounds (in ms)

Implements mitk::TimeGeometry.

Definition at line 52 of file mitkProportionalTimeGeometry.cpp.

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

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

Implements mitk::TimeGeometry.

Definition at line 84 of file mitkProportionalTimeGeometry.cpp.

void mitk::ProportionalTimeGeometry::Initialize ( )
overridevirtual

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

Reimplemented from mitk::TimeGeometry.

Definition at line 27 of file mitkProportionalTimeGeometry.cpp.

Referenced by mitk::AutoCropImageFilter::GenerateOutputInformation().

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

Initializes the TimeGeometry with equally time Step geometries.

Saves a copy for each time step.

Definition at line 229 of file mitkProportionalTimeGeometry.cpp.

References mitk::BaseGeometry::Clone(), max(), MITK_INFO, and Update().

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

Initialize the TimeGeometry with empty BaseGeometry.

Definition at line 256 of file mitkProportionalTimeGeometry.cpp.

References mitk::Geometry3D::New().

itk::LightObject::Pointer mitk::ProportionalTimeGeometry::InternalClone ( ) const
overridevirtual

Makes a deep copy of the current object.

Reimplemented from mitk::TimeGeometry.

Definition at line 204 of file mitkProportionalTimeGeometry.cpp.

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

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

Implements mitk::TimeGeometry.

Definition at line 155 of file mitkProportionalTimeGeometry.cpp.

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.

Definition at line 92 of file mitkProportionalTimeGeometry.cpp.

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

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

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

Implements mitk::TimeGeometry.

Definition at line 97 of file mitkProportionalTimeGeometry.cpp.

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

Reimplemented from mitk::TimeGeometry.

Definition at line 265 of file mitkProportionalTimeGeometry.cpp.

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.

Definition at line 220 of file mitkProportionalTimeGeometry.cpp.

References mitk::BaseGeometry::Clone().

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

Definition at line 168 of file mitkProportionalTimeGeometry.cpp.

virtual void mitk::ProportionalTimeGeometry::SetFirstTimePoint ( TimePointType  _arg)
virtual
virtual void mitk::ProportionalTimeGeometry::SetStepDuration ( TimePointType  _arg)
virtual
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.

Definition at line 194 of file mitkProportionalTimeGeometry.cpp.

Referenced by mitk::DWIHeadMotionCorrectionFilter::GenerateData(), and Valid_ImageExpandedByTimestep_ReturnsTrue().

mitk::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 negativ invalid time point is given always time step 0 is returned. If an positiv invalid time step is given an invalid time step will be returned.

Implements mitk::TimeGeometry.

Definition at line 115 of file mitkProportionalTimeGeometry.cpp.

mitk::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.

Definition at line 102 of file mitkProportionalTimeGeometry.cpp.

References max(), and min().

Member Data Documentation

TimePointType mitk::ProportionalTimeGeometry::m_FirstTimePoint
protected

Definition at line 235 of file mitkProportionalTimeGeometry.h.

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

Definition at line 234 of file mitkProportionalTimeGeometry.h.

TimePointType mitk::ProportionalTimeGeometry::m_StepDuration
protected

Definition at line 236 of file mitkProportionalTimeGeometry.h.


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