Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
#include <mitkTimeGeometry.h>
Public Types | |
typedef TimeGeometry | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Member Functions | |
virtual std::vector< std::string > | GetClassHierarchy () const |
virtual const char * | GetClassName () const |
Pointer | Clone () const |
itkCreateAnotherMacro (Self) virtual TimeStepType CountTimeSteps() const =0 | |
Returns the number of time steps. More... | |
virtual TimePointType | GetMinimumTimePoint () const =0 |
Returns the first time point for which the object is valid. More... | |
virtual TimePointType | GetMaximumTimePoint () const =0 |
Returns the last time point for which the object is valid. More... | |
virtual TimePointType | GetMinimumTimePoint (TimeStepType step) const =0 |
Returns the first time point for which the object is valid. More... | |
virtual TimePointType | GetMaximumTimePoint (TimeStepType step) const =0 |
Returns the last time point for which the object is valid. More... | |
virtual TimeBounds | GetTimeBounds () const =0 |
Get the time bounds (in ms) More... | |
virtual TimeBounds | GetTimeBounds (TimeStepType step) const =0 |
Get the time bounds for the given TimeStep (in ms) More... | |
virtual bool | IsValidTimePoint (TimePointType timePoint) const =0 |
Tests if a given time point is covered by this object. More... | |
virtual bool | IsValidTimeStep (TimeStepType timeStep) const =0 |
Test for the given time step if a geometry is availible. More... | |
virtual TimePointType | TimeStepToTimePoint (TimeStepType timeStep) const =0 |
Converts a time step to a time point. More... | |
virtual TimeStepType | TimePointToTimeStep (TimePointType timePoint) const =0 |
Converts a time point to the corresponding time step. More... | |
virtual BaseGeometry::Pointer | GetGeometryForTimePoint (TimePointType timePoint) const =0 |
Returns the geometry of a specific time point. More... | |
virtual BaseGeometry::Pointer | GetGeometryForTimeStep (TimeStepType timeStep) const =0 |
Returns the geometry which corresponds to the given time step. More... | |
virtual BaseGeometry::Pointer | GetGeometryCloneForTimeStep (TimeStepType timeStep) const =0 |
Returns a clone of the geometry of a specific time point. More... | |
virtual void | SetTimeStepGeometry (BaseGeometry *geometry, TimeStepType timeStep)=0 |
Sets the geometry for a given time step. More... | |
virtual void | Expand (TimeStepType size)=0 |
Expands to the given number of time steps. More... | |
virtual void | ReplaceTimeStepGeometries (const BaseGeometry *geometry)=0 |
Replaces the geometry instances with clones ot the passed geometry. More... | |
virtual bool | IsValid () const =0 |
Tests if all necessary informations are set and the object is valid. 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... | |
BoundingBox * | GetBoundingBoxInWorld () 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... | |
virtual void | Initialize () |
Initializes the TimeGeometry. 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... | |
virtual 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 const char * | GetStaticNameOfClass () |
Protected Member Functions | |
TimeGeometry () | |
virtual | ~TimeGeometry () |
virtual LightObject::Pointer | InternalClone () const override |
Makes a deep copy of the current object. More... | |
Protected Attributes | |
BoundingBox::Pointer | m_BoundingBox |
Contains a bounding box which includes all time steps. More... | |
Definition at line 47 of file mitkTimeGeometry.h.
typedef itk::SmartPointer<const Self> mitk::TimeGeometry::ConstPointer |
Definition at line 64 of file mitkTimeGeometry.h.
Definition at line 64 of file mitkTimeGeometry.h.
typedef TimeGeometry mitk::TimeGeometry::Self |
Definition at line 64 of file mitkTimeGeometry.h.
typedef itk::Object mitk::TimeGeometry::Superclass |
Definition at line 64 of file mitkTimeGeometry.h.
|
protected |
Definition at line 21 of file mitkTimeGeometry.cpp.
References m_BoundingBox, and mitk::New().
|
protectedvirtual |
Definition at line 28 of file mitkTimeGeometry.cpp.
Pointer mitk::TimeGeometry::Clone | ( | ) | const |
|
overridevirtual |
Executes the given operation on all time steps.
Implements mitk::OperationActor.
Definition at line 163 of file mitkTimeGeometry.cpp.
Referenced by mitk::DisplayInteractor::Rotate(), and mitk::DisplayInteractor::Swivel().
|
pure virtual |
Expands to the given number of time steps.
Expands to the given number of time steps. Each new created time step is filled with an empty geometry. Shrinking is not supported!
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
|
inline |
Returns a bounding box that covers all time steps.
Definition at line 265 of file mitkTimeGeometry.h.
Referenced by mitk::UnstructuredGrid::CalculateBoundingBox(), mitk::DataStorage::ComputeBoundingBox(), mitk::DataStorage::ComputeBoundingGeometry3D(), mitk::Equal(), mitk::RenderingManager::InitializeView(), mitk::SliceNavigationController::SetInputWorldTimeGeometry(), and mitk::BaseRenderer::SetWorldTimeGeometry().
|
inline |
Returns the world bounds of the object that cover all time steps.
Definition at line 269 of file mitkTimeGeometry.h.
Referenced by mitk::Equal().
mitk::Point3D mitk::TimeGeometry::GetCenterInWorld | ( | ) | const |
Get the center of the bounding-box in mm.
Definition at line 99 of file mitkTimeGeometry.cpp.
|
inlinevirtual |
Reimplemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Definition at line 64 of file mitkTimeGeometry.h.
|
virtual |
Reimplemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
mitk::Point3D mitk::TimeGeometry::GetCornerPointInWorld | ( | int | id | ) | const |
Get the position of the corner number id (in world coordinates)
See SetImageGeometry for how a corner is defined on images.
Definition at line 40 of file mitkTimeGeometry.cpp.
References mitk::FillVector3D().
Referenced by mitk::DataStorage::ComputeBoundingBox(), mitk::DataStorage::ComputeBoundingGeometry3D(), mitk::BoundingObjectGroup::UpdateOutputInformation(), and mitk::ContourSet::UpdateOutputInformation().
mitk::Point3D mitk::TimeGeometry::GetCornerPointInWorld | ( | bool | xFront = true , |
bool | yFront = true , |
||
bool | zFront = true |
||
) | const |
Get the position of a corner (in world coordinates)
See SetImageGeometry for how a corner is defined on images.
Definition at line 86 of file mitkTimeGeometry.cpp.
double mitk::TimeGeometry::GetDiagonalLength2InWorld | ( | ) | const |
Get the squared length of the diagonal of the bounding-box in mm.
Definition at line 105 of file mitkTimeGeometry.cpp.
double mitk::TimeGeometry::GetDiagonalLengthInWorld | ( | ) | const |
Get the length of the diagonal of the bounding-box in mm.
Definition at line 111 of file mitkTimeGeometry.cpp.
mitk::ScalarType mitk::TimeGeometry::GetExtentInWorld | ( | unsigned int | direction | ) | const |
Returns the Extend of the bounding in the given direction.
Definition at line 149 of file mitkTimeGeometry.cpp.
Referenced by mitk::Cone::GetVolume(), mitk::Cylinder::GetVolume(), and mitk::Cuboid::GetVolume().
|
pure virtual |
Returns a clone of the geometry of a specific time point.
If an invalid time step is given (e.g. no geometry is defined for this time step) a null-pointer will be returned.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Referenced by mitk::Image::Initialize().
|
pure virtual |
Returns the geometry of a specific time point.
Returns the geometry which defines the given time point. If the given time point is invalid an null-pointer is returned.
The pointer to the returned geometry may point to the saved geometry but this is not necessarily the case. So a change to the returned geometry may or may not afflict the geometry for the time point or all time points depending on the used implementation of TimeGeometry.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
|
pure virtual |
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.
The pointer to the returned geometry may point to the saved geometry but this is not necessarily the case. So a change to the returned geometry may or may not afflict the geometry for the time step or all time steps depending on the used implementation of TimeGeometry.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Referenced by mitk::Surface::CalculateBoundingBox(), mitk::UnstructuredGrid::CalculateBoundingBox(), mitk::TestDICOMLoading::DumpImageInformation(), mitk::Equal(), mitk::ExtractDirectedPlaneImageFilter::GenerateData(), mitk::HeightFieldSurfaceClipImageFilter::GenerateData(), mitk::ExtractSliceFilter::GenerateData(), mitk::LabelSetImageVtkMapper2D::GenerateDataForRenderer(), mitk::ImageVtkMapper2D::GenerateDataForRenderer(), mitk::DoseImageVtkMapper2D::GenerateDataForRenderer(), mitk::PlaneGeometryDataToSurfaceFilter::GenerateOutputInformation(), mitk::SegTool2D::GetAffectedImageSliceAs2DImage(), mitk::Image::Initialize(), QmitkSlicesInterpolator::OnAcceptInterpolationClicked(), mitk::GeometryClipImageFilter::SetClippingGeometry(), mitk::SurfaceToImageFilter::Stencil3DImage(), mitk::SurfaceStampImageFilter::SurfaceStamp(), QmitkSliceBasedInterpolatorWidget::TranslateAndInterpolateChangedSlice(), and QmitkSlicesInterpolator::TranslateAndInterpolateChangedSlice().
|
pure virtual |
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.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Referenced by mitk::Equal().
|
pure virtual |
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.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
|
pure virtual |
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.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Referenced by mitk::Equal().
|
pure virtual |
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.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
|
inlinestatic |
Definition at line 64 of file mitkTimeGeometry.h.
|
pure virtual |
Get the time bounds (in ms)
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Referenced by mitk::DataStorage::ComputeTimeBounds(), mitk::TestDCMLoading::DumpImageInformation(), mitk::TestDICOMLoading::DumpImageInformation(), and mitk::SurfaceVtkIO::GetPolyData().
|
pure virtual |
Get the time bounds for the given TimeStep (in ms)
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
|
virtual |
Initializes the TimeGeometry.
Reimplemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Definition at line 32 of file mitkTimeGeometry.cpp.
|
overrideprotectedvirtual |
Makes a deep copy of the current object.
Reimplemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Definition at line 184 of file mitkTimeGeometry.cpp.
References mitkThrow.
|
pure virtual |
Tests if all necessary informations are set and the object is valid.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
|
pure virtual |
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.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
|
pure virtual |
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.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Referenced by mitk::ExtractDirectedPlaneImageFilter::GenerateData(), mitk::ExtractSliceFilter::GenerateData(), mitk::GenerateTimeInInputRegion(), mitk::VectorImageMapper2D::GetCurrentTimeStep(), mitk::SurfaceVtkIO::GetPolyData(), mitk::MeshMapper2D::Paint(), mitk::InteractionTestHelper::SetTimeStep(), mitk::ContourModelMapper2D::Update(), mitk::ContourModelMapper3D::Update(), mitk::LabelSetImageVtkMapper2D::Update(), mitk::RegEvaluationMapper2D::Update(), mitk::Mapper::Update(), mitk::ImageVtkMapper2D::Update(), mitk::DoseImageVtkMapper2D::Update(), and mitk::SurfaceVtkMapper2D::Update().
bool mitk::TimeGeometry::IsWorldPointInside | ( | const mitk::Point3D & | p | ) | const |
Test whether the point p (world coordinates in mm) is inside the bounding box.
Definition at line 116 of file mitkTimeGeometry.cpp.
|
pure virtual |
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.
|
overridevirtual |
Reimplemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Definition at line 171 of file mitkTimeGeometry.cpp.
|
pure virtual |
Replaces the geometry instances with clones ot the passed geometry.
Replaces the geometries of all time steps with clones of the passed geometry. Replacment strategy depends on the implementation of TimeGeometry sub class.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
|
pure virtual |
Sets the geometry for a given time step.
Sets the geometry for the given time steps. This may also afflects other time steps, depending on the implementation of TimeGeometry.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
|
pure virtual |
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.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Referenced by mitk::RGBToRGBACastImageFilter::GenerateData(), mitk::BoundingObjectCutter::GenerateData(), mitk::MaskImageFilter::GenerateData(), mitk::HeightFieldSurfaceClipImageFilter::GenerateData(), mitk::GeometryClipImageFilter::GenerateData(), mitk::SurfaceVtkMapper2D::GenerateDataForRenderer(), mitk::GenerateTimeInInputRegion(), mitk::VectorImageMapper2D::GetCurrentTimeStep(), mitk::BaseRenderer::GetTimeStep(), mitkSurfaceTest(), mitk::MeshMapper2D::Paint(), and mitk::SurfaceStampImageFilter::SurfaceStamp().
|
pure virtual |
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.
Implemented in mitk::ArbitraryTimeGeometry, and mitk::ProportionalTimeGeometry.
Referenced by mitk::Equal(), mitk::RGBToRGBACastImageFilter::GenerateData(), mitk::BoundingObjectCutter::GenerateData(), mitk::MaskImageFilter::GenerateData(), mitk::HeightFieldSurfaceClipImageFilter::GenerateData(), mitk::GeometryClipImageFilter::GenerateData(), mitk::GenerateTimeInInputRegion(), mitk::SliceNavigationController::SetGeometryTime(), mitk::SurfaceToImageFilter::Stencil3DImage(), and mitk::SurfaceStampImageFilter::SurfaceStamp().
void mitk::TimeGeometry::Update | ( | ) |
Updates the geometry.
Definition at line 157 of file mitkTimeGeometry.cpp.
Referenced by mitk::BoundingObject::BoundingObject(), mitk::Surface::CalculateBoundingBox(), mitk::UnstructuredGrid::CalculateBoundingBox(), and mitk::SlicedData::SetSpacing().
void mitk::TimeGeometry::UpdateBoundingBox | ( | ) |
Updates the bounding box to cover the area used in all time steps.
The bounding box is updated by this method. The new bounding box covers an area which includes all bounding boxes during all times steps.
Definition at line 121 of file mitkTimeGeometry.cpp.
References mitk::New().
|
inlinevirtual |
Updates everything except the Bounding box.
This class should be overwritten by child classes. The method is called when Update() is required.
Definition at line 291 of file mitkTimeGeometry.h.
|
protected |
Contains a bounding box which includes all time steps.
Definition at line 56 of file mitkTimeGeometry.h.
Referenced by TimeGeometry().