Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
Helper class providing functions which are useful for multiple usage. More...
#include <mitkToFProcessingCommon.h>
Public Types | |
typedef double | ToFScalarType |
typedef itk::Point< ToFScalarType, 2 > | ToFPoint2D |
typedef itk::Point< ToFScalarType, 3 > | ToFPoint3D |
typedef itk::Vector< ToFScalarType, 2 > | ToFVector2D |
typedef itk::Vector< ToFScalarType, 3 > | ToFVector3D |
Static Public Member Functions | |
static ToFPoint3D | IndexToCartesianCoordinates (unsigned int i, unsigned int j, ToFScalarType distance, ToFScalarType focalLengthX, ToFScalarType focalLengthY, ToFScalarType principalPointX, ToFScalarType principalPointY) |
Convert index based distances to cartesian coordinates. More... | |
static ToFPoint3D | IndexToCartesianCoordinates (unsigned int i, unsigned int j, ToFScalarType distance, ToFPoint2D focalLength, ToFPoint2D principalPoint) |
Convert index based distances to cartesian coordinates. More... | |
static ToFPoint3D | IndexToCartesianCoordinates (itk::Index< 3 > index, ToFScalarType distance, ToFPoint2D focalLength, ToFPoint2D principalPoint) |
Convert index based distances to cartesian coordinates. More... | |
static ToFPoint3D | IndexToCartesianCoordinates (unsigned int i, unsigned int j, ToFScalarType distance, ToFScalarType focalLength[2], ToFScalarType principalPoint[2]) |
Convenience method to convert index based distances to cartesian coordinates using array as input. More... | |
static ToFPoint3D | IndexToCartesianCoordinatesWithInterpixdist (unsigned int i, unsigned int j, ToFScalarType distance, ToFScalarType focalLength, ToFScalarType interPixelDistanceX, ToFScalarType interPixelDistanceY, ToFScalarType principalPointX, ToFScalarType principalPointY) |
Convert index based distances to cartesian coordinates. More... | |
static ToFPoint3D | IndexToCartesianCoordinatesWithInterpixdist (unsigned int i, unsigned int j, ToFScalarType distance, ToFScalarType focalLength, ToFPoint2D interPixelDistance, ToFPoint2D principalPoint) |
Convert index based distances to cartesian coordinates. More... | |
static ToFPoint3D | IndexToCartesianCoordinatesWithInterpixdist (itk::Index< 3 > index, ToFScalarType distance, ToFScalarType focalLength, ToFPoint2D interPixelDistance, ToFPoint2D principalPoint) |
Convert index based distances to cartesian coordinates. More... | |
static ToFPoint3D | IndexToCartesianCoordinatesWithInterpixdist (unsigned int i, unsigned int j, ToFScalarType distance, ToFScalarType focalLength, ToFScalarType interPixelDistance[2], ToFScalarType principalPoint[2]) |
Convenience method to convert index based distances to cartesian coordinates using array as input. More... | |
static ToFPoint3D | CartesianToIndexCoordinates (ToFScalarType cartesianPointX, ToFScalarType cartesianPointY, ToFScalarType cartesianPointZ, ToFScalarType focalLengthX, ToFScalarType focalLengthY, ToFScalarType principalPointX, ToFScalarType principalPointY, bool calculateDistance=true) |
Convert cartesian coordinates to index based distances. More... | |
static ToFPoint3D | CartesianToIndexCoordinates (ToFScalarType cartesianPoint[3], ToFScalarType focalLength[2], ToFScalarType principalPoint[2], bool calculateDistance=true) |
Convenience method to convert cartesian coordinates to index based distances using arrays. More... | |
static ToFPoint3D | CartesianToIndexCoordinates (ToFPoint3D cartesianPoint, ToFPoint2D focalLength, ToFPoint2D principalPoint, bool calculateDistance=true) |
Convert cartesian coordinates to index based distances. More... | |
static ToFPoint3D | CartesianToIndexCoordinatesWithInterpixdist (ToFScalarType cartesianPointX, ToFScalarType cartesianPointY, ToFScalarType cartesianPointZ, ToFScalarType focalLength, ToFScalarType interPixelDistanceX, ToFScalarType interPixelDistanceY, ToFScalarType principalPointX, ToFScalarType principalPointY, bool calculateDistance=true) |
Convert cartesian coordinates to index based distances. More... | |
static ToFPoint3D | CartesianToIndexCoordinatesWithInterpixdist (ToFScalarType cartesianPoint[3], ToFScalarType focalLength, ToFScalarType interPixelDistance[2], ToFScalarType principalPoint[2], bool calculateDistance=true) |
Convenience method to convert cartesian coordinates to index based distances using arrays. More... | |
static ToFPoint3D | CartesianToIndexCoordinatesWithInterpixdist (ToFPoint3D cartesianPoint, ToFScalarType focalLength, ToFPoint2D interPixelDistance, ToFPoint2D principalPoint, bool calculateDistance=true) |
Convert cartesian coordinates to index based distances. More... | |
static ToFProcessingCommon::ToFPoint3D | ContinuousKinectIndexToCartesianCoordinates (mitk::Point2D continuousIndex, ToFScalarType distance, ToFScalarType focalLengthX, ToFScalarType focalLengthY, ToFScalarType principalPointX, ToFScalarType principalPointY) |
ContinuousKinectIndexToCartesianCoordinates This method is escpially meant for reconstructing a Kinect point with continuous index coordinates (i.e. not exactly a pixel position, but a point interpolated between two pixels). The only difference to KinectIndexToCartesianCoordinates() is that ContinuousKinectIndexToCartesianCoordinates does not cast to unsigned int for the index. More... | |
static ToFScalarType | CalculateViewAngle (mitk::CameraIntrinsics::Pointer intrinsics, unsigned int dimX) |
Calculates the horizontal view angle of the camera with the given intrinsics. More... | |
static ToFProcessingCommon::ToFPoint3D | KinectIndexToCartesianCoordinates (unsigned int i, unsigned int j, ToFScalarType distance, ToFScalarType focalLengthX, ToFScalarType focalLengthY, ToFScalarType principalPointX, ToFScalarType principalPointY) |
KinectIndexToCartesianCoordinates Convert a pixel (i,j) with value d to a 3D world point. This conversion is meant for Kinect and slightly different then ToF reconstruction. See also "Hacking the Kinect" - Jeff Kramer, Matt Parker, Daniel Herrera C., Nicolas Burrus, Florian Echtler, Chapter 7, Part 1 "Moving from Depth Map to Point Cloud. More... | |
static ToFPoint3D | KinectIndexToCartesianCoordinates (unsigned int i, unsigned int j, ToFScalarType distance, ToFScalarType focalLength[2], ToFScalarType principalPoint[2]) |
KinectIndexToCartesianCoordinates Convert a pixel (i,j) with value d to a 3D world point. This conversion is meant for Kinect and slightly different then ToF reconstruction. See also "Hacking the Kinect" - Jeff Kramer, Matt Parker, Daniel Herrera C., Nicolas Burrus, Florian Echtler, Chapter 7, Part 1 "Moving from Depth Map to Point Cloud. More... | |
static ToFPoint3D | KinectIndexToCartesianCoordinates (unsigned int i, unsigned int j, ToFScalarType distance, ToFPoint2D focalLength, ToFPoint2D principalPoint) |
KinectIndexToCartesianCoordinates Convert a pixel (i,j) with value d to a 3D world point. This conversion is meant for Kinect and slightly different then ToF reconstruction. See also "Hacking the Kinect" - Jeff Kramer, Matt Parker, Daniel Herrera C., Nicolas Burrus, Florian Echtler, Chapter 7, Part 1 "Moving from Depth Map to Point Cloud. More... | |
static ToFPoint3D | KinectIndexToCartesianCoordinates (itk::Index< 3 > index, ToFScalarType distance, ToFPoint2D focalLength, ToFPoint2D principalPoint) |
KinectIndexToCartesianCoordinates Convert a pixel (i,j) with value d to a 3D world point. This conversion is meant for Kinect and slightly different then ToF reconstruction. See also "Hacking the Kinect" - Jeff Kramer, Matt Parker, Daniel Herrera C., Nicolas Burrus, Florian Echtler, Chapter 7, Part 1 "Moving from Depth Map to Point Cloud. More... | |
static ToFPoint3D | CartesianToKinectIndexCoordinates (ToFScalarType cartesianPointX, ToFScalarType cartesianPointY, ToFScalarType cartesianPointZ, ToFScalarType focalLengthX, ToFScalarType focalLengthY, ToFScalarType principalPointX, ToFScalarType principalPointY, bool calculateDistance=true) |
CartesianCoordinatesToKinectIndexCoordinates Transform a 3D world point back to distance image pixel coordinates. More... | |
static ToFProcessingCommon::ToFPoint3D | CartesianToKinectIndexCoordinates (ToFPoint3D cartesianPoint, ToFPoint2D focalLength, ToFPoint2D principalPoint, bool calculateDistance=true) |
CartesianCoordinatesToKinectIndexCoordinates Transform a 3D world point back to distance image pixel coordinates. More... | |
Helper class providing functions which are useful for multiple usage.
Currently the following methods are provided:
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 42 of file mitkToFProcessingCommon.h.
typedef itk::Point<ToFScalarType, 2> mitk::ToFProcessingCommon::ToFPoint2D |
Definition at line 46 of file mitkToFProcessingCommon.h.
typedef itk::Point<ToFScalarType, 3> mitk::ToFProcessingCommon::ToFPoint3D |
Definition at line 47 of file mitkToFProcessingCommon.h.
typedef double mitk::ToFProcessingCommon::ToFScalarType |
Definition at line 45 of file mitkToFProcessingCommon.h.
typedef itk::Vector<ToFScalarType, 2> mitk::ToFProcessingCommon::ToFVector2D |
Definition at line 48 of file mitkToFProcessingCommon.h.
typedef itk::Vector<ToFScalarType, 3> mitk::ToFProcessingCommon::ToFVector3D |
Definition at line 49 of file mitkToFProcessingCommon.h.
|
static |
Calculates the horizontal view angle of the camera with the given intrinsics.
intrinsics | intrinsic parameters of the camera |
dimX | dimension of the image in horizontal direction |
angle = atan(principalPoint[0]/focalLength[0]) + atan((dimX-principalPoint[0]/focalLength[0]))
Definition at line 164 of file mitkToFProcessingCommon.cpp.
Referenced by QmitkToFSurfaceGenerationWidget::OnCompute3DDataCheckboxChecked().
|
static |
Convert cartesian coordinates to index based distances.
cartesianPointX | x coordinate of point (of a surface or point set) to convert in 3D coordinates |
cartesianPointY | y coordinate of point (of a surface or point set) to convert in 3D coordinates |
cartesianPointZ | z coordinate of point (of a surface or point set) to convert in 3D coordinates |
focalLengthX | focal length of optical system in pixel units in x-direction (mostly obtained from camera calibration) |
focalLengthY | focal length of optical system in pixel units in y-direction (mostly obtained from camera calibration) |
principalPointX | x coordinate of principal point on image plane in pixel |
principalPointY | y coordinate of principal point on image plane in pixel |
calculateDistance | if this flag is set, the distance value is stored in the z position of the output otherwise z=0 |
Definition at line 96 of file mitkToFProcessingCommon.cpp.
|
inlinestatic |
Convenience method to convert cartesian coordinates to index based distances using arrays.
cartesianPoint | point (of a surface or point set) to convert in 3D coordinates |
focalLength | focal length of optical system in pixel units (mostly obtained from camera calibration) |
principalPoint | coordinates of principal point on image plane in pixel |
calculateDistance | if this flag is set, the distance value is stored in the z position of the output otherwise z=0 |
Definition at line 194 of file mitkToFProcessingCommon.h.
|
inlinestatic |
Convert cartesian coordinates to index based distances.
cartesianPoint | point (of a surface or point set) to convert in 3D coordinates |
focalLength | focal length of optical system in pixel units (mostly obtained from camera calibration) |
principalPoint | coordinates of principal point on image plane in pixel |
calculateDistance | if this flag is set, the distance value is stored in the z position of the output otherwise z=0 |
Definition at line 208 of file mitkToFProcessingCommon.h.
|
static |
Convert cartesian coordinates to index based distances.
cartesianPointX | x coordinate of point (of a surface or point set) to convert in 3D coordinates |
cartesianPointY | y coordinate of point (of a surface or point set) to convert in 3D coordinates |
cartesianPointZ | z coordinate of point (of a surface or point set) to convert in 3D coordinates |
focalLength | focal length of optical system in mm (mostly obtained from camera calibration) |
interPixelDistanceX | distance in x direction between adjacent pixels in mm |
interPixelDistanceY | distance in y direction between adjacent pixels in mm |
principalPointX | x coordinate of principal point on image plane in pixel |
principalPointY | y coordinate of principal point on image plane in pixel |
calculateDistance | if this flag is set, the distance value is stored in the z position of the output otherwise z=0 |
Definition at line 128 of file mitkToFProcessingCommon.cpp.
|
inlinestatic |
Convenience method to convert cartesian coordinates to index based distances using arrays.
cartesianPoint | point (of a surface or point set) to convert in 3D coordinates |
focalLength | focal length of optical system in mm (mostly obtained from camera calibration) |
interPixelDistance | distance between adjacent pixels in mm for x and y direction |
principalPoint | coordinates of principal point on image plane in pixel |
calculateDistance | if this flag is set, the distance value is stored in the z position of the output otherwise z=0 |
Definition at line 242 of file mitkToFProcessingCommon.h.
|
inlinestatic |
Convert cartesian coordinates to index based distances.
cartesianPoint | point (of a surface or point set) to convert in 3D coordinates |
focalLength | focal length of optical system in mm (mostly obtained from camera calibration) |
interPixelDistance | distance between adjacent pixels in mm for x and y direction |
principalPoint | coordinates of principal point on image plane in pixel |
calculateDistance | if this flag is set, the distance value is stored in the z position of the output otherwise z=0 |
Definition at line 258 of file mitkToFProcessingCommon.h.
|
static |
CartesianCoordinatesToKinectIndexCoordinates Transform a 3D world point back to distance image pixel coordinates.
cartesianPointX | x value of the cartesian point. |
cartesianPointY | y value of the cartesian point. |
cartesianPointZ | z value of the cartesian point. |
focalLengthX | x value of the focal length (from calibration). |
focalLengthY | y value of the focal length (from calibration). |
principalPointX | x value of the principal point (from calibration). |
principalPointY | y value of the principal point (from calibration). |
calculateDistance | Do you want to compute also the distance of the distance image? For Kinect, this value is always the same in cartesian and index coordinates. |
Definition at line 57 of file mitkToFProcessingCommon.cpp.
|
inlinestatic |
CartesianCoordinatesToKinectIndexCoordinates Transform a 3D world point back to distance image pixel coordinates.
cartesianPointX | x value of the cartesian point. |
cartesianPointY | y value of the cartesian point. |
cartesianPointZ | z value of the cartesian point. |
focalLengthX | x value of the focal length (from calibration). |
focalLengthY | y value of the focal length (from calibration). |
principalPointX | x value of the principal point (from calibration). |
principalPointY | y value of the principal point (from calibration). |
calculateDistance | Do you want to compute also the distance of the distance image? For Kinect, this value is always the same in cartesian and index coordinates. |
Definition at line 315 of file mitkToFProcessingCommon.h.
|
static |
ContinuousKinectIndexToCartesianCoordinates This method is escpially meant for reconstructing a Kinect point with continuous index coordinates (i.e. not exactly a pixel position, but a point interpolated between two pixels). The only difference to KinectIndexToCartesianCoordinates() is that ContinuousKinectIndexToCartesianCoordinates does not cast to unsigned int for the index.
continuousIndex | The continuous coordinates (e.g. 0.5; 0.5). |
distance | Distance value d in mm as obtained from OpenNI. |
focalLengthX | x value of the focal length (from calibration). |
focalLengthY | y value of the focal length (from calibration) |
principalPointX | x value of the principal point (from calibration). |
principalPointY | y value of the principal point (from calibration). |
Definition at line 153 of file mitkToFProcessingCommon.cpp.
|
static |
Convert index based distances to cartesian coordinates.
i | index in x direction of image plane |
j | index in y direction of image plane |
distance | distance value at given index in mm |
focalLengthX | focal length of optical system in pixel units in x-direction (mostly obtained from camera calibration) |
focalLengthY | focal length of optical system in pixel units in y-direction (mostly obtained from camera calibration) |
principalPointX | x coordinate of principal point on image plane in pixel |
principalPointY | y coordinate of principal point on image plane in pixel |
Definition at line 20 of file mitkToFProcessingCommon.cpp.
Referenced by mitk::ToFDistanceImageToPointSetFilter::GenerateData(), and mitk::ToFDistanceImageToSurfaceFilter::GenerateData().
|
inlinestatic |
Convert index based distances to cartesian coordinates.
i | index in x direction of image plane |
j | index in y direction of image plane |
distance | distance value at given index in mm |
focalLength | focal length of optical system in pixel units (mostly obtained from camera calibration) |
principalPoint | coordinates of principal point on image plane in pixel |
Definition at line 74 of file mitkToFProcessingCommon.h.
|
inlinestatic |
Convert index based distances to cartesian coordinates.
index | index coordinates |
distance | distance value at given index in mm |
focalLength | focal length of optical system in pixel units (mostly obtained from camera calibration) |
principalPoint | coordinates of principal point on image plane in pixel |
Definition at line 88 of file mitkToFProcessingCommon.h.
|
inlinestatic |
Convenience method to convert index based distances to cartesian coordinates using array as input.
i | index in x direction of image plane |
j | index in y direction of image plane |
distance | distance value at given index in mm |
focalLength | focal length of optical system in pixel units (mostly obtained from camera calibration) |
principalPoint | coordinates of principal point on image plane in pixel |
Definition at line 102 of file mitkToFProcessingCommon.h.
|
static |
Convert index based distances to cartesian coordinates.
i | index in x direction of image plane |
j | index in y direction of image plane |
distance | distance value at given index in mm |
focalLength | focal length of optical system in mm (mostly obtained from camera calibration) |
interPixelDistanceX | distance in x direction between adjacent pixels in mm |
interPixelDistanceY | distance in y direction between adjacent pixels in mm |
principalPointX | x coordinate of principal point on image plane in pixel |
principalPointY | y coordinate of principal point on image plane in pixel |
Definition at line 74 of file mitkToFProcessingCommon.cpp.
Referenced by mitk::ToFDistanceImageToPointSetFilter::GenerateData(), and mitk::ToFDistanceImageToSurfaceFilter::GenerateData().
|
inlinestatic |
Convert index based distances to cartesian coordinates.
i | index in x direction of image plane |
j | index in y direction of image plane |
distance | distance value at given index in mm |
focalLength | focal length of optical system in mm (mostly obtained from camera calibration) |
interPixelDistance | distance between adjacent pixels in mm |
principalPoint | coordinates of principal point on image plane in pixel |
Definition at line 134 of file mitkToFProcessingCommon.h.
|
inlinestatic |
Convert index based distances to cartesian coordinates.
index | index coordinates |
distance | distance value at given index in mm |
focalLength | focal length of optical system (mostly obtained from camera calibration) |
interPixelDistance | distance between adjacent pixels in mm for x and y direction |
principalPoint | coordinates of principal point on image plane in pixel |
Definition at line 148 of file mitkToFProcessingCommon.h.
|
inlinestatic |
Convenience method to convert index based distances to cartesian coordinates using array as input.
i | index in x direction of image plane |
j | index in y direction of image plane |
distance | distance value at given index in mm |
focalLength | focal length of optical system in mm (mostly obtained from camera calibration) |
interPixelDistance | distance between adjacent pixels in mm |
principalPoint | coordinates of principal point on image plane in pixel |
Definition at line 163 of file mitkToFProcessingCommon.h.
|
static |
KinectIndexToCartesianCoordinates Convert a pixel (i,j) with value d to a 3D world point. This conversion is meant for Kinect and slightly different then ToF reconstruction. See also "Hacking the Kinect" - Jeff Kramer, Matt Parker, Daniel Herrera C., Nicolas Burrus, Florian Echtler, Chapter 7, Part 1 "Moving from Depth Map to Point Cloud.
i | Pixel index i. |
j | Pixel index j. |
distance | Distance value d in mm as obtained from OpenNI. |
focalLengthX | Focallength from calibration. |
focalLengthY | Focallength from calibration. |
principalPointX | Principal point from calibration. |
principalPointY | Principal point from calibration. |
Definition at line 45 of file mitkToFProcessingCommon.cpp.
Referenced by mitk::ToFDistanceImageToSurfaceFilter::GenerateData().
|
inlinestatic |
KinectIndexToCartesianCoordinates Convert a pixel (i,j) with value d to a 3D world point. This conversion is meant for Kinect and slightly different then ToF reconstruction. See also "Hacking the Kinect" - Jeff Kramer, Matt Parker, Daniel Herrera C., Nicolas Burrus, Florian Echtler, Chapter 7, Part 1 "Moving from Depth Map to Point Cloud.
i | Pixel index i. |
j | Pixel index j. |
distance | Distance value d in mm as obtained from OpenNI. |
focalLengthX | Focallength from calibration. |
focalLengthY | Focallength from calibration. |
principalPointX | Principal point from calibration. |
principalPointY | Principal point from calibration. |
Definition at line 280 of file mitkToFProcessingCommon.h.
|
inlinestatic |
KinectIndexToCartesianCoordinates Convert a pixel (i,j) with value d to a 3D world point. This conversion is meant for Kinect and slightly different then ToF reconstruction. See also "Hacking the Kinect" - Jeff Kramer, Matt Parker, Daniel Herrera C., Nicolas Burrus, Florian Echtler, Chapter 7, Part 1 "Moving from Depth Map to Point Cloud.
i | Pixel index i. |
j | Pixel index j. |
distance | Distance value d in mm as obtained from OpenNI. |
focalLengthX | Focallength from calibration. |
focalLengthY | Focallength from calibration. |
principalPointX | Principal point from calibration. |
principalPointY | Principal point from calibration. |
Definition at line 286 of file mitkToFProcessingCommon.h.
|
inlinestatic |
KinectIndexToCartesianCoordinates Convert a pixel (i,j) with value d to a 3D world point. This conversion is meant for Kinect and slightly different then ToF reconstruction. See also "Hacking the Kinect" - Jeff Kramer, Matt Parker, Daniel Herrera C., Nicolas Burrus, Florian Echtler, Chapter 7, Part 1 "Moving from Depth Map to Point Cloud.
i | Pixel index i. |
j | Pixel index j. |
distance | Distance value d in mm as obtained from OpenNI. |
focalLengthX | Focallength from calibration. |
focalLengthY | Focallength from calibration. |
principalPointX | Principal point from calibration. |
principalPointY | Principal point from calibration. |
Definition at line 292 of file mitkToFProcessingCommon.h.