|
Medical Imaging Interaction Toolkit
2026.06.00
Medical Imaging Interaction Toolkit
|
A time-resolved contour representation consisting of linked vertices in 3D space. More...
#include <mitkContourModel.h>


Public Types | |
| enum | LineSegmentInterpolation { LINEAR , B_SPLINE } |
| Interpolation mode for line segments between control points. More... | |
| typedef ContourElement::VertexType | VertexType |
| typedef ContourElement::VertexListType | VertexListType |
| typedef ContourElement::VertexIterator | VertexIterator |
| typedef ContourElement::ConstVertexIterator | ConstVertexIterator |
| typedef std::vector< ContourElement::Pointer > | ContourModelSeries |
Public Types inherited from mitk::Identifiable | |
| using | UIDType = std::string |
| Type alias for unique identifiers. More... | |
Public Member Functions | |
| mitkClassMacro (ContourModel, BaseData) | |
| Pointer | Clone () const |
| VertexType * | GetSelectedVertex () |
| Get the currently selected vertex. More... | |
| void | Deselect () |
| Clear the current vertex selection. More... | |
| void | SetSelectedVertexAsControlPoint (bool isControlPoint=true) |
| Set or clear the control point flag on the currently selected vertex. More... | |
| void | SetLineSegmentInterpolation (LineSegmentInterpolation interpolation) |
| Set the interpolation mode for line segments between control points. More... | |
| LineSegmentInterpolation | GetLineSegmentInterpolation () |
| Get the current interpolation mode for line segments between control points. More... | |
| void | AddVertex (const Point3D &vertex, TimeStepType 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, TimeStepType timestep=0) |
| Add a vertex to the contour at given timestep. A copy of the passed vertex is added at the end of contour. More... | |
| void | AddVertex (const Point3D &vertex, bool isControlPoint, TimeStepType timestep=0) |
| Add a vertex to the contour. More... | |
| void | UpdateContour (const ContourModel *sourceModel, TimeStepType destinationTimeStep, TimeStepType sourceTimeStep) |
| void | AddVertexAtFront (const Point3D &vertex, TimeStepType 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 (const VertexType &vertex, TimeStepType 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 (const Point3D &vertex, bool isControlPoint, TimeStepType timestep=0) |
| Add a vertex to the contour at given timestep AT THE FRONT of the contour. More... | |
| void | InsertVertexAtIndex (const Point3D &vertex, int index, bool isControlPoint=false, TimeStepType timestep=0) |
| Insert a vertex at given index. More... | |
| bool | SetVertexAt (int pointId, const Point3D &point, TimeStepType timestep=0) |
| Set a coordinates for point at given index. More... | |
| bool | SetVertexAt (int pointId, const VertexType *vertex, TimeStepType timestep=0) |
| Set a coordinates and control state for point at given index. More... | |
| bool | IsClosed (int timestep=0) const |
| Return if the contour is closed or not. More... | |
| void | Concatenate (ContourModel *other, TimeStepType timestep=0, bool check=false) |
| Concatenate two contours. The starting control point of the other will be added at the end of the contour. More... | |
| VertexIterator | Begin (TimeStepType timestep=0) const |
| Returns a const VertexIterator at the start element of the contour. More... | |
| VertexIterator | IteratorBegin (TimeStepType timestep=0) const |
| Returns a const VertexIterator at the start element of the contour. More... | |
| VertexIterator | End (TimeStepType timestep=0) const |
| Returns a const VertexIterator at the end element of the contour. More... | |
| VertexIterator | IteratorEnd (TimeStepType timestep=0) const |
| Returns a const VertexIterator at the end element of the contour. More... | |
| virtual void | Close (TimeStepType timestep=0) |
| Close the contour. The last control point will be linked with the first point. More... | |
| virtual void | Open (TimeStepType 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, TimeStepType timestep=0) |
| Set closed property to given boolean. More... | |
| int | GetNumberOfVertices (TimeStepType timestep=0) const |
| Returns the number of vertices at a given timestep. More... | |
| virtual bool | IsEmpty (TimeStepType timestep) const |
| Returns whether the contour model is empty at a given timestep. More... | |
| bool | IsEmpty () const override |
| Returns whether the contour model is empty. More... | |
| virtual const VertexType * | GetVertexAt (int index, TimeStepType timestep=0) const |
| Returns the vertex at the index position within the container. If the index or timestep is invalid a nullptr will be returned. More... | |
| const VertexType * | GetVertexAt (mitk::Point3D &point, float eps, TimeStepType timestep) const |
| Find the nearest vertex to a given 3D position at a specific time step. More... | |
| virtual const VertexType * | GetNextControlVertexAt (mitk::Point3D &point, float eps, TimeStepType timestep) const |
| Return the next control vertex after the nearest vertex to a given 3D position. More... | |
| virtual const VertexType * | GetPreviousControlVertexAt (mitk::Point3D &point, float eps, TimeStepType timestep) const |
| Return the previous control vertex before the nearest vertex to a given 3D position. More... | |
| int | GetIndex (const VertexType *vertex, TimeStepType timestep=0) |
| Return the index of a given vertex within the contour at the specified time step. More... | |
| bool | IsEmptyTimeStep (unsigned int t) const override |
| Check whether the given time step has no associated contour data. More... | |
| bool | IsNearContour (Point3D &point, float eps, TimeStepType timestep) const |
| Check whether a given point lies near the contour at the specified time step. More... | |
| bool | GetLineSegmentForPoint (Point3D &point, float eps, TimeStepType timestep, mitk::ContourElement::VertexType *previousVertex=nullptr, mitk::ContourElement::VertexType *nextVertex=nullptr) |
| bool | GetLineSegmentForPoint (const mitk::Point3D &point, float eps, TimeStepType timestep, ContourElement::VertexSizeType &segmentStartIndex, ContourElement::VertexSizeType &segmentEndIndex, mitk::Point3D &closestContourPoint, bool findClosest=true) const |
| bool | SelectVertexAt (int index, TimeStepType timestep=0) |
| Mark a vertex at an index in the container as selected. More... | |
| bool | SetControlVertexAt (int index, TimeStepType timestep=0) |
| Mark a vertex at an index in the container as control point. More... | |
| bool | SelectControlVertexAt (const Point3D &point, float eps, TimeStepType timestep=0) |
| Mark a control vertex at a given position in 3D space. More... | |
| bool | SelectVertexAt (const Point3D &point, float eps, TimeStepType timestep=0) |
| Mark a vertex at a given position in 3D space. More... | |
| bool | SetControlVertexAt (Point3D &point, float eps, TimeStepType timestep=0) |
| bool | RemoveVertexAt (int index, TimeStepType timestep=0) |
| Remove a vertex at given index within the container. More... | |
| bool | RemoveVertex (const VertexType *vertex, TimeStepType timestep=0) |
| Remove a vertex at given timestep within the container. More... | |
| bool | RemoveVertexAt (Point3D &point, float eps, TimeStepType timestep=0) |
| Remove a vertex at a query position in 3D space. More... | |
| void | ShiftSelectedVertex (Vector3D &translate) |
| Shift the currently selected vertex by a translation vector. More... | |
| void | ShiftContour (Vector3D &translate, TimeStepType timestep=0) |
| Shift the whole contour by a translation vector at given timestep. More... | |
| virtual void | Clear (TimeStepType timestep) |
| Clear the storage container at given timestep. More... | |
| void | Initialize () override |
| Initialize all data objects. More... | |
| void | Initialize (const ContourModel &other) |
| Initialize object with specs of other contour. Note: No data will be copied. More... | |
| VertexListType | GetControlVertices (TimeStepType timestep) |
| Returns a list pointing to all vertices that are indicated to be control points. More... | |
| VertexListType | GetVertexList (TimeStepType timestep) |
| Returns the container of the vertices. More... | |
| void | SetRequestedRegionToLargestPossibleRegion () override |
| Inherit from base data - no region support available for contourModel objects. More... | |
| bool | RequestedRegionIsOutsideOfTheBufferedRegion () override |
| Inherit from base data - no region support available for contourModel objects. More... | |
| bool | VerifyRequestedRegion () override |
| Inherit from base data - no region support available for contourModel objects. More... | |
| void | SetRequestedRegion (const itk::DataObject *data) override |
| Inherit from base data - no region support available for contourModel objects. More... | |
| void | Expand (unsigned int timeSteps) override |
| Expand the contour model and its TimeGeometry to given number of timesteps. More... | |
| void | UpdateOutputInformation () override |
| Update the OutputInformation of a ContourModel object. More... | |
| 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, TimeStepType timestep) |
| Redistributes control vertices with a given period (as number of vertices) More... | |
Public Member Functions inherited from mitk::BaseData | |
| mitkClassMacroItkParent (BaseData, itk::DataObject) | |
| BaseProperty::ConstPointer | GetConstProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) const override |
| Get a const property by its key. More... | |
| std::vector< std::string > | GetPropertyKeys (const std::string &contextName="", bool includeDefaultContext=false) const override |
| Get all property keys stored in the property list. More... | |
| std::vector< std::string > | GetPropertyContextNames () const override |
| Get the names of all property contexts. More... | |
| BaseProperty * | GetNonConstProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) override |
| Get a non-const property by its key. More... | |
| void | SetProperty (const std::string &propertyKey, BaseProperty *property, const std::string &contextName="", bool fallBackOnDefaultContext=false) override |
| Set a property in the property list. More... | |
| void | RemoveProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=false) override |
| Remove a property from the property list. More... | |
| const mitk::TimeGeometry * | GetTimeGeometry () const |
| Return the TimeGeometry of the data as const pointer. More... | |
| mitk::TimeGeometry * | GetTimeGeometry () |
| Return the TimeGeometry of the data as non-const pointer. More... | |
| const mitk::TimeGeometry * | GetUpdatedTimeGeometry () |
| Return the TimeGeometry of the data after ensuring it is up-to-date. More... | |
| const mitk::BaseGeometry * | GetUpdatedGeometry (int t=0) |
| Return the BaseGeometry of the data at time step t after ensuring it is up-to-date. More... | |
| mitk::BaseGeometry * | GetGeometry (int t=0) const |
| Return the BaseGeometry of the data at time step t as a non-const pointer. More... | |
| void | UpdateOutputInformation () override |
| Update the information for this BaseData 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. More... | |
| void | ExecuteOperation (Operation *operation) override |
| Execute an operation on this data object. More... | |
| virtual void | SetGeometry (BaseGeometry *aGeometry3D) |
| Set the BaseGeometry of the data, which will be referenced (not copied!). 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 geometry as the BaseGeometry of the data. More... | |
| virtual void | SetClonedTimeGeometry (const TimeGeometry *geometry) |
| Set a clone of the provided TimeGeometry as the TimeGeometry of the data. More... | |
| virtual void | SetClonedGeometry (const BaseGeometry *aGeometry3D, unsigned int time) |
| Set a clone of the provided geometry as the 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, replacing the existing one. More... | |
| mitk::BaseProperty::Pointer | GetProperty (const char *propertyKey) const |
| Get a property by its key from the PropertyList. More... | |
| void | SetProperty (const char *propertyKey, BaseProperty *property) |
| Set a property in the PropertyList. More... | |
| 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. More... | |
| itk::ModifiedTimeType | GetMTime () const override |
| Get the modification time of this data object or its geometry, whichever was modified most recently. More... | |
| void | Graft (const DataObject *) override |
| Graft data and information from another data object. More... | |
Public Member Functions inherited from mitk::OperationActor | |
| itkTypeMacroNoParent (OperationActor) virtual ~OperationActor() | |
Public Member Functions inherited from mitk::Identifiable | |
| Identifiable () | |
| Default constructor. Generates a new random UID. More... | |
| Identifiable (const UIDType &uid) | |
| Construct with a pre-existing UID. More... | |
| Identifiable (const Identifiable &)=delete | |
| Copy construction is deleted to prevent UID duplication. More... | |
| Identifiable (Identifiable &&) noexcept | |
| Move constructor. Transfers ownership of the UID. More... | |
| virtual | ~Identifiable () |
| Virtual destructor. More... | |
| Identifiable & | operator= (const Identifiable &)=delete |
| Copy assignment is deleted to prevent UID duplication. More... | |
| Identifiable & | operator= (Identifiable &&other) noexcept |
| Move assignment operator. Transfers ownership of the UID. More... | |
| virtual UIDType | GetUID () const |
| Get the unique identifier of this object. More... | |
| UIDType | GetRuntimeUID () const noexcept |
| Get a runtime-unique ID for this object instance. More... | |
Public Member Functions inherited from mitk::IPropertyOwner | |
| ~IPropertyOwner () override | |
| virtual bool | PropertyIsOwned (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) const |
| Checks if a certain property exists. More... | |
Public Member Functions inherited from mitk::IPropertyProvider | |
| virtual | ~IPropertyProvider () |
| Virtual destructor. More... | |
Static Public Member Functions | |
| static Pointer | New () |
Protected Member Functions | |
| mitkCloneMacro (Self) | |
| ContourModel () | |
| ContourModel (const ContourModel &other) | |
| ~ContourModel () override | |
| void | ClearData () override |
| reset to non-initialized state, release memory More... | |
| 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... | |
Protected Member Functions inherited from mitk::BaseData | |
| BaseData () | |
| BaseData (const BaseData &other) | |
| ~BaseData () override | |
| 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... | |
| void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
Protected Member Functions inherited from mitk::Identifiable | |
| virtual void | SetUID (const UIDType &uid) |
Static Protected Member Functions | |
| static void | ShiftVertex (VertexType *vertex, Vector3D &vector) |
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 |
A time-resolved contour representation consisting of linked vertices in 3D space.
ContourModel stores a sequence of vertices (mitk::ContourElement) for each time step. Line segments between vertices are implicitly defined. By default, consecutive control points are connected by straight lines, but B-spline interpolation is also available.
Vertices can be added at the front or end and accessed by index, 3D position, or iterator. The contour may be open (a polyline) or closed (forming a Jordan curve). Interaction operations such as shifting individual vertices or the entire contour are provided directly in the API without requiring a separate interactor class.
ContourModel inherits from mitk::BaseData and therefore integrates with the MITK data management framework (DataStorage, DataNode, TimeGeometry).
The default mappers are mitk::ContourModelMapper2D and mitk::ContourModelMapper3D. See those classes for display properties that can be configured via DataNode properties.
Definition at line 46 of file mitkContourModel.h.
Definition at line 59 of file mitkContourModel.h.
| typedef std::vector<ContourElement::Pointer> mitk::ContourModel::ContourModelSeries |
Definition at line 60 of file mitkContourModel.h.
Definition at line 58 of file mitkContourModel.h.
Definition at line 57 of file mitkContourModel.h.
Definition at line 56 of file mitkContourModel.h.
Interpolation mode for line segments between control points.
Determines how consecutive control points are connected visually.
| Enumerator | |
|---|---|
| LINEAR | Straight line segments between control points. |
| B_SPLINE | B-spline interpolated curve through control points. |
Definition at line 67 of file mitkContourModel.h.
|
protected |
|
protected |
|
overrideprotected |
| void mitk::ContourModel::AddVertex | ( | const Point3D & | vertex, |
| bool | isControlPoint, | ||
| TimeStepType | 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). |
| void mitk::ContourModel::AddVertex | ( | const Point3D & | vertex, |
| TimeStepType | 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) |
| void mitk::ContourModel::AddVertex | ( | const VertexType & | vertex, |
| TimeStepType | timestep = 0 |
||
| ) |
Add a vertex to the contour at given timestep. A copy of the passed 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) |
| void mitk::ContourModel::AddVertexAtFront | ( | const Point3D & | vertex, |
| bool | isControlPoint, | ||
| TimeStepType | 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). |
| void mitk::ContourModel::AddVertexAtFront | ( | const Point3D & | vertex, |
| TimeStepType | 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) |
| void mitk::ContourModel::AddVertexAtFront | ( | const VertexType & | vertex, |
| TimeStepType | 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) |
| VertexIterator mitk::ContourModel::Begin | ( | TimeStepType | timestep = 0 | ) | const |
Returns a const VertexIterator at the start element of the contour.
| mitk::Exception | if the timestep is invalid. |
|
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.
|
virtual |
Clear the storage container at given timestep.
All control points are removed at timestep.
|
overrideprotectedvirtual |
reset to non-initialized state, release memory
Reimplemented from mitk::BaseData.
| Pointer mitk::ContourModel::Clone | ( | ) | const |
|
virtual |
Close the contour. The last control point will be linked with the first point.
| void mitk::ContourModel::Concatenate | ( | ContourModel * | other, |
| TimeStepType | timestep = 0, |
||
| bool | check = false |
||
| ) |
Concatenate two contours. The starting control point of the other will be added at the end of the contour.
| other | |
| timestep | - the timestep at which the vertex will be add ( default 0) |
| check | - check for intersections ( default false) |
|
inline |
Clear the current vertex selection.
Definition at line 83 of file mitkContourModel.h.
| VertexIterator mitk::ContourModel::End | ( | TimeStepType | timestep = 0 | ) | const |
Returns a const VertexIterator at the end element of the contour.
| mitk::Exception | if the timestep is invalid. |
|
overridevirtual |
overwrite if the Data can be called by an Interactor (StateMachine).
Implements mitk::OperationActor.
|
overridevirtual |
Expand the contour model and its TimeGeometry to given number of timesteps.
Reimplemented from mitk::BaseData.
| VertexListType mitk::ContourModel::GetControlVertices | ( | TimeStepType | timestep | ) |
Returns a list pointing to all vertices that are indicated to be control points.
| int mitk::ContourModel::GetIndex | ( | const VertexType * | vertex, |
| TimeStepType | timestep = 0 |
||
| ) |
Return the index of a given vertex within the contour at the specified time step.
| [in] | vertex | Pointer to the vertex to find. |
| [in] | timestep | Time step to query. Default is 0. |
| bool mitk::ContourModel::GetLineSegmentForPoint | ( | const mitk::Point3D & | point, |
| float | eps, | ||
| TimeStepType | timestep, | ||
| ContourElement::VertexSizeType & | segmentStartIndex, | ||
| ContourElement::VertexSizeType & | segmentEndIndex, | ||
| mitk::Point3D & | closestContourPoint, | ||
| bool | findClosest = true |
||
| ) | const |
Overloaded version that returns additional information (start and end vertex of the line closest to the passed point and the closest point on the contour).
| bool mitk::ContourModel::GetLineSegmentForPoint | ( | Point3D & | point, |
| float | eps, | ||
| TimeStepType | timestep, | ||
| mitk::ContourElement::VertexType * | previousVertex = nullptr, |
||
| mitk::ContourElement::VertexType * | nextVertex = nullptr |
||
| ) |
Function that searches for the line segment of the contour that is closest to the passed point and close enough (distance between point and line segment <= eps). If such an line segment exist, the starting vertex and closing vertex of the found segment are passed back.
|
inline |
Get the current interpolation mode for line segments between control points.
Definition at line 113 of file mitkContourModel.h.
|
virtual |
Return the next control vertex after the nearest vertex to a given 3D position.
| [in] | point | Query position in 3D space. |
| [in] | eps | Maximum Euclidean distance for the search. |
| [in] | timestep | Time step to query. |
| int mitk::ContourModel::GetNumberOfVertices | ( | TimeStepType | timestep = 0 | ) | const |
Returns the number of vertices at a given timestep.
| timestep | - default = 0 |
|
virtual |
Return the previous control vertex before the nearest vertex to a given 3D position.
| [in] | point | Query position in 3D space. |
| [in] | eps | Maximum Euclidean distance for the search. |
| [in] | timestep | Time step to query. |
|
inline |
Get the currently selected vertex.
Definition at line 78 of file mitkContourModel.h.
|
virtual |
Returns the vertex at the index position within the container. If the index or timestep is invalid a nullptr will be returned.
| const VertexType* mitk::ContourModel::GetVertexAt | ( | mitk::Point3D & | point, |
| float | eps, | ||
| TimeStepType | timestep | ||
| ) | const |
Find the nearest vertex to a given 3D position at a specific time step.
| [in] | point | Query position in 3D space. |
| [in] | eps | Maximum Euclidean distance for the search. |
| [in] | timestep | Time step to query. |
| VertexListType mitk::ContourModel::GetVertexList | ( | TimeStepType | timestep | ) |
Returns the container of the vertices.
|
override |
Initialize all data objects.
| void mitk::ContourModel::Initialize | ( | const ContourModel & | other | ) |
Initialize object with specs of other contour. Note: No data will be copied.
|
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.
| void mitk::ContourModel::InsertVertexAtIndex | ( | const Point3D & | vertex, |
| int | index, | ||
| bool | isControlPoint = false, |
||
| TimeStepType | timestep = 0 |
||
| ) |
Insert a vertex at given index.
| bool mitk::ContourModel::IsClosed | ( | int | timestep = 0 | ) | const |
Return if the contour is closed or not.
|
overridevirtual |
Returns whether the contour model is empty.
Reimplemented from mitk::BaseData.
|
virtual |
Returns whether the contour model is empty at a given timestep.
| timestep | - default = 0 |
|
overridevirtual |
Check whether the given time step has no associated contour data.
| [in] | t | Time step index. |
t exceeds the number of available time steps. Reimplemented from mitk::BaseData.
| bool mitk::ContourModel::IsNearContour | ( | Point3D & | point, |
| float | eps, | ||
| TimeStepType | timestep | ||
| ) | const |
Check whether a given point lies near the contour at the specified time step.
| [in] | point | Query position in 3D space. |
| [in] | eps | Maximum squared distance for the proximity test. |
| [in] | timestep | Time step to query. |
| VertexIterator mitk::ContourModel::IteratorBegin | ( | TimeStepType | timestep = 0 | ) | const |
Returns a const VertexIterator at the start element of the contour.
| mitk::Exception | if the timestep is invalid. |
| VertexIterator mitk::ContourModel::IteratorEnd | ( | TimeStepType | timestep = 0 | ) | const |
Returns a const VertexIterator at the end element of the contour.
| mitk::Exception | if the timestep is invalid. |
| mitk::ContourModel::mitkClassMacro | ( | ContourModel | , |
| BaseData | |||
| ) |
|
protected |
|
static |
|
virtual |
Set isClosed to false contour. The link between the last control point the first point will be removed.
|
virtual |
Redistributes control 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. |
| bool mitk::ContourModel::RemoveVertex | ( | const VertexType * | vertex, |
| TimeStepType | timestep = 0 |
||
| ) |
Remove a vertex at given timestep within the container.
| bool mitk::ContourModel::RemoveVertexAt | ( | int | index, |
| TimeStepType | timestep = 0 |
||
| ) |
Remove a vertex at given index within the container.
| bool mitk::ContourModel::RemoveVertexAt | ( | Point3D & | point, |
| float | eps, | ||
| TimeStepType | 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.
|
overridevirtual |
Inherit from base data - no region support available for contourModel objects.
Implements mitk::BaseData.
| bool mitk::ContourModel::SelectControlVertexAt | ( | const Point3D & | point, |
| float | eps, | ||
| TimeStepType | timestep = 0 |
||
| ) |
Mark a control 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 |
| bool mitk::ContourModel::SelectVertexAt | ( | const Point3D & | point, |
| float | eps, | ||
| TimeStepType | 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 |
| bool mitk::ContourModel::SelectVertexAt | ( | int | index, |
| TimeStepType | timestep = 0 |
||
| ) |
Mark a vertex at an index in the container as selected.
|
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.
| bool mitk::ContourModel::SetControlVertexAt | ( | int | index, |
| TimeStepType | timestep = 0 |
||
| ) |
Mark a vertex at an index in the container as control point.
| bool mitk::ContourModel::SetControlVertexAt | ( | Point3D & | point, |
| float | eps, | ||
| TimeStepType | timestep = 0 |
||
| ) |
|
inline |
Set the interpolation mode for line segments between control points.
| [in] | interpolation | The desired interpolation mode. |
Definition at line 103 of file mitkContourModel.h.
|
overridevirtual |
Inherit from base data - no region support available for contourModel objects.
Implements mitk::BaseData.
|
overridevirtual |
Inherit from base data - no region support available for contourModel objects.
Implements mitk::BaseData.
|
inline |
Set or clear the control point flag on the currently selected vertex.
| [in] | isControlPoint | If true, marks the selected vertex as a control point; if false, removes the control point designation. Default is true. |
Definition at line 90 of file mitkContourModel.h.
| bool mitk::ContourModel::SetVertexAt | ( | int | pointId, |
| const Point3D & | point, | ||
| TimeStepType | timestep = 0 |
||
| ) |
Set a coordinates for point at given index.
| bool mitk::ContourModel::SetVertexAt | ( | int | pointId, |
| const VertexType * | vertex, | ||
| TimeStepType | timestep = 0 |
||
| ) |
Set a coordinates and control state for point at given index.
| void mitk::ContourModel::ShiftContour | ( | Vector3D & | translate, |
| TimeStepType | 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. |
| void mitk::ContourModel::ShiftSelectedVertex | ( | Vector3D & | translate | ) |
Shift the currently selected vertex by a translation vector.
| translate | - the translation vector. |
|
staticprotected |
| void mitk::ContourModel::UpdateContour | ( | const ContourModel * | sourceModel, |
| TimeStepType | destinationTimeStep, | ||
| TimeStepType | sourceTimeStep | ||
| ) |
Clears the contour of destinationTimeStep and copies the contour of the passed source model at the sourceTimeStep.
|
override |
Update the OutputInformation of a ContourModel object.
The BoundingBox of the contour will be updated, if necessary.
|
overridevirtual |
Inherit from base data - no region support available for contourModel objects.
Implements mitk::BaseData.
|
protected |
Definition at line 501 of file mitkContourModel.h.
|
protected |
Definition at line 507 of file mitkContourModel.h.
|
protected |
Definition at line 504 of file mitkContourModel.h.
|
protected |
Definition at line 510 of file mitkContourModel.h.