Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
Converts a Time-of-Flight (ToF) distance image to a PointSet using the pinhole camera model for coordinate computation. The intrinsic parameters of the camera (FocalLength, PrincipalPoint, InterPixelDistance) are set via SetIntrinsicParameters(). The measured distance for each pixel corresponds to the distance between the object point and the corresponding image point on the image plane. If a subset of indizes of the image is defined via SetSubset(), the output PointSet will only contain the cartesian coordinates of the corresponding 3D points. More...
#include <mitkToFDistanceImageToPointSetFilter.h>
Public Member Functions | |
mitkClassMacro (ToFDistanceImageToPointSetFilter, PointSetSource) | |
Pointer | Clone () const |
virtual void | SetCameraIntrinsics (mitk::CameraIntrinsics::Pointer _arg) |
virtual mitk::CameraIntrinsics::Pointer | GetCameraIntrinsics () |
virtual void | SetInterPixelDistance (mitk::ToFProcessingCommon::ToFPoint2D _arg) |
virtual mitk::ToFProcessingCommon::ToFPoint2D | GetInterPixelDistance () |
virtual void | SetInput (const Image *distanceImage) |
Sets the input of this filter. More... | |
virtual void | SetInput (unsigned int idx, const Image *distanceImage) |
Sets the input of this filter at idx. More... | |
Image * | GetInput () |
Returns the input of this filter. More... | |
Image * | GetInput (unsigned int idx) |
Returns the input with id idx of this filter. More... | |
void | SetSubset (std::vector< itk::Index< 3 > > subset) |
If this subset is defined, the cartesian coordinates are only computed for the contained indizes. Make sure the indizes are contained in the input image. More... | |
void | SetSubset (mitk::PointSet::Pointer pointSet) |
Sets the subset of indizes used for caluclation of output PointSet as a PointSet. Warning: make sure the points in your PointSet are index coordinates. More... | |
void | SetReconstructionMode (bool withoutInterpixdist=true) |
Sets the reconstruction mode, if using no interpixeldistances and focal lenghts in pixel units (=true) or interpixeldistances and focal length in mm (=false) More... | |
bool | GetReconstructionMode () |
Returns the reconstruction mode. More... | |
![]() | |
virtual std::vector< std::string > | GetClassHierarchy () const override |
virtual const char * | GetClassName () const |
Pointer | Clone () const |
OutputType * | GetOutput () |
const OutputType * | GetOutput () const |
OutputType * | GetOutput (DataObjectPointerArraySizeType idx) |
const OutputType * | GetOutput (DataObjectPointerArraySizeType idx) const |
itk::DataObject::Pointer | MakeOutput (DataObjectPointerArraySizeType idx) override |
itk::DataObject::Pointer | MakeOutput (const DataObjectIdentifierType &name) override |
![]() | |
OutputType * | GetOutput () |
const OutputType * | GetOutput () const |
OutputType * | GetOutput (DataObjectPointerArraySizeType idx) |
const OutputType * | GetOutput (DataObjectPointerArraySizeType idx) const |
virtual void | GraftOutput (OutputType *output) |
Graft the specified BaseData onto this BaseDataSource's output. More... | |
virtual void | GraftOutput (const DataObjectIdentifierType &key, OutputType *output) |
virtual void | GraftNthOutput (unsigned int idx, OutputType *output) |
Graft the specified base data object onto this BaseDataSource's idx'th output. More... | |
bool | Updating () const |
Access itk::ProcessObject::m_Updating. More... | |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
![]() | |
static const char * | GetStaticNameOfClass () |
Protected Member Functions | |
ToFDistanceImageToPointSetFilter () | |
Standard constructor. More... | |
~ToFDistanceImageToPointSetFilter () override | |
Standard destructor. More... | |
void | GenerateOutputInformation () override |
void | GenerateData () override |
Method generating the output of this filter. Called in the updated process of the pipeline. This method generates the output of the ToFSurfaceSource: The generated surface of the 3d points. More... | |
void | CreateOutputsForAllInputs () |
Create an output for each input. More... | |
![]() | |
PointSetSource () | |
~PointSetSource () override | |
![]() | |
BaseDataSource () | |
~BaseDataSource () override | |
Protected Attributes | |
std::vector< itk::Index< 3 > > | m_Subset |
If this subset is specified only the contained indizes are converted to cartesian coordinates. More... | |
mitk::CameraIntrinsics::Pointer | m_CameraIntrinsics |
Member holding the intrinsic parameters needed for PointSet calculation. More... | |
ToFProcessingCommon::ToFPoint2D | m_InterPixelDistance |
distance in mm between two adjacent pixels on the ToF camera chip More... | |
bool | m_ReconstructionMode |
true = Reconstruction without interpixeldistance and with focal lengths in pixel units. false = Reconstruction with interpixeldistance and with focal length in mm. More... | |
Additional Inherited Members | |
![]() | |
typedef PointSetSource | Self |
typedef BaseDataSource | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef PointSet | OutputType |
typedef OutputType::Pointer | OutputTypePointer |
![]() | |
typedef BaseDataSource | Self |
typedef itk::ProcessObject | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef BaseData | OutputType |
typedef itk::DataObject::DataObjectIdentifierType | DataObjectIdentifierType |
![]() | |
static Pointer | New () |
Converts a Time-of-Flight (ToF) distance image to a PointSet using the pinhole camera model for coordinate computation. The intrinsic parameters of the camera (FocalLength, PrincipalPoint, InterPixelDistance) are set via SetIntrinsicParameters(). The measured distance for each pixel corresponds to the distance between the object point and the corresponding image point on the image plane. If a subset of indizes of the image is defined via SetSubset(), the output PointSet will only contain the cartesian coordinates of the corresponding 3D points.
The coordinate conversion follows the model of a common pinhole camera where the origin of the camera coordinate system (world coordinates) is at the pinhole
The definition of the image plane and its coordinate systems (pixel and mm) is depicted in the following image
Definition at line 43 of file mitkToFDistanceImageToPointSetFilter.h.
|
protected |
Standard constructor.
Definition at line 20 of file mitkToFDistanceImageToPointSetFilter.cpp.
References m_CameraIntrinsics, m_InterPixelDistance, m_ReconstructionMode, and mitk::CameraIntrinsics::New().
|
overrideprotected |
Standard destructor.
Definition at line 31 of file mitkToFDistanceImageToPointSetFilter.cpp.
Pointer mitk::ToFDistanceImageToPointSetFilter::Clone | ( | ) | const |
|
protected |
Create an output for each input.
This Method sets the number of outputs to the number of inputs and creates missing outputs objects.
Definition at line 195 of file mitkToFDistanceImageToPointSetFilter.cpp.
References mitk::PointSetSource::GetOutput(), and mitk::PointSetSource::MakeOutput().
Referenced by SetInput().
|
overrideprotected |
Method generating the output of this filter. Called in the updated process of the pipeline. This method generates the output of the ToFSurfaceSource: The generated surface of the 3d points.
Definition at line 115 of file mitkToFDistanceImageToPointSetFilter.cpp.
References mitk::eps, GetInput(), mitk::PointSetSource::GetOutput(), mitk::ToFProcessingCommon::IndexToCartesianCoordinates(), mitk::ToFProcessingCommon::IndexToCartesianCoordinatesWithInterpixdist(), m_CameraIntrinsics, m_InterPixelDistance, m_ReconstructionMode, and m_Subset.
|
overrideprotected |
Definition at line 207 of file mitkToFDistanceImageToPointSetFilter.cpp.
References mitk::PointSetSource::GetOutput().
|
virtual |
mitk::Image * mitk::ToFDistanceImageToPointSetFilter::GetInput | ( | void | ) |
Returns the input of this filter.
Definition at line 53 of file mitkToFDistanceImageToPointSetFilter.cpp.
Referenced by GenerateData(), and SetSubset().
mitk::Image * mitk::ToFDistanceImageToPointSetFilter::GetInput | ( | unsigned int | idx | ) |
Returns the input with id idx of this filter.
Definition at line 58 of file mitkToFDistanceImageToPointSetFilter.cpp.
|
virtual |
bool mitk::ToFDistanceImageToPointSetFilter::GetReconstructionMode | ( | ) |
Returns the reconstruction mode.
Definition at line 218 of file mitkToFDistanceImageToPointSetFilter.cpp.
References m_ReconstructionMode.
mitk::ToFDistanceImageToPointSetFilter::mitkClassMacro | ( | ToFDistanceImageToPointSetFilter | , |
PointSetSource | |||
) |
|
static |
|
virtual |
|
virtual |
Sets the input of this filter.
distanceImage | input is the distance image of e.g. a ToF camera |
Definition at line 35 of file mitkToFDistanceImageToPointSetFilter.cpp.
|
virtual |
Sets the input of this filter at idx.
idx | number of the current input |
distanceImage | input is the distance image of e.g. a ToF camera |
Definition at line 40 of file mitkToFDistanceImageToPointSetFilter.cpp.
References CreateOutputsForAllInputs().
|
virtual |
void mitk::ToFDistanceImageToPointSetFilter::SetReconstructionMode | ( | bool | withoutInterpixdist = true | ) |
Sets the reconstruction mode, if using no interpixeldistances and focal lenghts in pixel units (=true) or interpixeldistances and focal length in mm (=false)
Definition at line 213 of file mitkToFDistanceImageToPointSetFilter.cpp.
References m_ReconstructionMode.
void mitk::ToFDistanceImageToPointSetFilter::SetSubset | ( | std::vector< itk::Index< 3 > > | subset | ) |
If this subset is defined, the cartesian coordinates are only computed for the contained indizes. Make sure the indizes are contained in the input image.
subset | index subset specified in index coordinates. |
Definition at line 66 of file mitkToFDistanceImageToPointSetFilter.cpp.
References GetInput(), m_Subset, and MITK_ERROR.
Referenced by SetSubset().
void mitk::ToFDistanceImageToPointSetFilter::SetSubset | ( | mitk::PointSet::Pointer | pointSet | ) |
Sets the subset of indizes used for caluclation of output PointSet as a PointSet. Warning: make sure the points in your PointSet are index coordinates.
PointSet | specified in index coordinates. |
Definition at line 100 of file mitkToFDistanceImageToPointSetFilter.cpp.
References SetSubset().
|
protected |
Member holding the intrinsic parameters needed for PointSet calculation.
Definition at line 130 of file mitkToFDistanceImageToPointSetFilter.h.
Referenced by GenerateData(), and ToFDistanceImageToPointSetFilter().
|
protected |
distance in mm between two adjacent pixels on the ToF camera chip
Definition at line 131 of file mitkToFDistanceImageToPointSetFilter.h.
Referenced by GenerateData(), and ToFDistanceImageToPointSetFilter().
|
protected |
true = Reconstruction without interpixeldistance and with focal lengths in pixel units. false = Reconstruction with interpixeldistance and with focal length in mm.
Definition at line 132 of file mitkToFDistanceImageToPointSetFilter.h.
Referenced by GenerateData(), GetReconstructionMode(), SetReconstructionMode(), and ToFDistanceImageToPointSetFilter().
|
protected |
If this subset is specified only the contained indizes are converted to cartesian coordinates.
Definition at line 129 of file mitkToFDistanceImageToPointSetFilter.h.
Referenced by GenerateData(), and SetSubset().