Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
FastMarching semgentation tool. More...
#include <mitkFastMarchingTool.h>
Public Member Functions | |
mitkClassMacro (FastMarchingTool, FeedbackContourTool) | |
Pointer | Clone () const |
virtual const char ** | GetXPM () const override |
Returns an icon in the XPM format. More... | |
virtual const char * | GetName () const override |
Returns the name of this tool. Make it short! More... | |
virtual us::ModuleResource | GetCursorIconResource () const override |
Returns the path of a cursor icon. More... | |
us::ModuleResource | GetIconResource () const override |
Returns the tool button icon of the tool wrapped by a usModuleResource. More... | |
void | SetUpperThreshold (double) |
Set parameter used in Threshold filter. More... | |
void | SetLowerThreshold (double) |
Set parameter used in Threshold filter. More... | |
void | SetStoppingValue (double) |
Set parameter used in Fast Marching filter. More... | |
void | SetSigma (double) |
Set parameter used in Gradient Magnitude filter. More... | |
void | SetAlpha (double) |
Set parameter used in Fast Marching filter. More... | |
void | SetBeta (double) |
Set parameter used in Fast Marching filter. More... | |
virtual void | ConfirmSegmentation () |
Adds the feedback image to the current working image. More... | |
virtual void | SetCurrentTimeStep (int t) |
Set the working time step. More... | |
void | ClearSeeds () |
Clear all seed points. More... | |
void | Update () |
Updates the itk pipeline and shows the result of FastMarching. More... | |
Public Member Functions inherited from mitk::FeedbackContourTool | |
mitkClassMacro (FeedbackContourTool, SegTool2D) | |
Public Member Functions inherited from mitk::SegTool2D | |
mitkClassMacro (SegTool2D, Tool) | |
void | SetShowMarkerNodes (bool) |
void | SetEnable3DInterpolation (bool) |
Enables or disables the 3D interpolation after writing back the 2D segmentation result, and defaults to true. More... | |
Public Member Functions inherited from mitk::Tool | |
mitkClassMacro (Tool, EventStateMachine) | |
virtual std::string | GetIconPath () const |
Returns the path of an icon. More... | |
virtual const char * | GetGroup () const |
Name of a group. More... | |
virtual void | InitializeStateMachine () |
virtual itk::Object::Pointer | GetGUI (const std::string &toolkitPrefix, const std::string &toolkitPostfix) |
Interface for GUI creation. More... | |
virtual NodePredicateBase::ConstPointer | GetReferenceDataPreference () const |
virtual NodePredicateBase::ConstPointer | GetWorkingDataPreference () const |
DataNode::Pointer | CreateEmptySegmentationNode (Image *original, const std::string &organName, const mitk::Color &color) |
DataNode::Pointer | CreateSegmentationNode (Image *image, const std::string &organName, const mitk::Color &color) |
virtual bool | CanHandle (BaseData *referenceData) const |
Public Member Functions inherited from mitk::EventStateMachine | |
virtual std::vector< std::string > | GetClassHierarchy () const override |
virtual const char * | GetClassName () const |
bool | LoadStateMachine (const std::string &filename, const us::Module *module=nullptr) |
Loads XML resource. More... | |
bool | HandleEvent (InteractionEvent *event, DataNode *dataNode) |
void | EnableUndo (bool enable) |
Enables or disabled Undo. More... | |
void | EnableInteraction (bool enable) |
Enables/disables the state machine. In un-enabled state it won't react to any events. More... | |
Public Member Functions inherited from mitk::InteractionEventHandler | |
bool | SetEventConfig (const std::string &filename, const us::Module *module=nullptr) |
Loads a configuration from an XML resource. More... | |
bool | SetEventConfig (const EventConfig &config) |
Loads a configuration from an EventConfig object. More... | |
EventConfig | GetEventConfig () const |
Returns the current configuration. More... | |
bool | AddEventConfig (const std::string &filename, const us::Module *module=nullptr) |
This method extends the configuration. More... | |
bool | AddEventConfig (const EventConfig &config) |
This method extends the configuration. The configuration from the EventConfig object is loaded and only the ones conflicting are replaced by the new one. This way several configurations can be combined. More... | |
Public Member Functions inherited from mitk::InteractionEventObserver | |
InteractionEventObserver () | |
virtual | ~InteractionEventObserver () |
void | Disable () |
void | Enable () |
bool | IsEnabled () const |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from mitk::SegTool2D | |
static bool | DetermineAffectedImageSlice (const Image *image, const PlaneGeometry *plane, int &affectedDimension, int &affectedSlice) |
Calculates for a given Image and PlaneGeometry, which slice of the image (in index corrdinates) is meant by the plane. More... | |
static void | UpdateSurfaceInterpolation (const Image *slice, const Image *workingImage, const PlaneGeometry *plane, bool detectIntersection) |
Updates the surface interpolation by extracting the contour form the given slice. More... | |
Static Public Member Functions inherited from mitk::EventStateMachine | |
static const char * | GetStaticNameOfClass () |
Static Public Member Functions inherited from mitk::InteractionEventHandler | |
static const char * | GetStaticNameOfClass () |
Protected Member Functions | |
FastMarchingTool () | |
virtual | ~FastMarchingTool () |
void | ConnectActionsAndFunctions () override |
virtual void | Activated () override |
Called when the tool gets activated. More... | |
virtual void | Deactivated () override |
Called when the tool gets deactivated. More... | |
virtual void | Initialize () |
virtual void | BuildITKPipeline () |
virtual void | OnAddPoint (StateMachineAction *, InteractionEvent *interactionEvent) |
Add point action of StateMachine pattern. More... | |
virtual void | OnDelete (StateMachineAction *, InteractionEvent *interactionEvent) |
Delete action of StateMachine pattern. More... | |
void | Reset () |
Reset all relevant inputs of the itk pipeline. More... | |
Protected Member Functions inherited from mitk::FeedbackContourTool | |
FeedbackContourTool () | |
FeedbackContourTool (const char *) | |
virtual | ~FeedbackContourTool () |
ContourModel * | GetFeedbackContour () |
void | SetFeedbackContour (ContourModel::Pointer) |
void | SetFeedbackContourVisible (bool) |
void | SetFeedbackContourColor (float r, float g, float b) |
Provide values from 0.0 (black) to 1.0 (full color) More... | |
void | SetFeedbackContourColorDefault () |
void | Deactivated () override |
Called when the tool gets deactivated. More... | |
void | Activated () override |
Called when the tool gets activated. More... | |
ContourModel::Pointer | ProjectContourTo2DSlice (Image *slice, ContourModel *contourIn3D, bool correctionForIpSegmentation=false, bool constrainToInside=true) |
Projects a contour onto an image point by point. Converts from world to index coordinates. More... | |
ContourModel::Pointer | BackProjectContourFrom2DSlice (const BaseGeometry *sliceGeometry, ContourModel *contourIn2D, bool correctionForIpSegmentation=false) |
Projects a slice index coordinates of a contour back into world coordinates. More... | |
void | FillContourInSlice (ContourModel *projectedContour, Image *sliceImage, int paintingPixelValue=1) |
Fill a contour in a 2D slice with a specified pixel value. More... | |
void | FillContourInSlice (ContourModel *projectedContour, unsigned int timeStep, Image *sliceImage, int paintingPixelValue=1) |
Fill a contour in a 2D slice with a specified pixel value at a given time step. More... | |
Protected Member Functions inherited from mitk::SegTool2D | |
SegTool2D () | |
SegTool2D (const char *) | |
virtual | ~SegTool2D () |
virtual bool | FilterEvents (InteractionEvent *interactionEvent, DataNode *dataNode) override |
Filters events that cannot be handle by 2D segmentation tools. More... | |
Image::Pointer | GetAffectedImageSliceAs2DImage (const InteractionPositionEvent *positionEvent, const Image *image, unsigned int component=0) |
Extract the slice of an image that the user just scribbles on. The given component denotes the vector component of a dwi-image. More... | |
Image::Pointer | GetAffectedImageSliceAs2DImage (const PlaneGeometry *planeGeometry, const Image *image, unsigned int timeStep, unsigned int component=0) |
Extract the slice of an image cut by given plane. The given component denotes the vector component of a dwi-image. More... | |
Image::Pointer | GetAffectedWorkingSlice (const InteractionPositionEvent *) |
Extract the slice of the currently selected working image that the user just scribbles on. More... | |
Image::Pointer | GetAffectedReferenceSlice (const InteractionPositionEvent *) |
Extract the slice of the currently selected reference image that the user just scribbles on. More... | |
void | WriteBackSegmentationResult (const InteractionPositionEvent *, Image *) |
void | WriteBackSegmentationResult (const PlaneGeometry *planeGeometry, Image *, unsigned int timeStep) |
void | WriteBackSegmentationResult (std::vector< SliceInformation > sliceList, bool writeSliceToVolume=true) |
void | WritePreviewOnWorkingImage (Image *targetSlice, Image *sourceSlice, Image *workingImage, int paintingPixelValue, int timestep) |
void | WriteSliceToVolume (SliceInformation sliceInfo) |
int | AddContourmarker () |
Adds a new node called Contourmarker to the datastorage which holds a mitk::PlanarFigure. By selecting this node the slicestack will be reoriented according to the PlanarFigure's Geometry. More... | |
void | InteractiveSegmentationBugMessage (const std::string &message) |
Protected Member Functions inherited from mitk::Tool | |
virtual void | SetToolManager (ToolManager *) |
void | ConnectActionsAndFunctions () override |
Tool () | |
Tool (const char *) | |
virtual | ~Tool () |
virtual void | Notify (InteractionEvent *interactionEvent, bool isHandled) override |
bool | FilterEvents (InteractionEvent *, DataNode *) override |
Protected Member Functions inherited from mitk::EventStateMachine | |
EventStateMachine () | |
virtual | ~EventStateMachine () |
void | AddActionFunction (const std::string &action, TActionFunctor *functor) |
void | AddActionFunction (const std::string &action, const ActionFunctionDelegate &delegate) |
void | AddConditionFunction (const std::string &condition, const ConditionFunctionDelegate &delegate) |
StateMachineState * | GetCurrentState () const |
void | ResetToStartState () |
ResetToStartState Reset state machine to it initial starting state. More... | |
virtual bool | CheckCondition (const StateMachineCondition &condition, const InteractionEvent *interactionEvent) |
virtual void | ExecuteAction (StateMachineAction *action, InteractionEvent *interactionEvent) |
void | SetMouseCursor (const char *xpm[], int hotspotX, int hotspotY) |
Sets the specified mouse cursor. More... | |
void | ResetMouseCursor () |
Resets the mouse cursor (if modified by the SlicesCoordinator) to its original state. More... | |
StateMachineTransition * | GetExecutableTransition (InteractionEvent *event) |
Returns the executable transition for the given event. More... | |
Protected Member Functions inherited from mitk::InteractionEventHandler | |
InteractionEventHandler () | |
virtual | ~InteractionEventHandler () |
PropertyList::Pointer | GetAttributes () const |
std::string | MapToEventVariant (InteractionEvent *interactionEvent) |
virtual void | ConfigurationChanged () |
Additional Inherited Members | |
Public Attributes inherited from mitk::Tool | |
Message | GUIProcessEventsMessage |
To let GUI process new events (e.g. qApp->processEvents() ) More... | |
Message1< std::string > | ErrorMessage |
To send error messages (to be shown by some GUI) More... | |
Message1< bool > | CurrentlyBusy |
To send whether the tool is busy (to be shown by some GUI) More... | |
Message1< std::string > | GeneralMessage |
To send general messages (to be shown by some GUI) More... | |
Protected Types inherited from mitk::EventStateMachine | |
typedef MessageAbstractDelegate2< StateMachineAction *, InteractionEvent *, void > | ActionFunctionDelegate |
typedef MessageAbstractDelegate1< const InteractionEvent *, bool > | ConditionFunctionDelegate |
FastMarching semgentation tool.
The segmentation is done by setting one or more seed points on the image and adapting the time range and threshold. The pipeline is: Smoothing->GradientMagnitude->SigmoidFunction->FastMarching->Threshold The resulting binary image is seen as a segmentation of an object.
For detailed documentation see ITK Software Guide section 9.3.1 Fast Marching Segmentation.
Definition at line 58 of file mitkFastMarchingTool.h.
typedef itk::FastMarchingImageFilter<InternalImageType, InternalImageType> mitk::FastMarchingTool::FastMarchingFilterType |
Definition at line 76 of file mitkFastMarchingTool.h.
typedef itk::GradientMagnitudeRecursiveGaussianImageFilter<InternalImageType, InternalImageType> mitk::FastMarchingTool::GradientFilterType |
Definition at line 74 of file mitkFastMarchingTool.h.
Definition at line 68 of file mitkFastMarchingTool.h.
typedef float mitk::FastMarchingTool::InternalPixelType |
Definition at line 67 of file mitkFastMarchingTool.h.
typedef FastMarchingFilterType::NodeContainer mitk::FastMarchingTool::NodeContainer |
Definition at line 77 of file mitkFastMarchingTool.h.
typedef FastMarchingFilterType::NodeType mitk::FastMarchingTool::NodeType |
Definition at line 78 of file mitkFastMarchingTool.h.
Definition at line 70 of file mitkFastMarchingTool.h.
Definition at line 69 of file mitkFastMarchingTool.h.
typedef itk::SigmoidImageFilter<InternalImageType, InternalImageType> mitk::FastMarchingTool::SigmoidFilterType |
Definition at line 75 of file mitkFastMarchingTool.h.
typedef itk::CurvatureAnisotropicDiffusionImageFilter<InternalImageType, InternalImageType> mitk::FastMarchingTool::SmoothingFilterType |
Definition at line 73 of file mitkFastMarchingTool.h.
typedef itk::BinaryThresholdImageFilter<InternalImageType, OutputImageType> mitk::FastMarchingTool::ThresholdingFilterType |
Definition at line 72 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 38 of file mitkFastMarchingTool.cpp.
|
protectedvirtual |
Definition at line 52 of file mitkFastMarchingTool.cpp.
|
overrideprotectedvirtual |
Called when the tool gets activated.
Derived tools should call their parents implementation at the beginning of the overriding function.
Reimplemented from mitk::Tool.
Definition at line 220 of file mitkFastMarchingTool.cpp.
References mitk::DataNode::New(), and mitk::PointSet::New().
|
protectedvirtual |
Definition at line 98 of file mitkFastMarchingTool.cpp.
References mitk::CastToItkImage(), mitk::ToolCommand::New(), and mitk::New().
void mitk::FastMarchingTool::ClearSeeds | ( | ) |
Clear all seed points.
Definition at line 444 of file mitkFastMarchingTool.cpp.
References mitk::PointSet::New().
Pointer mitk::FastMarchingTool::Clone | ( | ) | const |
|
virtual |
Adds the feedback image to the current working image.
Definition at line 269 of file mitkFastMarchingTool.cpp.
References mitk::CastToItkImage(), mitk::CastToMitkImage(), mitk::RenderingManager::GetInstance(), mitk::New(), mitk::Image::New(), and mitk::RenderingManager::RequestUpdateAll().
|
overrideprotectedvirtual |
Is called after loading a statemachine. Overwrite this function in specific interactor implementations. Connect actions and functions using the CONNECT_FUNCTION macro within this function.
Reimplemented from mitk::EventStateMachine.
Definition at line 67 of file mitkFastMarchingTool.cpp.
References CONNECT_FUNCTION.
|
overrideprotectedvirtual |
Called when the tool gets deactivated.
Derived tools should call their parents implementation at the end of the overriding function.
Reimplemented from mitk::Tool.
Definition at line 243 of file mitkFastMarchingTool.cpp.
References mitk::RenderingManager::GetInstance(), and mitk::RenderingManager::RequestUpdateAll().
|
overridevirtual |
Returns the path of a cursor icon.
Reimplemented from mitk::Tool.
Definition at line 86 of file mitkFastMarchingTool.cpp.
References ModuleContext::GetModule(), us::GetModuleContext(), and us::Module::GetResource().
|
overridevirtual |
Returns the tool button icon of the tool wrapped by a usModuleResource.
Reimplemented from mitk::Tool.
Definition at line 79 of file mitkFastMarchingTool.cpp.
References ModuleContext::GetModule(), us::GetModuleContext(), and us::Module::GetResource().
|
overridevirtual |
Returns the name of this tool. Make it short!
This name has to fit into some kind of button in most applications, so take some time to think of a good name!
Implements mitk::Tool.
Definition at line 93 of file mitkFastMarchingTool.cpp.
|
overridevirtual |
Returns an icon in the XPM format.
This icon has to fit into some kind of button in most applications, so make it smaller than 25x25 pixels.
XPM is e.g. supported by The Gimp. But if you open any XPM file in your text editor, you will see that you could also "draw" it with an editor.
Implements mitk::Tool.
Definition at line 74 of file mitkFastMarchingTool.cpp.
|
protectedvirtual |
Definition at line 255 of file mitkFastMarchingTool.cpp.
References mitk::ImageTimeSelector::New().
mitk::FastMarchingTool::mitkClassMacro | ( | FastMarchingTool | , |
FeedbackContourTool | |||
) |
|
static |
|
protectedvirtual |
Add point action of StateMachine pattern.
Definition at line 333 of file mitkFastMarchingTool.cpp.
References mitk::PlaneGeometry::Clone(), mitk::BaseRenderer::GetCurrentWorldPlaneGeometry(), mitk::RenderingManager::GetInstance(), mitk::InteractionPositionEvent::GetPointerPositionOnScreen(), mitk::InteractionEvent::GetSender(), mitk::InteractionPositionEvent::New(), mitk::RenderingManager::RequestUpdateAll(), and Update().
|
protectedvirtual |
Delete action of StateMachine pattern.
Definition at line 384 of file mitkFastMarchingTool.cpp.
References mitk::RenderingManager::GetInstance(), mitk::RenderingManager::RequestUpdateAll(), and Update().
|
protected |
Reset all relevant inputs of the itk pipeline.
Definition at line 466 of file mitkFastMarchingTool.cpp.
References mitk::RenderingManager::GetInstance(), and mitk::RenderingManager::RequestUpdateAll().
void mitk::FastMarchingTool::SetAlpha | ( | double | value | ) |
Set parameter used in Fast Marching filter.
Definition at line 200 of file mitkFastMarchingTool.cpp.
void mitk::FastMarchingTool::SetBeta | ( | double | value | ) |
Set parameter used in Fast Marching filter.
Definition at line 180 of file mitkFastMarchingTool.cpp.
|
virtual |
Set the working time step.
Definition at line 476 of file mitkFastMarchingTool.cpp.
void mitk::FastMarchingTool::SetLowerThreshold | ( | double | value | ) |
Set parameter used in Threshold filter.
Definition at line 170 of file mitkFastMarchingTool.cpp.
void mitk::FastMarchingTool::SetSigma | ( | double | value | ) |
Set parameter used in Gradient Magnitude filter.
Definition at line 190 of file mitkFastMarchingTool.cpp.
void mitk::FastMarchingTool::SetStoppingValue | ( | double | value | ) |
Set parameter used in Fast Marching filter.
Definition at line 210 of file mitkFastMarchingTool.cpp.
void mitk::FastMarchingTool::SetUpperThreshold | ( | double | value | ) |
Set parameter used in Threshold filter.
Definition at line 160 of file mitkFastMarchingTool.cpp.
void mitk::FastMarchingTool::Update | ( | ) |
Updates the itk pipeline and shows the result of FastMarching.
Definition at line 404 of file mitkFastMarchingTool.cpp.
References mitk::CastToMitkImage(), mitk::RenderingManager::GetInstance(), MITK_ERROR, mitk::Image::New(), and mitk::RenderingManager::RequestUpdateAll().
|
protected |
Definition at line 155 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 156 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 147 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 171 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 169 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 151 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 145 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 149 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 140 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 142 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 143 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 160 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 162 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 158 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 165 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 164 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 154 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 170 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 168 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 153 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 167 of file mitkFastMarchingTool.h.
|
protected |
Definition at line 152 of file mitkFastMarchingTool.h.