Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
This filter interpolates the 3D surface for a segmented area. The basis for the interpolation are the edge-points of contours that are drawn into an image. More...
#include <mitkCreateDistanceImageFromSurfaceFilter.h>
Public Member Functions | |
mitkClassMacro (CreateDistanceImageFromSurfaceFilter, ImageSource) | |
Pointer | Clone () const |
virtual double | GetDistanceImageSpacing () |
virtual void | SetInput (const mitk::Surface *surface) |
virtual void | SetInput (unsigned int idx, const mitk::Surface *surface) |
virtual const mitk::Surface * | GetInput () |
virtual const mitk::Surface * | GetInput (unsigned int idx) |
virtual void | RemoveInputs (mitk::Surface *input) |
virtual void | SetDistanceImageVolume (unsigned int _arg) |
Set the size of the output distance image. The size is specified by the image's volume (i.e. in this case how many pixels are enclosed by the image) If non is set, the volume will be 500000 pixels. More... | |
void | PrintEquationSystem () |
void | Reset () |
void | SetUseProgressBar (bool) |
Set whether the mitkProgressBar should be used. More... | |
void | SetProgressStepSize (unsigned int stepSize) |
Set the stepsize which the progress bar should proceed. More... | |
void | SetReferenceImage (itk::ImageBase< 3 >::Pointer referenceImage) |
Public Member Functions inherited from mitk::ImageSource | |
virtual std::vector< std::string > | GetClassHierarchy () const override |
virtual const char * | GetClassName () const |
Pointer | Clone () const |
OutputType * | GetOutput () |
Get the output data of this image source object. More... | |
const OutputType * | GetOutput () const |
OutputType * | GetOutput (DataObjectPointerArraySizeType idx) |
const OutputType * | GetOutput (DataObjectPointerArraySizeType idx) const |
virtual itk::DataObject::Pointer | MakeOutput (DataObjectPointerArraySizeType idx) override |
Make a DataObject of the correct type to used as the specified output. More... | |
virtual itk::DataObject::Pointer | MakeOutput (const DataObjectIdentifierType &name) override |
virtual vtkImageData * | GetVtkImageData () |
virtual const vtkImageData * | GetVtkImageData () const |
Public Member Functions inherited from mitk::BaseDataSource | |
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 Public Member Functions inherited from mitk::ImageSource | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
Method for creation through the object factory. More... | |
Static Public Member Functions inherited from mitk::BaseDataSource | |
static const char * | GetStaticNameOfClass () |
Protected Member Functions | |
CreateDistanceImageFromSurfaceFilter () | |
virtual | ~CreateDistanceImageFromSurfaceFilter () |
virtual void | GenerateData () override |
A version of GenerateData() specific for image processing filters. More... | |
virtual void | GenerateOutputInformation () override |
Protected Member Functions inherited from mitk::ImageSource | |
ImageSource () | |
virtual | ~ImageSource () |
virtual void | ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) |
If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). More... | |
virtual void | PrepareOutputs () override |
This method is intentionally left blank. More... | |
virtual void | AllocateOutputs () |
The GenerateData method normally allocates the buffers for all of the outputs of a filter. More... | |
virtual void | BeforeThreadedGenerateData () |
If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). More... | |
virtual void | AfterThreadedGenerateData () |
If an imaging filter needs to perform processing after all processing threads have completed, the filter can can provide an implementation for AfterThreadedGenerateData(). More... | |
virtual unsigned int | SplitRequestedRegion (unsigned int i, unsigned int num, OutputImageRegionType &splitRegion) |
Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". More... | |
Protected Member Functions inherited from mitk::BaseDataSource | |
BaseDataSource () | |
virtual | ~BaseDataSource () |
Additional Inherited Members | |
Static Protected Member Functions inherited from mitk::ImageSource | |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Static function used as a "callback" by the MultiThreader. More... | |
Static Protected Member Functions inherited from mitk::BaseDataSource | |
static Pointer | New () |
This filter interpolates the 3D surface for a segmented area. The basis for the interpolation are the edge-points of contours that are drawn into an image.
The interpolation itself is performed via Radial Basis Function Interpolation.
ATTENTION: This filter needs beside the edge points of the delineated contours additionally the normals for each edge point.
Based on the contour edge points and their normal this filter calculates a distance function with the following properties:
With this interpolated distance function a distance image will be created. The desired surface can then be extract e.g. with the marching cubes algorithm. (Within the distance image the surface goes exactly where the pixelvalues are zero)
Note that the obtained distance image has always an isotropig spacing. The size (in this case volume) of the
image can be adjusted by calling SetDistanceImageVolume(unsigned int volume) which specifies the number ob pixels enclosed by the image.
Definition at line 68 of file mitkCreateDistanceImageFromSurfaceFilter.h.
typedef std::vector<PointType> mitk::CreateDistanceImageFromSurfaceFilter::CenterList |
Definition at line 77 of file mitkCreateDistanceImageFromSurfaceFilter.h.
typedef itk::Image<double, 3> mitk::CreateDistanceImageFromSurfaceFilter::DistanceImageType |
Definition at line 73 of file mitkCreateDistanceImageFromSurfaceFilter.h.
typedef DistanceImageType::IndexType mitk::CreateDistanceImageFromSurfaceFilter::IndexType |
Definition at line 74 of file mitkCreateDistanceImageFromSurfaceFilter.h.
typedef std::vector<PointType> mitk::CreateDistanceImageFromSurfaceFilter::NormalList |
Definition at line 76 of file mitkCreateDistanceImageFromSurfaceFilter.h.
typedef vnl_vector_fixed<double, 3> mitk::CreateDistanceImageFromSurfaceFilter::PointType |
Definition at line 71 of file mitkCreateDistanceImageFromSurfaceFilter.h.
typedef std::vector<Surface::Pointer> mitk::CreateDistanceImageFromSurfaceFilter::SurfaceList |
Definition at line 79 of file mitkCreateDistanceImageFromSurfaceFilter.h.
|
protected |
Definition at line 111 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
References mitk::Image::New().
|
protectedvirtual |
Definition at line 121 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
Pointer mitk::CreateDistanceImageFromSurfaceFilter::Clone | ( | ) | const |
|
overrideprotectedvirtual |
A version of GenerateData() specific for image processing filters.
This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.
Reimplemented from mitk::ImageSource.
Definition at line 125 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
References mitk::ProgressBar::GetInstance(), and mitk::ProgressBar::Progress().
|
overrideprotectedvirtual |
Definition at line 447 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
|
virtual |
|
virtual |
Definition at line 488 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
|
virtual |
Definition at line 496 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
mitk::CreateDistanceImageFromSurfaceFilter::mitkClassMacro | ( | CreateDistanceImageFromSurfaceFilter | , |
ImageSource | |||
) |
|
static |
void mitk::CreateDistanceImageFromSurfaceFilter::PrintEquationSystem | ( | ) |
Definition at line 451 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
|
virtual |
Definition at line 504 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
void mitk::CreateDistanceImageFromSurfaceFilter::Reset | ( | void | ) |
Definition at line 518 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
References mitk::Image::New().
|
virtual |
Set the size of the output distance image. The size is specified by the image's volume (i.e. in this case how many pixels are enclosed by the image) If non is set, the volume will be 500000 pixels.
|
virtual |
Definition at line 474 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
|
virtual |
Definition at line 479 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
void mitk::CreateDistanceImageFromSurfaceFilter::SetProgressStepSize | ( | unsigned int | stepSize | ) |
Set the stepsize which the progress bar should proceed.
Parameter The stepsize for progressing
Definition at line 536 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
void mitk::CreateDistanceImageFromSurfaceFilter::SetReferenceImage | ( | itk::ImageBase< 3 >::Pointer | referenceImage | ) |
Definition at line 541 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.
void mitk::CreateDistanceImageFromSurfaceFilter::SetUseProgressBar | ( | bool | status | ) |
Set whether the mitkProgressBar should be used.
Parameter true for using the progress bar, false otherwise
Definition at line 531 of file mitkCreateDistanceImageFromSurfaceFilter.cpp.