Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
Standard implementation of BaseGeometry. More...
#include <mitkGeometry3D.h>
Public Types | |
typedef Geometry3D | Self |
typedef mitk::BaseGeometry | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef itk::QuaternionRigidTransform< ScalarType > | QuaternionTransformType |
typedef QuaternionTransformType::VnlQuaternionType | VnlQuaternionType |
Public Types inherited from mitk::BaseGeometry | |
typedef BaseGeometry | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef GeometryTransformHolder::TransformType | TransformType |
typedef itk::BoundingBox< unsigned long, 3, ScalarType > | BoundingBoxType |
typedef BoundingBoxType::BoundsArrayType | BoundsArrayType |
typedef BoundingBoxType::Pointer | BoundingBoxPointer |
Public Member Functions | |
virtual std::vector< std::string > | GetClassHierarchy () const override |
virtual const char * | GetClassName () const |
Pointer | Clone () const |
Public Member Functions inherited from mitk::BaseGeometry | |
Pointer | Clone () const |
const Point3D | GetOrigin () const |
Get the origin, e.g. the upper-left corner of the plane. More... | |
void | SetOrigin (const Point3D &origin) |
Set the origin, i.e. the upper-left corner of the plane. More... | |
const mitk::Vector3D | GetSpacing () const |
Get the spacing (size of a pixel). More... | |
void | SetSpacing (const mitk::Vector3D &aSpacing, bool enforceSetSpacing=false) |
Set the spacing (m_Spacing). More... | |
VnlVector | GetOriginVnl () const |
Get the origin as VnlVector. More... | |
virtual unsigned int | GetFrameOfReferenceID () const |
Get the DICOM FrameOfReferenceID referring to the used world coordinate system. More... | |
virtual void | SetFrameOfReferenceID (unsigned int _arg) |
Set the DICOM FrameOfReferenceID referring to the used world coordinate system. More... | |
virtual unsigned long | GetIndexToWorldTransformLastModified () const |
void | Modified () const override |
Overload of function Modified() to prohibit several calls of Modified() using the ModifiedLock class. More... | |
virtual bool | IsValid () const |
Is this BaseGeometry in a state that is valid? More... | |
void | Initialize () |
Initialize the BaseGeometry. More... | |
void | InitializeGeometry (Self *newGeometry) const |
mitk::AffineTransform3D * | GetIndexToWorldTransform () |
Get the transformation used to convert from index to world coordinates. More... | |
const mitk::AffineTransform3D * | GetIndexToWorldTransform () const |
Get the transformation used to convert from index to world coordinates. More... | |
void | SetIndexToWorldTransform (mitk::AffineTransform3D *transform) |
void | SetIndexToWorldTransformByVtkMatrix (vtkMatrix4x4 *vtkmatrix) |
Convenience method for setting the ITK transform (m_IndexToWorldTransform) via an vtkMatrix4x4.The spacing of the new transform is copied to m_spacing. More... | |
void | SetIndexToWorldTransformWithoutChangingSpacing (mitk::AffineTransform3D *transform) |
void | SetIndexToWorldTransformByVtkMatrixWithoutChangingSpacing (vtkMatrix4x4 *vtkmatrix) |
Convenience method for setting the ITK transform (m_IndexToWorldTransform) via an vtkMatrix4x4. This function keeps the original spacing. More... | |
vtkMatrix4x4 * | GetVtkMatrix () |
vtkLinearTransform * | GetVtkTransform () const |
Get the m_IndexToWorldTransform as a vtkLinearTransform. More... | |
void | SetIdentity () |
Set the transform to identity, the spacing to 1 and origin to 0. More... | |
void | Compose (const TransformType *other, bool pre=0) |
Compose new IndexToWorldTransform with a given transform. More... | |
void | Compose (const vtkMatrix4x4 *vtkmatrix, bool pre=0) |
Compose new IndexToWorldTransform with a given vtkMatrix4x4. More... | |
void | Translate (const Vector3D &vector) |
Translate the origin by a vector. More... | |
virtual void | ExecuteOperation (Operation *operation) override |
executes affine operations (translate, rotate, scale) More... | |
void | WorldToIndex (const mitk::Point3D &pt_mm, mitk::Point3D &pt_units) const |
Convert world coordinates (in mm) of a point to (continuous!) index coordinates. More... | |
void | WorldToIndex (const mitk::Vector3D &vec_mm, mitk::Vector3D &vec_units) const |
Convert world coordinates (in mm) of a vector vec_mm to (continuous!) index coordinates. For further information about coordinates types, please see the Geometry documentation. More... | |
template<unsigned int VIndexDimension> | |
void | WorldToIndex (const mitk::Point3D &pt_mm, itk::Index< VIndexDimension > &index) const |
Convert world coordinates (in mm) of a point to (discrete!) index coordinates. This method rounds to integer indices! For further information about coordinates types, please see the Geometry documentation. More... | |
void | IndexToWorld (const mitk::Vector3D &vec_units, mitk::Vector3D &vec_mm) const |
Convert (continuous or discrete) index coordinates of a vector vec_units to world coordinates (in mm) For further information about coordinates types, please see the Geometry documentation. More... | |
void | IndexToWorld (const mitk::Point3D &pt_units, mitk::Point3D &pt_mm) const |
Convert (continuous or discrete) index coordinates of a point to world coordinates (in mm) For further information about coordinates types, please see the Geometry documentation. More... | |
template<unsigned int VIndexDimension> | |
void | IndexToWorld (const itk::Index< VIndexDimension > &index, mitk::Point3D &pt_mm) const |
Convert (discrete) index coordinates of a point to world coordinates (in mm) For further information about coordinates types, please see the Geometry documentation. More... | |
void | IndexToWorld (const mitk::Point3D &atPt3d_units, const mitk::Vector3D &vec_units, mitk::Vector3D &vec_mm) const |
Convert (continuous or discrete) index coordinates of a vector vec_units to world coordinates (in mm) More... | |
void | WorldToIndex (const mitk::Point3D &atPt3d_mm, const mitk::Vector3D &vec_mm, mitk::Vector3D &vec_units) const |
Convert world coordinates (in mm) of a vector vec_mm to (continuous!) index coordinates. More... | |
template<class TCoordRep > | |
void | ItkPhysicalPointToWorld (const itk::Point< TCoordRep, 3 > &itkPhysicalPoint, mitk::Point3D &pt_mm) const |
Deprecated for use with ITK version 3.10 or newer. Convert ITK physical coordinates of a point (in mm, but without a rotation) into MITK world coordinates (in mm) More... | |
template<class TCoordRep > | |
void | WorldToItkPhysicalPoint (const mitk::Point3D &pt_mm, itk::Point< TCoordRep, 3 > &itkPhysicalPoint) const |
Deprecated for use with ITK version 3.10 or newer. Convert world coordinates (in mm) of a point to ITK physical coordinates (in mm, but without a possible rotation) More... | |
virtual const BoundingBoxType * | GetBoundingBox () |
const BoundsArrayType | GetBounds () const |
void | SetBounds (const BoundsArrayType &bounds) |
Set the bounding box (in index/unit coordinates) More... | |
void | SetFloatBounds (const float bounds[6]) |
Set the bounding box (in index/unit coordinates) via a float array. More... | |
void | SetFloatBounds (const double bounds[6]) |
Set the bounding box (in index/unit coordinates) via a double array. More... | |
VnlVector | GetMatrixColumn (unsigned int direction) const |
Get a VnlVector along bounding-box in the specified direction, length is spacing. More... | |
mitk::BoundingBox::Pointer | CalculateBoundingBoxRelativeToTransform (const mitk::AffineTransform3D *transform) const |
Calculates a bounding-box around the geometry relative to a coordinate system defined by a transform. More... | |
ScalarType | GetExtent (unsigned int direction) const |
Set the time bounds (in ms) More... | |
ScalarType | GetExtentInMM (int direction) const |
Get the extent of the bounding-box in the specified direction in mm. More... | |
Vector3D | GetAxisVector (unsigned int direction) const |
Get vector along bounding-box in the specified direction in mm. More... | |
virtual bool | Is2DConvertable () |
Checks, if the given geometry can be converted to 2D without information loss e.g. when a 2D image is saved, the matrix is usually cropped to 2x2, and when you load it back to MITK it will be filled with standard values. This function checks, if information would be lost during this procedure. More... | |
Point3D | GetCenter () const |
Get the center of the bounding-box in mm. More... | |
double | GetDiagonalLength2 () const |
Get the squared length of the diagonal of the bounding-box in mm. More... | |
double | GetDiagonalLength () const |
Get the length of the diagonal of the bounding-box in mm. More... | |
Point3D | GetCornerPoint (int id) const |
Get the position of the corner number id (in world coordinates) More... | |
Point3D | GetCornerPoint (bool xFront=true, bool yFront=true, bool zFront=true) const |
Get the position of a corner (in world coordinates) More... | |
void | SetExtentInMM (int direction, ScalarType extentInMM) |
Set the extent of the bounding-box in the specified direction in mm. More... | |
bool | IsInside (const mitk::Point3D &p) const |
Test whether the point p (world coordinates in mm) is inside the bounding box. More... | |
bool | IsIndexInside (const mitk::Point3D &index) const |
Test whether the point p ((continous!)index coordinates in units) is inside the bounding box. More... | |
template<unsigned int VIndexDimension> | |
bool | IsIndexInside (const itk::Index< VIndexDimension > &index) const |
Convenience method for working with ITK indices. More... | |
virtual void | ChangeImageGeometryConsideringOriginOffset (const bool isAnImageGeometry) |
When switching from an Image Geometry to a normal Geometry (and the other way around), you have to. More... | |
virtual bool | GetImageGeometry () const |
Is this an ImageGeometry? More... | |
virtual void | SetImageGeometry (bool _arg) |
Define that this BaseGeometry is refering to an Image. More... | |
virtual void | ImageGeometryOn () |
virtual void | ImageGeometryOff () |
const GeometryTransformHolder * | GetGeometryTransformHolder () const |
Public Member Functions inherited from mitk::OperationActor | |
itkTypeMacroNoParent (OperationActor) virtual ~OperationActor() | |
Static Public Member Functions | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
static Pointer | New (const Self &_arg) |
Static Public Member Functions inherited from mitk::BaseGeometry | |
static const char * | GetStaticNameOfClass () |
Protected Member Functions | |
Geometry3D () | |
Geometry3D (const Geometry3D &) | |
virtual itk::LightObject::Pointer | InternalClone () const override |
clones the geometry More... | |
virtual | ~Geometry3D () |
virtual void | PreSetSpacing (const mitk::Vector3D &aSpacing) override |
PreSetSpacing. More... | |
Protected Member Functions inherited from mitk::BaseGeometry | |
BaseGeometry () | |
BaseGeometry (const BaseGeometry &other) | |
virtual | ~BaseGeometry () |
virtual void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
virtual unsigned int | GetNDimensions () const |
bool | IsBoundingBoxNull () const |
bool | IsIndexToWorldTransformNull () const |
void | SetVtkMatrixDeepCopy (vtkTransform *vtktransform) |
void | _SetSpacing (const mitk::Vector3D &aSpacing, bool enforceSetSpacing=false) |
virtual void | CheckBounds (const BoundsArrayType &) |
CheckBounds. More... | |
virtual void | CheckIndexToWorldTransform (mitk::AffineTransform3D *) |
CheckIndexToWorldTransform. More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from mitk::BaseGeometry | |
static const std::string | GetTransformAsString (TransformType *transformType) |
Standard implementation of BaseGeometry.
Definition at line 37 of file mitkGeometry3D.h.
typedef itk::SmartPointer<const Self> mitk::Geometry3D::ConstPointer |
Definition at line 40 of file mitkGeometry3D.h.
Definition at line 40 of file mitkGeometry3D.h.
typedef itk::QuaternionRigidTransform<ScalarType> mitk::Geometry3D::QuaternionTransformType |
Definition at line 42 of file mitkGeometry3D.h.
typedef Geometry3D mitk::Geometry3D::Self |
Definition at line 40 of file mitkGeometry3D.h.
Definition at line 40 of file mitkGeometry3D.h.
typedef QuaternionTransformType::VnlQuaternionType mitk::Geometry3D::VnlQuaternionType |
Definition at line 43 of file mitkGeometry3D.h.
|
protected |
Definition at line 32 of file mitkGeometry3D.cpp.
|
protected |
Definition at line 35 of file mitkGeometry3D.cpp.
|
protectedvirtual |
Definition at line 39 of file mitkGeometry3D.cpp.
Pointer mitk::Geometry3D::Clone | ( | ) | const |
|
inlineoverridevirtual |
Reimplemented from mitk::BaseGeometry.
Definition at line 40 of file mitkGeometry3D.h.
|
virtual |
Reimplemented from mitk::BaseGeometry.
|
inlinestatic |
Definition at line 40 of file mitkGeometry3D.h.
|
overrideprotectedvirtual |
clones the geometry
Overwrite in all sub-classes. Normally looks like:
Implements mitk::BaseGeometry.
Definition at line 43 of file mitkGeometry3D.cpp.
|
static |
Method for creation through the object factory.
Referenced by mitk::AffineBaseDataInteractor3D::AffineBaseDataInteractor3D(), mitk::AffineImageCropperInteractor::AffineImageCropperInteractor(), mitk::ClippingPlaneInteractor3D::ClippingPlaneInteractor3D(), mitk::DataStorage::ComputeBoundingGeometry3D(), mitk::TubeGraph::CreateSubGraph(), mitk::ExampleDataStructure::ExampleDataStructure(), mitk::ProportionalTimeGeometry::Expand(), mitk::ArbitraryTimeGeometry::Expand(), mitk::Geometry3DToXML::FromXML(), mitk::ConnectomicsSyntheticNetworkGenerator::GenerateDefaultGeometry(), mitk::GetGridGeometryFromNode(), mitk::ArbitraryTimeGeometry::Initialize(), mitk::ProportionalTimeGeometry::Initialize(), mitk::BaseData::InitializeTimeGeometry(), main(), mitkBaseDataTest(), mitkPointSetFileIOTest(), mitk::PlanarFigureComposite::PlanarFigureComposite(), mitk::ConnectomicsNetworkReader::Read(), mitk::FiberBundleVtkReader::Read(), mitk::TubeGraphIO::Read(), TrackVisFiberReader::read(), QmitkNavigationToolCreationAdvancedWidget::ReInitialize(), QmitkNavigationToolCreationAdvancedWidget::RetrieveAndInitializeDataForTooltipManipulation(), mitk::RegistrationObject::SetReferenceGeometry(), testGeometry3D(), mitk::NeedleProjectionFilter::TransformToGeometry(), mitk::NodeDisplacementFilter::TransformToGeometry(), mitk::FiberBundle::UpdateFiberGeometry(), and mitk::Simulation::UpdateOutputInformation().
Definition at line 46 of file mitkGeometry3D.h.
|
inlineoverrideprotectedvirtual |
PreSetSpacing.
These virtual function allows a different beahiour in subclasses. Do implement them in every subclass of BaseGeometry. If not needed, use {Superclass::PreSetSpacing();};
Reimplemented from mitk::BaseGeometry.
Definition at line 76 of file mitkGeometry3D.h.