NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
Takes image data, and calculates a surface reconstruction, and write a point cloud to mitk::DataStorage. More...
Classes | |
struct | ParamPacket |
Public Types | |
enum | Method { SEQUENTIAL_CPU = 0, PYRAMID_PARALLEL_CPU = 1, PYRAMID_PARALLEL_CUDA } |
enum | OutputType { MITK_POINT_CLOUD = 1, PCL_POINT_CLOUD = 2, DISPARITY_IMAGE = 3 } |
Public Member Functions | |
mitkClassMacroItkParent (SurfaceReconstruction, itk::Object) static Pointer New() | |
mitk::BaseData::Pointer | Run (const mitk::Image::Pointer image1, const mitk::Image::Pointer image2, Method method, OutputType outputtype, const mitk::DataNode::Pointer camnode, float maxTriangulationError, float minDepth, float maxDepth, bool bakeCameraTransform) |
mitk::BaseData::Pointer | Run (ParamPacket params) |
Static Public Member Functions | |
static bool | GetMethodDetails (int index, Method *id, std::string *friendlyname) |
static Method | ParseMethodName (const std::string &friendlyname) |
Protected Member Functions | |
SurfaceReconstruction () | |
virtual | ~SurfaceReconstruction () |
SurfaceReconstruction (const SurfaceReconstruction &) | |
SurfaceReconstruction & | operator= (const SurfaceReconstruction &) |
Takes image data, and calculates a surface reconstruction, and write a point cloud to mitk::DataStorage.
|
protected |
|
protectedvirtual |
|
protected |
|
static |
Returns some details of a available reconstruction methods. You should loop from zero in parameter index until it returns false. Stuff the returned friendlyname into a GUI combobox, and when the user chooses a method, read it back from the combobox and pass it into ParseMethodName() to retrieve the ID that can be passed into Run().
niftk::SurfaceReconstruction::mitkClassMacroItkParent | ( | SurfaceReconstruction | , |
itk::Object | |||
) |
|
protected |
|
static |
Will throw an exception of the name is not recognised.
mitk::BaseData::Pointer niftk::SurfaceReconstruction::Run | ( | const mitk::Image::Pointer | image1, |
const mitk::Image::Pointer | image2, | ||
Method | method, | ||
OutputType | outputtype, | ||
const mitk::DataNode::Pointer | camnode, | ||
float | maxTriangulationError, | ||
float | minDepth, | ||
float | maxDepth, | ||
bool | bakeCameraTransform | ||
) |
std::logic_error | if method is not implemented (beware: just because a method ID exists in the Method enum doesn't mean it's actually implemented! you need to loop through GetMethodDetails().) |
std::runtime_error | if the dimensions of image1 and image2 are not the same. |
std::runtime_error | if outputtype is POINT_CLOUD and either image lacks property niftk::Undistortion::s_CameraCalibrationPropertyName. |
std::runtime_error | if property niftk::Undistortion::s_CameraCalibrationPropertyName is not of type mitk::CameraIntrinsicsProperty |
std::runtime_error | if property niftk::Undistortion::s_StereoRigTransformationPropertyName is not of type niftk::MatrixProperty |
std::runtime_error | if MITK image accessors fail. |
mitk::BaseData::Pointer niftk::SurfaceReconstruction::Run | ( | ParamPacket | params | ) |