|
| CorrectorAlgorithm () |
|
| ~CorrectorAlgorithm () override |
|
void | GenerateData () override |
|
bool | ImprovedHeimannCorrectionAlgorithm (itk::Image< DefaultSegmentationDataType, 2 >::Pointer pic) |
|
bool | ModifySegment (const TSegData &segment, itk::Image< DefaultSegmentationDataType, 2 >::Pointer pic) |
|
| ImageToImageFilter () |
|
| ~ImageToImageFilter () override |
|
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
|
void | GenerateInputRequestedRegion () override |
|
| ImageSource () |
|
| ~ImageSource () override |
|
void | GenerateData () override |
| A version of GenerateData() specific for image processing filters. More...
|
|
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...
|
|
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...
|
|
| BaseDataSource () |
|
| ~BaseDataSource () override |
|
This class encapsulates an algorithm, which takes a 2D binary image and a contour. The algorithm tests if the line begins and ends inside or outside a segmentation and whether areas should be added to or subtracted from the segmentation shape.
This class has two outputs:
The output image is a combination of the original input with the generated difference image.
- See also
- CorrectorTool2D
Definition at line 39 of file mitkCorrectorAlgorithm.h.
Some documentation (not by the original author)
TobiasHeimannCorrectionAlgorithm will be called, when the user has finished drawing a freehand line.
There should be different results, depending on the line's properties:
- Without any prior segmentation, the start point and the end point of the drawn line will be connected to a contour and the area enclosed by the contour will be marked as segmentation.
- When the whole line is inside a segmentation, start and end point will be connected to a contour and the area of this contour will be subtracted from the segmentation.
- When the line starts inside a segmentation and ends outside with only a single transition from segmentation to no-segmentation, nothing will happen.
- When there are multiple transitions between inside-segmentation and outside-segmentation, the line will be divided in so called segments. Each segment is either fully inside or fully outside a segmentation. When it is inside a segmentation, its enclosed area will be subtracted from the segmentation. When the segment is outside a segmentation, its enclosed area it will be added to the segmentation.
The algorithm is described in full length in Tobias Heimann's diploma thesis (MBI Technical Report 145, p. 37 - 40).
Definition at line 133 of file mitkCorrectorAlgorithm.cpp.
References m_Contour, m_EraseColor, m_FillColor, m_WorkingImage, mitkThrow, ModifySegment(), mitk::CorrectorAlgorithm::TSegData::points, mitk::ContourModelUtils::ProjectContourTo2DSlice(), and yOffset.
Referenced by GenerateData().