Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
Base class for tools that use a contour for feedback. More...
#include <mitkFeedbackContourTool.h>
Public Member Functions | |
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 const char ** | GetXPM () const =0 |
Returns an icon in the XPM format. More... | |
virtual std::string | GetIconPath () const |
Returns the path of an icon. More... | |
virtual us::ModuleResource | GetCursorIconResource () const |
Returns the path of a cursor icon. More... | |
virtual us::ModuleResource | GetIconResource () const |
Returns the tool button icon of the tool wrapped by a usModuleResource. More... | |
virtual const char * | GetName () const =0 |
Returns the name of this tool. Make it short! 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 |
Protected Member Functions | |
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 () |
Protected Attributes | |
ContourModel::Pointer | m_FeedbackContour |
DataNode::Pointer | m_FeedbackContourNode |
bool | m_FeedbackContourVisible |
Protected Attributes inherited from mitk::SegTool2D | |
BaseRenderer * | m_LastEventSender |
unsigned int | m_LastEventSlice |
Protected Attributes inherited from mitk::Tool | |
std::string | m_EventConfig |
Let subclasses change their event configuration. More... | |
ToolManager * | m_ToolManager |
Protected Attributes inherited from mitk::EventStateMachine | |
bool | m_IsActive |
UndoController * | m_UndoController |
bool | m_UndoEnabled |
Additional Inherited Members | |
Public Types inherited from mitk::Tool | |
typedef mitk::Label::PixelType | DefaultSegmentationDataType |
Public Types inherited from mitk::EventStateMachine | |
typedef EventStateMachine | Self |
typedef InteractionEventHandler | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef std::map< std::string, TActionFunctor * > | ActionFunctionsMapType |
typedef itk::SmartPointer< StateMachineState > | StateMachineStateType |
Public Types inherited from mitk::InteractionEventHandler | |
typedef InteractionEventHandler | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
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 () |
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 |
Base class for tools that use a contour for feedback.
Implements helper methods, that might be of use to all kind of 2D segmentation tools that use a contour for user feedback.
These helper methods are actually implemented in ContourUtils now. FeedbackContourTool only forwards such requests.
Definition at line 53 of file mitkFeedbackContourTool.h.
|
protected |
|
protected |
Definition at line 29 of file mitkFeedbackContourTool.cpp.
References m_FeedbackContour, m_FeedbackContourNode, max(), mitk::BoolProperty::New(), mitk::IntProperty::New(), mitk::FloatProperty::New(), mitk::StringProperty::New(), mitk::ContourModel::New(), mitk::DataNode::New(), and SetFeedbackContourColorDefault().
|
protectedvirtual |
Definition at line 48 of file mitkFeedbackContourTool.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.
Reimplemented in mitk::RegionGrowingTool, mitk::PaintbrushTool, and mitk::SetRegionTool.
Definition at line 74 of file mitkFeedbackContourTool.cpp.
|
protected |
Projects a slice index coordinates of a contour back into world coordinates.
correctionForIpSegmentation | subtracts 0.5 to x and y index coordinates (difference between ipSegmentation and MITK contours) |
Definition at line 121 of file mitkFeedbackContourTool.cpp.
References mitk::ContourModelUtils::BackProjectContourFrom2DSlice().
Referenced by mitk::PaintbrushTool::MouseMoved(), mitk::RegionGrowingTool::OnMouseMoved(), and mitk::RegionGrowingTool::OnMousePressedOutside().
|
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.
Reimplemented in mitk::RegionGrowingTool, mitk::PaintbrushTool, and mitk::SetRegionTool.
Definition at line 62 of file mitkFeedbackContourTool.cpp.
References mitk::DataStorage::Remove().
|
protected |
Fill a contour in a 2D slice with a specified pixel value.
Definition at line 129 of file mitkFeedbackContourTool.cpp.
|
protected |
Fill a contour in a 2D slice with a specified pixel value at a given time step.
Definition at line 136 of file mitkFeedbackContourTool.cpp.
References mitk::ContourModelUtils::FillContourInSlice().
|
protected |
Definition at line 81 of file mitkFeedbackContourTool.cpp.
Referenced by mitk::CorrectorTool2D::CorrectorTool2D(), mitk::PaintbrushTool::MouseMoved(), mitk::ContourTool::OnMouseMoved(), mitk::CorrectorTool2D::OnMouseMoved(), mitk::ContourTool::OnMousePressed(), mitk::CorrectorTool2D::OnMousePressed(), mitk::SetRegionTool::OnMouseReleased(), mitk::ContourTool::OnMouseReleased(), mitk::CorrectorTool2D::OnMouseReleased(), and mitk::RegionGrowingTool::OnMouseReleased().
mitk::FeedbackContourTool::mitkClassMacro | ( | FeedbackContourTool | , |
SegTool2D | |||
) |
|
protected |
Projects a contour onto an image point by point. Converts from world to index coordinates.
correctionForIpSegmentation | adds 0.5 to x and y index coordinates (difference between ipSegmentation and MITK contours) |
Definition at line 112 of file mitkFeedbackContourTool.cpp.
References mitk::ContourModelUtils::ProjectContourTo2DSlice().
Referenced by mitk::RegionGrowingTool::OnMouseMoved(), mitk::RegionGrowingTool::OnMousePressedOutside(), mitk::SetRegionTool::OnMouseReleased(), mitk::ContourTool::OnMouseReleased(), and mitk::RegionGrowingTool::OnMouseReleased().
|
protected |
Definition at line 86 of file mitkFeedbackContourTool.cpp.
Referenced by mitk::RegionGrowingTool::OnMouseMoved(), mitk::SetRegionTool::OnMousePressed(), and mitk::RegionGrowingTool::OnMousePressedOutside().
|
protected |
Provide values from 0.0 (black) to 1.0 (full color)
Definition at line 52 of file mitkFeedbackContourTool.cpp.
References mitk::ColorProperty::New().
Referenced by mitk::ErasePaintbrushTool::ErasePaintbrushTool(), mitk::EraseRegionTool::EraseRegionTool(), mitk::ContourTool::OnInvertLogic(), mitk::PaintbrushTool::OnInvertLogic(), and mitk::SubtractContourTool::SubtractContourTool().
|
protected |
Definition at line 57 of file mitkFeedbackContourTool.cpp.
References mitk::ColorProperty::New().
Referenced by FeedbackContourTool(), mitk::ContourTool::OnInvertLogic(), and mitk::PaintbrushTool::OnInvertLogic().
|
protected |
Definition at line 92 of file mitkFeedbackContourTool.cpp.
Referenced by mitk::PaintbrushTool::Activated(), mitk::PaintbrushTool::Deactivated(), mitk::RegionGrowingTool::OnMouseMoved(), mitk::SetRegionTool::OnMousePressed(), mitk::ContourTool::OnMousePressed(), mitk::CorrectorTool2D::OnMousePressed(), mitk::RegionGrowingTool::OnMousePressedOutside(), mitk::SetRegionTool::OnMouseReleased(), mitk::ContourTool::OnMouseReleased(), mitk::CorrectorTool2D::OnMouseReleased(), and mitk::RegionGrowingTool::OnMouseReleased().
|
protected |
Definition at line 110 of file mitkFeedbackContourTool.h.
Referenced by FeedbackContourTool().
|
protected |
Definition at line 111 of file mitkFeedbackContourTool.h.
Referenced by FeedbackContourTool().
|
protected |
Definition at line 112 of file mitkFeedbackContourTool.h.