Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
ContourModel is a structure of linked vertices defining a contour in 3D space. The vertices are stored in a mitk::ContourElement is stored for each timestep. The contour line segments are implicitly defined by the given linked vertices. By default two control points are are linked by a straight line.It is possible to add vertices at front and end of the contour and to iterate in both directions. More...
#include <mitkContourModel.h>
Public Types | |
enum | LineSegmentInterpolation { LINEAR, B_SPLINE } |
Possible interpolation of the line segments between control points. More... | |
typedef mitk::ContourElement::VertexType | VertexType |
typedef mitk::ContourElement::VertexListType | VertexListType |
typedef mitk::ContourElement::VertexIterator | VertexIterator |
typedef mitk::ContourElement::ConstVertexIterator | ConstVertexIterator |
typedef std::vector< mitk::ContourElement::Pointer > | ContourModelSeries |
Public Types inherited from mitk::BaseData | |
typedef BaseData | Self |
typedef itk::DataObject | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Member Functions | |
mitkClassMacro (ContourModel, BaseData) | |
Pointer | Clone () const |
VertexType * | GetSelectedVertex () |
Get the current selected vertex. More... | |
void | Deselect () |
Deselect vertex. More... | |
void | SetSelectedVertexAsControlPoint (bool isControlPoint=true) |
Set selected vertex as control point. More... | |
void | SetLineSegmentInterpolation (LineSegmentInterpolation interpolation) |
Set the interpolation of the line segments between control points. More... | |
LineSegmentInterpolation | GetLineSegmentInterpolation () |
Get the interpolation of the line segments between control points. More... | |
void | AddVertex (mitk::Point3D &vertex, int timestep=0) |
Add a vertex to the contour at given timestep. The vertex is added at the end of contour. More... | |
void | AddVertex (VertexType &vertex, int timestep=0) |
Add a vertex to the contour at given timestep. The vertex is added at the end of contour. More... | |
void | AddVertex (const VertexType *vertex, int timestep=0) |
Add a vertex to the contour at given timestep. The vertex is added at the end of contour. More... | |
void | AddVertex (mitk::Point3D &vertex, bool isControlPoint, int timestep=0) |
Add a vertex to the contour. More... | |
void | AddVertexAtFront (mitk::Point3D &vertex, int timestep=0) |
Add a vertex to the contour at given timestep AT THE FRONT of the contour. The vertex is added at the FRONT of contour. More... | |
void | AddVertexAtFront (VertexType &vertex, int timestep=0) |
Add a vertex to the contour at given timestep AT THE FRONT of the contour. The vertex is added at the FRONT of contour. More... | |
void | AddVertexAtFront (mitk::Point3D &vertex, bool isControlPoint, int timestep=0) |
Add a vertex to the contour at given timestep AT THE FRONT of the contour. More... | |
void | InsertVertexAtIndex (mitk::Point3D &vertex, int index, bool isControlPoint=false, int timestep=0) |
Insert a vertex at given index. More... | |
bool | SetVertexAt (int pointId, const mitk::Point3D &point, unsigned int timestep=0) |
Set a coordinates for point at given index. More... | |
bool | SetVertexAt (int pointId, const VertexType *vertex, unsigned int timestep=0) |
Set a coordinates for point at given index. More... | |
bool | IsClosed (int timestep=0) const |
Return if the contour is closed or not. More... | |
void | Concatenate (mitk::ContourModel *other, int timestep=0, bool check=false) |
Concatenate two contours. The starting control point of the other will be added at the end of the contour. timestep - the timestep at which the vertex will be add ( default 0) check - check for intersections ( default false) More... | |
VertexIterator | Begin (int timestep=0) const |
Returns a const VertexIterator at the start element of the contour. More... | |
VertexIterator | IteratorBegin (int timestep=0) const |
Returns a const VertexIterator at the start element of the contour. More... | |
VertexIterator | End (int timestep=0) const |
Returns a const VertexIterator at the end element of the contour. More... | |
VertexIterator | IteratorEnd (int timestep=0) const |
Returns a const VertexIterator at the end element of the contour. More... | |
virtual void | Close (int timestep=0) |
Close the contour. The last control point will be linked with the first point. More... | |
virtual void | Open (int timestep=0) |
Set isClosed to false contour. The link between the last control point the first point will be removed. More... | |
virtual void | SetClosed (bool isClosed, int timestep=0) |
Set closed property to given boolean. More... | |
int | GetNumberOfVertices (int timestep=0) const |
Returns the number of vertices at a given timestep. More... | |
virtual bool | IsEmpty (int timestep) const |
Returns whether the contour model is empty at a given timestep. timestep - default = 0. More... | |
virtual bool | IsEmpty () const override |
Returns whether the contour model is empty. More... | |
virtual const VertexType * | GetVertexAt (int index, int timestep=0) const |
Returns the vertex at the index position within the container. More... | |
int | GetIndex (const VertexType *vertex, int timestep=0) |
Remove a vertex at given timestep within the container. More... | |
virtual bool | IsEmptyTimeStep (unsigned int t) const override |
Check if there isn't something at this timestep. More... | |
virtual bool | IsNearContour (mitk::Point3D &point, float eps, int timestep) |
Check if mouse cursor is near the contour. More... | |
bool | SelectVertexAt (int index, int timestep=0) |
Mark a vertex at an index in the container as selected. More... | |
bool | SetControlVertexAt (int index, int timestep=0) |
Mark a vertex at an index in the container as control point. More... | |
bool | SelectVertexAt (mitk::Point3D &point, float eps, int timestep=0) |
Mark a vertex at a given position in 3D space. More... | |
bool | SetControlVertexAt (mitk::Point3D &point, float eps, int timestep=0) |
bool | RemoveVertexAt (int index, int timestep=0) |
Remove a vertex at given index within the container. More... | |
bool | RemoveVertex (const VertexType *vertex, int timestep=0) |
Remove a vertex at given timestep within the container. More... | |
bool | RemoveVertexAt (mitk::Point3D &point, float eps, int timestep=0) |
Remove a vertex at a query position in 3D space. More... | |
void | ShiftSelectedVertex (mitk::Vector3D &translate) |
Shift the currently selected vertex by a translation vector. More... | |
void | ShiftContour (mitk::Vector3D &translate, int timestep=0) |
Shift the whole contour by a translation vector at given timestep. More... | |
virtual void | Clear (int timestep) |
Clear the storage container at given timestep. More... | |
virtual void | Initialize () override |
Initialize all data objects. More... | |
void | Initialize (mitk::ContourModel &other) |
Initialize object with specs of other contour. Note: No data will be copied. More... | |
virtual void | SetRequestedRegionToLargestPossibleRegion () override |
Inherit from base data - no region support available for contourModel objects. More... | |
virtual bool | RequestedRegionIsOutsideOfTheBufferedRegion () override |
Inherit from base data - no region support available for contourModel objects. More... | |
virtual bool | VerifyRequestedRegion () override |
Inherit from base data - no region support available for contourModel objects. More... | |
virtual const mitk::BaseGeometry * | GetUpdatedGeometry (int t=0) |
Get the updated geometry with recomputed bounds. More... | |
virtual mitk::BaseGeometry * | GetGeometry (int t=0) const |
Get the BaseGeometry for timestep t. More... | |
virtual void | SetRequestedRegion (const itk::DataObject *data) override |
Inherit from base data - no region support available for contourModel objects. More... | |
virtual void | Expand (unsigned int timeSteps) override |
Expand the timebounds of the TimeGeometry to given number of timesteps. More... | |
virtual void | UpdateOutputInformation () override |
Update the OutputInformation of a ContourModel object. More... | |
virtual void | Clear () override |
Clear the storage container. More... | |
void | ExecuteOperation (Operation *operation) override |
overwrite if the Data can be called by an Interactor (StateMachine). More... | |
virtual void | RedistributeControlVertices (int period, int timestep) |
Redistributes ontrol vertices with a given period (as number of vertices) More... | |
Public Member Functions inherited from mitk::BaseData | |
virtual std::vector< std::string > | GetClassHierarchy () const |
virtual const char * | GetClassName () const |
const mitk::TimeGeometry * | GetTimeGeometry () const |
Return the TimeGeometry of the data as const pointer. More... | |
const mitk::TimeGeometry * | GetTimeSlicedGeometry () const |
Return the TimeGeometry of the data as const pointer. More... | |
mitk::TimeGeometry * | GetTimeGeometry () |
Return the TimeGeometry of the data as pointer. More... | |
const mitk::TimeGeometry * | GetUpdatedTimeGeometry () |
Return the TimeGeometry of the data. More... | |
const mitk::TimeGeometry * | GetUpdatedTimeSliceGeometry () |
Return the TimeGeometry of the data. More... | |
const mitk::BaseGeometry * | GetUpdatedGeometry (int t=0) |
Return the BaseGeometry of the data at time t. More... | |
mitk::BaseGeometry * | GetGeometry (int t=0) const |
Return the geometry, which is a TimeGeometry, of the data as non-const pointer. More... | |
void | UpdateOutputInformation () override |
Update the information for this BaseData (the geometry in particular) so that it can be used as an output of a BaseProcess. More... | |
void | CopyInformation (const itk::DataObject *data) override |
Copy information from the specified data set. More... | |
virtual bool | IsInitialized () const |
Check whether the data has been initialized, i.e., at least the Geometry and other header data has been set. More... | |
void | ExecuteOperation (Operation *operation) override |
overwrite if the Data can be called by an Interactor (StateMachine). More... | |
virtual void | SetGeometry (BaseGeometry *aGeometry3D) |
Set the BaseGeometry of the data, which will be referenced (not copied!). Assumes the data object has only 1 time step ( is a 3D object ) and creates a new TimeGeometry which saves the given BaseGeometry. If an TimeGeometry has already been set for the object, it will be replaced after calling this function. More... | |
virtual void | SetTimeGeometry (TimeGeometry *geometry) |
Set the TimeGeometry of the data, which will be referenced (not copied!). More... | |
virtual void | SetClonedGeometry (const BaseGeometry *aGeometry3D) |
Set a clone of the provided TimeGeometry as TimeGeometry of the data. Assumes the data object has only 1 time step ( is a 3D object ) and creates a new TimeGeometry. If an TimeGeometry has already been set for the object, it will be replaced after calling this function. More... | |
virtual void | SetClonedTimeGeometry (const TimeGeometry *geometry) |
Set a clone of the provided TimeGeometry as TimeGeometry of the data. More... | |
virtual void | SetClonedGeometry (const BaseGeometry *aGeometry3D, unsigned int time) |
Set a clone of the provided geometry as BaseGeometry of a given time step. More... | |
mitk::PropertyList::Pointer | GetPropertyList () const |
Get the data's property list. More... | |
void | SetPropertyList (PropertyList *propertyList) |
Set the data's property list. More... | |
mitk::BaseProperty::Pointer | GetProperty (const char *propertyKey) const |
Get the property (instance of BaseProperty) with key propertyKey from the PropertyList, and set it to this, respectively;. More... | |
void | SetProperty (const char *propertyKey, BaseProperty *property) |
virtual void | SetOrigin (const Point3D &origin) |
Convenience method for setting the origin of the BaseGeometry instances of all time steps. More... | |
itk::SmartPointer< mitk::BaseDataSource > | GetSource () const |
Get the process object that generated this data object. More... | |
unsigned int | GetTimeSteps () const |
Get the number of time steps from the TimeGeometry As the base data has not a data vector given by itself, the number of time steps is defined over the time sliced geometry. In sub classes, a better implementation could be over the length of the data vector. More... | |
virtual unsigned long | GetMTime () const override |
Get the modified time of the last change of the contents this data object or its geometry. More... | |
virtual void | Graft (const DataObject *) override |
Public Member Functions inherited from mitk::OperationActor | |
itkTypeMacroNoParent (OperationActor) virtual ~OperationActor() | |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from mitk::BaseData | |
static const char * | GetStaticNameOfClass () |
Protected Member Functions | |
mitkCloneMacro (Self) | |
ContourModel () | |
ContourModel (const mitk::ContourModel &other) | |
virtual | ~ContourModel () |
virtual void | ClearData () override |
reset to non-initialized state, release memory More... | |
virtual void | InitializeEmpty () override |
Pure virtual; Must be used in subclasses to get a data object to a valid state. Should at least create one empty object and call Superclass::InitializeTimeGeometry() to ensure an existing valid geometry. More... | |
void | ShiftVertex (VertexType *vertex, mitk::Vector3D &vector) |
Protected Member Functions inherited from mitk::BaseData | |
BaseData () | |
BaseData (const BaseData &other) | |
~BaseData () | |
virtual void | InitializeTimeGeometry (unsigned int timeSteps=1) |
Initialize the TimeGeometry for a number of time steps. The TimeGeometry is initialized empty and evenly timed. In many cases it will be necessary to overwrite this in sub-classes. More... | |
virtual void | InitializeTimeSlicedGeometry (unsigned int timeSteps=1) |
Initialize the TimeGeometry for a number of time steps. The TimeGeometry is initialized empty and evenly timed. In many cases it will be necessary to overwrite this in sub-classes. More... | |
virtual void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
Protected Attributes | |
ContourModelSeries | m_ContourSeries |
VertexType * | m_SelectedVertex |
LineSegmentInterpolation | m_lineInterpolation |
bool | m_UpdateBoundingBox |
Protected Attributes inherited from mitk::BaseData | |
bool | m_LastRequestedRegionWasOutsideOfTheBufferedRegion |
unsigned int | m_SourceOutputIndexDuplicate |
bool | m_Initialized |
ContourModel is a structure of linked vertices defining a contour in 3D space. The vertices are stored in a mitk::ContourElement is stored for each timestep. The contour line segments are implicitly defined by the given linked vertices. By default two control points are are linked by a straight line.It is possible to add vertices at front and end of the contour and to iterate in both directions.
Points are specified containing coordinates and additional (data) information, see mitk::ContourElement. For accessing a specific vertex either an index or a position in 3D Space can be used. The vertices are best accessed by using a VertexIterator. Interaction with the contour is thus available without any mitk interactor class using the api of ContourModel. It is possible to shift single vertices also as shifting the whole contour.
A contour can be either open like a single curved line segment or closed. A closed contour can for example represent a jordan curve.
The default mappers for this data structure are mitk::ContourModelGLMapper2D and mitk::ContourModelMapper3D. See these classes for display options which can can be set via properties.
Definition at line 51 of file mitkContourModel.h.
Definition at line 62 of file mitkContourModel.h.
typedef std::vector<mitk::ContourElement::Pointer> mitk::ContourModel::ContourModelSeries |
Definition at line 63 of file mitkContourModel.h.
Definition at line 61 of file mitkContourModel.h.
Definition at line 60 of file mitkContourModel.h.
Definition at line 59 of file mitkContourModel.h.
Possible interpolation of the line segments between control points.
Enumerator | |
---|---|
LINEAR | |
B_SPLINE |
Definition at line 67 of file mitkContourModel.h.
|
protected |
Definition at line 19 of file mitkContourModel.cpp.
References InitializeEmpty().
|
protected |
Definition at line 25 of file mitkContourModel.cpp.
References m_SelectedVertex.
|
protectedvirtual |
Definition at line 31 of file mitkContourModel.cpp.
void mitk::ContourModel::AddVertex | ( | mitk::Point3D & | vertex, |
int | timestep = 0 |
||
) |
Add a vertex to the contour at given timestep. The vertex is added at the end of contour.
vertex | - coordinate representation of a control point |
timestep | - the timestep at which the vertex will be add ( default 0) |
Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.
Definition at line 37 of file mitkContourModel.cpp.
Referenced by mitk::ContourTool::OnMouseMoved(), mitk::CorrectorTool2D::OnMouseMoved(), mitk::ContourTool::OnMousePressed(), mitk::CorrectorTool2D::OnMousePressed(), and mitk::ContourModelLiveWireInteractor::SplitContourFromSelectedVertex().
void mitk::ContourModel::AddVertex | ( | VertexType & | vertex, |
int | timestep = 0 |
||
) |
Add a vertex to the contour at given timestep. The vertex is added at the end of contour.
vertex | - coordinate representation of a control point |
timestep | - the timestep at which the vertex will be add ( default 0) |
Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.
Definition at line 56 of file mitkContourModel.cpp.
void mitk::ContourModel::AddVertex | ( | const VertexType * | vertex, |
int | timestep = 0 |
||
) |
Add a vertex to the contour at given timestep. The vertex is added at the end of contour.
vertex | - coordinate representation of a control point |
timestep | - the timestep at which the vertex will be add ( default 0) |
Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeSlicedGeometry will not be expanded.
Definition at line 67 of file mitkContourModel.cpp.
void mitk::ContourModel::AddVertex | ( | mitk::Point3D & | vertex, |
bool | isControlPoint, | ||
int | timestep = 0 |
||
) |
Add a vertex to the contour.
vertex | - coordinate representation of a control point |
timestep | - the timestep at which the vertex will be add ( default 0) |
isControlPoint | - specifies the vertex to be handled in a special way (e.g. control points will be rendered). |
Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.
Definition at line 45 of file mitkContourModel.cpp.
void mitk::ContourModel::AddVertexAtFront | ( | mitk::Point3D & | vertex, |
int | timestep = 0 |
||
) |
Add a vertex to the contour at given timestep AT THE FRONT of the contour. The vertex is added at the FRONT of contour.
vertex | - coordinate representation of a control point |
timestep | - the timestep at which the vertex will be add ( default 0) |
Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.
Definition at line 75 of file mitkContourModel.cpp.
void mitk::ContourModel::AddVertexAtFront | ( | VertexType & | vertex, |
int | timestep = 0 |
||
) |
Add a vertex to the contour at given timestep AT THE FRONT of the contour. The vertex is added at the FRONT of contour.
vertex | - coordinate representation of a control point |
timestep | - the timestep at which the vertex will be add ( default 0) |
Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.
Definition at line 94 of file mitkContourModel.cpp.
void mitk::ContourModel::AddVertexAtFront | ( | mitk::Point3D & | vertex, |
bool | isControlPoint, | ||
int | timestep = 0 |
||
) |
Add a vertex to the contour at given timestep AT THE FRONT of the contour.
vertex | - coordinate representation of a control point |
timestep | - the timestep at which the vertex will be add ( default 0) |
isControlPoint | - specifies the vertex to be handled in a special way (e.g. control points will be rendered). |
Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.
Definition at line 83 of file mitkContourModel.cpp.
mitk::ContourModel::VertexIterator mitk::ContourModel::Begin | ( | int | timestep = 0 | ) | const |
Returns a const VertexIterator at the start element of the contour.
mitk::Exception | if the timestep is invalid. |
Definition at line 256 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelUtils::BackProjectContourFrom2DSlice(), mitk::ContourModelSetMapper3D::GenerateDataForRenderer(), mitk::CorrectorTool2D::OnMouseReleased(), and mitk::ContourModelUtils::ProjectContourTo2DSlice().
|
virtual |
Clear the storage container at given timestep.
All control points are removed at timestep.
Definition at line 430 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelLiveWireInteractor::OnFinishEditing().
|
overridevirtual |
Clear the storage container.
The object is set to initial state. All control points are removed and the number of timesteps are set to 1.
Reimplemented from mitk::BaseData.
Definition at line 492 of file mitkContourModel.cpp.
|
overrideprotectedvirtual |
reset to non-initialized state, release memory
Reimplemented from mitk::BaseData.
Definition at line 512 of file mitkContourModel.cpp.
Pointer mitk::ContourModel::Clone | ( | ) | const |
|
virtual |
Close the contour. The last control point will be linked with the first point.
Definition at line 195 of file mitkContourModel.cpp.
void mitk::ContourModel::Concatenate | ( | mitk::ContourModel * | other, |
int | timestep = 0 , |
||
bool | check = false |
||
) |
Concatenate two contours. The starting control point of the other will be added at the end of the contour. timestep - the timestep at which the vertex will be add ( default 0) check - check for intersections ( default false)
Definition at line 242 of file mitkContourModel.cpp.
References m_ContourSeries.
|
inline |
Deselect vertex.
Definition at line 80 of file mitkContourModel.h.
Referenced by mitk::ContourModelInteractor::OnCheckPointClick(), mitk::ContourModelLiveWireInteractor::OnCheckPointClick(), and mitk::ContourModelInteractor::OnFinishEditing().
mitk::ContourModel::VertexIterator mitk::ContourModel::End | ( | int | timestep = 0 | ) | const |
Returns a const VertexIterator at the end element of the contour.
mitk::Exception | if the timestep is invalid. |
Definition at line 274 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelUtils::BackProjectContourFrom2DSlice(), mitk::ContourModelSetMapper3D::GenerateDataForRenderer(), mitk::CorrectorTool2D::OnMouseReleased(), and mitk::ContourModelUtils::ProjectContourTo2DSlice().
|
overridevirtual |
overwrite if the Data can be called by an Interactor (StateMachine).
Implements mitk::OperationActor.
Definition at line 636 of file mitkContourModel.cpp.
|
overridevirtual |
Expand the timebounds of the TimeGeometry to given number of timesteps.
Reimplemented from mitk::BaseData.
Definition at line 442 of file mitkContourModel.cpp.
References mitk::ContourElement::New().
Referenced by mitk::ContourTool::OnMousePressed(), and mitk::CorrectorTool2D::OnMousePressed().
|
virtual |
Get the BaseGeometry for timestep t.
Definition at line 482 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelInteractor::OnCheckPointClick().
int mitk::ContourModel::GetIndex | ( | const VertexType * | vertex, |
int | timestep = 0 |
||
) |
Remove a vertex at given timestep within the container.
Definition at line 186 of file mitkContourModel.cpp.
|
inline |
Get the interpolation of the line segments between control points.
Definition at line 102 of file mitkContourModel.h.
int mitk::ContourModel::GetNumberOfVertices | ( | int | timestep = 0 | ) | const |
Returns the number of vertices at a given timestep.
timestep | - default = 0 |
Definition at line 168 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelToSurfaceFilter::GenerateData(), mitk::ContourModelSetToImageFilter::GenerateData(), mitk::ContourModelMapper2D::GenerateDataForRenderer(), mitk::ContourModelSetMapper3D::GenerateDataForRenderer(), mitk::ContourModelLiveWireInteractor::OnDeletePoint(), and mitk::RegionGrowingTool::OnMouseReleased().
|
inline |
Get the current selected vertex.
Definition at line 77 of file mitkContourModel.h.
Referenced by mitk::ContourModelGLMapper2DBase::InternalDrawContour(), mitk::ContourModelSetGLMapper2D::InternalDrawContour(), mitk::ContourModelInteractor::OnDeletePoint(), mitk::ContourModelLiveWireInteractor::OnDeletePoint(), and mitk::ContourModelLiveWireInteractor::SplitContourFromSelectedVertex().
|
virtual |
Get the updated geometry with recomputed bounds.
Definition at line 477 of file mitkContourModel.cpp.
|
virtual |
Returns the vertex at the index position within the container.
Definition at line 177 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelSetToImageFilter::GenerateData(), mitk::ContourModelGLMapper2DBase::InternalDrawContour(), mitk::ContourModelSetGLMapper2D::InternalDrawContour(), and mitk::RegionGrowingTool::OnMouseReleased().
|
overridevirtual |
Initialize all data objects.
Definition at line 521 of file mitkContourModel.cpp.
Referenced by mitk::ContourTool::OnMousePressed(), and mitk::CorrectorTool2D::OnMousePressed().
void mitk::ContourModel::Initialize | ( | mitk::ContourModel & | other | ) |
Initialize object with specs of other contour. Note: No data will be copied.
Definition at line 528 of file mitkContourModel.cpp.
References mitk::BaseData::GetTimeGeometry(), IsClosed(), m_lineInterpolation, and mitk::ContourElement::New().
|
overrideprotectedvirtual |
Pure virtual; Must be used in subclasses to get a data object to a valid state. Should at least create one empty object and call Superclass::InitializeTimeGeometry() to ensure an existing valid geometry.
Reimplemented from mitk::BaseData.
Definition at line 545 of file mitkContourModel.cpp.
References LINEAR, and mitk::ContourElement::New().
Referenced by ContourModel().
void mitk::ContourModel::InsertVertexAtIndex | ( | mitk::Point3D & | vertex, |
int | index, | ||
bool | isControlPoint = false , |
||
int | timestep = 0 |
||
) |
Insert a vertex at given index.
Definition at line 140 of file mitkContourModel.cpp.
bool mitk::ContourModel::IsClosed | ( | int | timestep = 0 | ) | const |
Return if the contour is closed or not.
Definition at line 292 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelMapper3D::CreateVtkPolyDataFromContour(), mitk::ContourModelToSurfaceFilter::GenerateData(), Initialize(), mitk::ContourModelGLMapper2DBase::InternalDrawContour(), mitk::ContourModelSetGLMapper2D::InternalDrawContour(), mitk::ContourModelLiveWireInteractor::OnDeletePoint(), mitk::ContourModelLiveWireInteractor::OnMovePoint(), and mitk::ContourModelWriter::WriteXML().
|
virtual |
Returns whether the contour model is empty at a given timestep. timestep - default = 0.
Definition at line 154 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelLiveWireInteractor::OnDeletePoint().
|
overridevirtual |
Returns whether the contour model is empty.
Reimplemented from mitk::BaseData.
Definition at line 163 of file mitkContourModel.cpp.
|
overridevirtual |
Check if there isn't something at this timestep.
Reimplemented from mitk::BaseData.
Definition at line 228 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelGLMapper2DBase::InternalDrawContour(), and mitk::ContourModelSetGLMapper2D::InternalDrawContour().
|
virtual |
Check if mouse cursor is near the contour.
Definition at line 233 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelInteractor::IsHovering(), and mitk::ContourModelLiveWireInteractor::IsHovering().
mitk::ContourModel::VertexIterator mitk::ContourModel::IteratorBegin | ( | int | timestep = 0 | ) | const |
Returns a const VertexIterator at the start element of the contour.
mitk::Exception | if the timestep is invalid. |
Definition at line 261 of file mitkContourModel.cpp.
References mitkThrow.
Referenced by mitk::ImageLiveWireContourModelFilter::CreateDynamicCostMapByITK(), mitk::ContourModelMapper3D::CreateVtkPolyDataFromContour(), mitk::ContourModelToSurfaceFilter::GenerateData(), mitk::ContourModelGLMapper2DBase::InternalDrawContour(), mitk::ContourModelSetGLMapper2D::InternalDrawContour(), mitk::ContourModelLiveWireInteractor::OnCheckPointClick(), mitk::ContourModelLiveWireInteractor::SplitContourFromSelectedVertex(), and mitk::ContourModelWriter::WriteXML().
mitk::ContourModel::VertexIterator mitk::ContourModel::IteratorEnd | ( | int | timestep = 0 | ) | const |
Returns a const VertexIterator at the end element of the contour.
mitk::Exception | if the timestep is invalid. |
Definition at line 279 of file mitkContourModel.cpp.
References mitkThrow.
Referenced by mitk::ImageLiveWireContourModelFilter::CreateDynamicCostMapByITK(), mitk::ContourModelMapper3D::CreateVtkPolyDataFromContour(), mitk::ContourModelToSurfaceFilter::GenerateData(), mitk::ContourModelGLMapper2DBase::InternalDrawContour(), mitk::ContourModelSetGLMapper2D::InternalDrawContour(), mitk::ContourModelLiveWireInteractor::OnCheckPointClick(), mitk::ContourModelLiveWireInteractor::SplitContourFromSelectedVertex(), and mitk::ContourModelWriter::WriteXML().
mitk::ContourModel::mitkClassMacro | ( | ContourModel | , |
BaseData | |||
) |
|
protected |
|
static |
Referenced by mitk::ContourModelUtils::BackProjectContourFrom2DSlice(), mitk::ContourUtils::BackProjectContourFrom2DSlice(), mitk::ContourModelMapper2D::CreateVtkPolyDataFromContour(), mitk::FeedbackContourTool::FeedbackContourTool(), mitk::ContourUtils::FillContourInSlice(), mitk::ContourModelSubDivisionFilter::GenerateData(), mitk::ImageToContourModelFilter::Itk2DContourExtraction(), mitk::PaintbrushTool::MouseMoved(), mitk::ContourModelLiveWireInteractor::OnCheckPointClick(), mitk::ContourModelLiveWireInteractor::OnDeletePoint(), mitk::LiveWireTool2D::OnInitLiveWire(), mitk::LiveWireTool2D::OnLastSegmentDelete(), mitk::RegionGrowingTool::OnMouseMoved(), mitk::RegionGrowingTool::OnMousePressedOutside(), mitk::CorrectorTool2D::OnMouseReleased(), mitk::RegionGrowingTool::OnMouseReleased(), mitk::ContourModelLiveWireInteractor::OnMovePoint(), mitk::PaintbrushTool::PaintbrushTool(), mitk::ContourUtils::ProjectContourTo2DSlice(), mitk::ContourModelUtils::ProjectContourTo2DSlice(), mitk::ContourModelReader::Read(), mitk::RTStructureSetReader::ReadStructureSet(), and mitk::PaintbrushTool::UpdateContour().
|
virtual |
Set isClosed to false contour. The link between the last control point the first point will be removed.
Definition at line 206 of file mitkContourModel.cpp.
|
virtual |
Redistributes ontrol vertices with a given period (as number of vertices)
period | - the number of vertices between control points. |
timestep | - at this timestep all lines will be rebuilt. |
Definition at line 501 of file mitkContourModel.cpp.
bool mitk::ContourModel::RemoveVertex | ( | const VertexType * | vertex, |
int | timestep = 0 |
||
) |
Remove a vertex at given timestep within the container.
Definition at line 347 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelInteractor::OnDeletePoint().
bool mitk::ContourModel::RemoveVertexAt | ( | int | index, |
int | timestep = 0 |
||
) |
Remove a vertex at given index within the container.
Definition at line 362 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelLiveWireInteractor::OnDeletePoint().
bool mitk::ContourModel::RemoveVertexAt | ( | mitk::Point3D & | point, |
float | eps, | ||
int | timestep = 0 |
||
) |
Remove a vertex at a query position in 3D space.
The vertex to be removed will be search by nearest neighbour search. Note that possibly no vertex at this position and eps is stored inside the contour.
Definition at line 377 of file mitkContourModel.cpp.
|
overridevirtual |
Inherit from base data - no region support available for contourModel objects.
Implements mitk::BaseData.
Definition at line 465 of file mitkContourModel.cpp.
bool mitk::ContourModel::SelectVertexAt | ( | int | index, |
int | timestep = 0 |
||
) |
Mark a vertex at an index in the container as selected.
Definition at line 310 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelInteractor::OnCheckPointClick(), and mitk::ContourModelLiveWireInteractor::OnCheckPointClick().
bool mitk::ContourModel::SelectVertexAt | ( | mitk::Point3D & | point, |
float | eps, | ||
int | timestep = 0 |
||
) |
Mark a vertex at a given position in 3D space.
point | - query point in 3D space |
eps | - radius for nearest neighbour search (error bound). |
timestep | - search at this timestep |
Definition at line 301 of file mitkContourModel.cpp.
|
virtual |
Set closed property to given boolean.
false - The link between the last control point the first point will be removed. true - The last control point will be linked with the first point.
Definition at line 217 of file mitkContourModel.cpp.
Referenced by mitk::CorrectorTool2D::CorrectorTool2D(), mitk::ContourTool::OnMousePressed(), and mitk::CorrectorTool2D::OnMousePressed().
bool mitk::ContourModel::SetControlVertexAt | ( | int | index, |
int | timestep = 0 |
||
) |
Mark a vertex at an index in the container as control point.
Definition at line 333 of file mitkContourModel.cpp.
References mitk::ContourElement::ContourModelVertex::IsControlPoint.
bool mitk::ContourModel::SetControlVertexAt | ( | mitk::Point3D & | point, |
float | eps, | ||
int | timestep = 0 |
||
) |
Definition at line 319 of file mitkContourModel.cpp.
References mitk::ContourElement::ContourModelVertex::IsControlPoint.
|
inline |
Set the interpolation of the line segments between control points.
Definition at line 94 of file mitkContourModel.h.
|
overridevirtual |
Inherit from base data - no region support available for contourModel objects.
Implements mitk::BaseData.
Definition at line 487 of file mitkContourModel.cpp.
|
overridevirtual |
Inherit from base data - no region support available for contourModel objects.
Implements mitk::BaseData.
Definition at line 460 of file mitkContourModel.cpp.
|
inline |
Set selected vertex as control point.
Definition at line 83 of file mitkContourModel.h.
Referenced by mitk::ContourModelInteractor::OnCheckPointClick(), and mitk::ContourModelLiveWireInteractor::OnCheckPointClick().
bool mitk::ContourModel::SetVertexAt | ( | int | pointId, |
const mitk::Point3D & | point, | ||
unsigned int | timestep = 0 |
||
) |
Set a coordinates for point at given index.
Definition at line 105 of file mitkContourModel.cpp.
bool mitk::ContourModel::SetVertexAt | ( | int | pointId, |
const VertexType * | vertex, | ||
unsigned int | timestep = 0 |
||
) |
Set a coordinates for point at given index.
Definition at line 121 of file mitkContourModel.cpp.
void mitk::ContourModel::ShiftContour | ( | mitk::Vector3D & | translate, |
int | timestep = 0 |
||
) |
Shift the whole contour by a translation vector at given timestep.
translate | - the translation vector. |
timestep | - at this timestep the contour will be shifted. |
Definition at line 402 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelInteractor::OnMoveContour().
void mitk::ContourModel::ShiftSelectedVertex | ( | mitk::Vector3D & | translate | ) |
Shift the currently selected vertex by a translation vector.
translate | - the translation vector. |
Definition at line 392 of file mitkContourModel.cpp.
Referenced by mitk::ContourModelInteractor::OnMovePoint().
|
protected |
Definition at line 423 of file mitkContourModel.cpp.
References mitk::ContourElement::ContourModelVertex::Coordinates.
|
overridevirtual |
Update the OutputInformation of a ContourModel object.
The BoundingBox of the contour will be updated, if necessary.
Definition at line 558 of file mitkContourModel.cpp.
References mitk::New(), and mitk::BaseGeometry::SetBounds().
Referenced by mitk::ContourModelGLMapper2DBase::InternalDrawContour(), mitk::ContourModelSetGLMapper2D::InternalDrawContour(), mitk::ContourModelMapper2D::Update(), mitk::ContourModelMapper3D::Update(), and mitk::ContourModelSetMapper3D::Update().
|
overridevirtual |
Inherit from base data - no region support available for contourModel objects.
Implements mitk::BaseData.
Definition at line 471 of file mitkContourModel.cpp.
|
protected |
Definition at line 434 of file mitkContourModel.h.
Referenced by Concatenate().
|
protected |
Definition at line 440 of file mitkContourModel.h.
Referenced by Initialize().
|
protected |
Definition at line 437 of file mitkContourModel.h.
Referenced by ContourModel().
|
protected |
Definition at line 443 of file mitkContourModel.h.