Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
Class for storing surfaces (vtkPolyData). More...
#include <mitkSurface.h>
Public Types | |
typedef itk::ImageRegion< 5 > | RegionType |
typedef Surface | Self |
typedef BaseData | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
![]() | |
typedef BaseData | Self |
typedef itk::DataObject | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
![]() | |
using | UIDType = std::string |
Public Member Functions | |
virtual std::vector< std::string > | GetClassHierarchy () const override |
virtual const char * | GetClassName () const |
Pointer | Clone () const |
void | CalculateBoundingBox () |
void | CopyInformation (const itk::DataObject *data) override |
void | ExecuteOperation (Operation *operation) override |
overwrite if the Data can be called by an Interactor (StateMachine). More... | |
void | Expand (unsigned int timeSteps=1) override |
Expands the TimeGeometry to a number of TimeSteps. More... | |
const RegionType & | GetLargestPossibleRegion () const |
virtual const RegionType & | GetRequestedRegion () const |
unsigned int | GetSizeOfPolyDataSeries () const |
virtual vtkPolyData * | GetVtkPolyData (unsigned int t=0) const |
void | Graft (const DataObject *data) override |
bool | IsEmptyTimeStep (unsigned int t) const override |
Check whether object contains data (at a specified time), e.g., a set of points may be empty. More... | |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
bool | RequestedRegionIsOutsideOfTheBufferedRegion () override |
Determine whether the RequestedRegion is outside of the BufferedRegion. More... | |
void | SetRequestedRegion (const itk::DataObject *data) override |
Set the requested region from this data object to match the requested region of the data object passed in as a parameter. More... | |
virtual void | SetRequestedRegion (Surface::RegionType *region) |
void | SetRequestedRegionToLargestPossibleRegion () override |
Set the RequestedRegion to the LargestPossibleRegion. More... | |
virtual void | SetVtkPolyData (vtkPolyData *polydata, unsigned int t=0) |
virtual void | Swap (Surface &other) |
void | Update () override |
void | UpdateOutputInformation () override |
bool | VerifyRequestedRegion () override |
Verify that the RequestedRegion is within the LargestPossibleRegion. More... | |
![]() | |
BaseProperty::ConstPointer | GetConstProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) const override |
Get property by its key. More... | |
std::vector< std::string > | GetPropertyKeys (const std::string &contextName="", bool includeDefaultContext=false) const override |
Query keys of existing properties. More... | |
std::vector< std::string > | GetPropertyContextNames () const override |
Query names of existing contexts. More... | |
BaseProperty * | GetNonConstProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) override |
Get property by its key. More... | |
void | SetProperty (const std::string &propertyKey, BaseProperty *property, const std::string &contextName="", bool fallBackOnDefaultContext=false) override |
Add new or change existent property. More... | |
void | RemoveProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=false) override |
Removes a property. If the property does not exist, nothing will be done. More... | |
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... | |
virtual void | Clear () |
Calls ClearData() and InitializeEmpty();. More... | |
virtual bool | IsEmpty () const |
Check whether object contains data (at least at one point in time), e.g., a set of points may be empty. 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 Geometry as Geometry 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... | |
unsigned long | GetMTime () const override |
Get the modified time of the last change of the contents this data object or its geometry. More... | |
void | Graft (const DataObject *) override |
![]() | |
itkTypeMacroNoParent (OperationActor) virtual ~OperationActor() | |
![]() | |
Identifiable () | |
Identifiable (const UIDType &uid) | |
Identifiable (const Identifiable &)=delete | |
Identifiable (Identifiable &&) noexcept | |
virtual | ~Identifiable () |
Identifiable & | operator= (const Identifiable &)=delete |
Identifiable & | operator= (Identifiable &&other) noexcept |
UIDType | GetUID () const |
Get unique ID of an object. More... | |
![]() | |
~IPropertyOwner () override | |
![]() | |
virtual | ~IPropertyProvider () |
Static Public Member Functions | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
![]() | |
static const char * | GetStaticNameOfClass () |
Protected Member Functions | |
virtual itk::LightObject::Pointer | InternalClone () const override |
Surface () | |
~Surface () override | |
Surface (const Surface &other) | |
Surface & | operator= (Surface other) |
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... | |
![]() | |
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... | |
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... | |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
Additional Inherited Members | |
![]() | |
bool | m_LastRequestedRegionWasOutsideOfTheBufferedRegion |
unsigned int | m_SourceOutputIndexDuplicate |
bool | m_Initialized |
Class for storing surfaces (vtkPolyData).
Definition at line 28 of file mitkSurface.h.
typedef itk::SmartPointer<const Self> mitk::Surface::ConstPointer |
Definition at line 33 of file mitkSurface.h.
typedef itk::SmartPointer<Self> mitk::Surface::Pointer |
Definition at line 33 of file mitkSurface.h.
typedef itk::ImageRegion<5> mitk::Surface::RegionType |
Definition at line 31 of file mitkSurface.h.
typedef Surface mitk::Surface::Self |
Definition at line 33 of file mitkSurface.h.
typedef BaseData mitk::Surface::Superclass |
Definition at line 33 of file mitkSurface.h.
|
protected |
Definition at line 37 of file mitkSurface.cpp.
References InitializeEmpty().
|
overrideprotected |
Definition at line 73 of file mitkSurface.cpp.
References ClearData().
|
protected |
Definition at line 42 of file mitkSurface.cpp.
References DeepCopy(), and InitializeEmpty().
void mitk::Surface::CalculateBoundingBox | ( | ) |
Definition at line 171 of file mitkSurface.cpp.
References mitk::TimeGeometry::CountTimeSteps(), mitk::TimeGeometry::GetGeometryForTimeStep(), mitk::BaseData::GetTimeGeometry(), mitkThrow, and mitk::TimeGeometry::Update().
Referenced by ExecuteOperation(), and UpdateOutputInformation().
|
overrideprotectedvirtual |
reset to non-initialized state, release memory
Reimplemented from mitk::BaseData.
Definition at line 78 of file mitkSurface.cpp.
References mitk::BaseData::ClearData().
Referenced by InitializeEmpty(), and ~Surface().
Pointer mitk::Surface::Clone | ( | ) | const |
|
override |
Definition at line 250 of file mitkSurface.cpp.
References mitk::BaseData::CopyInformation(), and mitkThrow.
Referenced by Graft().
|
overridevirtual |
overwrite if the Data can be called by an Interactor (StateMachine).
Empty by default. Overwrite and implement all the necessary operations here and get the necessary information from the parameter operation.
Reimplemented from mitk::BaseData.
Definition at line 283 of file mitkSurface.cpp.
References CalculateBoundingBox(), mitk::Operation::GetOperationType(), mitk::SurfaceOperation::GetTimeStep(), mitk::OpSURFACECHANGED, and SetVtkPolyData().
|
overridevirtual |
Expands the TimeGeometry to a number of TimeSteps.
The method expands the TimeGeometry to the given number of TimeSteps, filling newly created elements with empty geometries. Sub-classes should override this method to handle the elongation of their data vectors, too. Note that a shrinking is neither possible nor intended.
Reimplemented from mitk::BaseData.
Definition at line 272 of file mitkSurface.cpp.
References mitk::BaseData::Expand().
Referenced by mitk::ContourModelToSurfaceFilter::GenerateData(), and SetVtkPolyData().
|
inlineoverridevirtual |
Reimplemented from mitk::BaseData.
Definition at line 33 of file mitkSurface.h.
|
virtual |
Reimplemented from mitk::BaseData.
const mitk::Surface::RegionType & mitk::Surface::GetLargestPossibleRegion | ( | ) | const |
Definition at line 85 of file mitkSurface.cpp.
References mitk::BaseData::GetTimeGeometry().
Referenced by SetRequestedRegionToLargestPossibleRegion().
|
virtual |
Definition at line 93 of file mitkSurface.cpp.
unsigned int mitk::Surface::GetSizeOfPolyDataSeries | ( | ) | const |
Definition at line 316 of file mitkSurface.cpp.
Referenced by mitk::Equal().
|
inlinestatic |
Definition at line 33 of file mitkSurface.h.
Referenced by mitk::SurfaceVtkWriter< VTKWRITER >::GetSupportedBaseData(), and mitk::BaseDataCompare::RegisterCoreEquals().
|
virtual |
Definition at line 141 of file mitkSurface.cpp.
References mitk::BaseData::GetSource().
Referenced by mitk::SurfaceInterpolationController::AddNewContours(), mitk::PythonService::CopyToPythonAsVtkPolyData(), mitk::SurfaceDeformationDataInteractor3D::DeformObject(), mitk::SurfaceDeformationDataInteractor3D::DeselectObject(), mitk::Equal(), mitk::ReduceContourSetFilter::GenerateData(), mitk::HeightFieldSurfaceClipImageFilter::GenerateData(), mitk::PlaneGeometryDataVtkMapper3D::GenerateDataForRenderer(), mitk::Gizmo::GetHandleFromPointID(), mitk::SurfaceDeformationDataInteractor3D::InitDeformation(), IsEmptyTimeStep(), main(), MeshUtil< MeshType, ScalarAccessor >::MeshFromSurface(), mitk::PlaneGeometryDataVtkMapper3D::ProcessNode(), mitk::SurfaceDeformationDataInteractor3D::ScaleRadius(), mitk::SurfaceDeformationDataInteractor3D::SelectObject(), and testSurfaceBoundingBoxConsistency().
|
override |
Definition at line 321 of file mitkSurface.cpp.
References CopyInformation(), and mitkThrow.
|
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 98 of file mitkSurface.cpp.
References ClearData(), mitk::BaseData::InitializeTimeGeometry(), and mitk::BaseData::m_Initialized.
Referenced by Surface().
|
inlineoverrideprotectedvirtual |
Definition at line 59 of file mitkSurface.h.
|
overridevirtual |
Check whether object contains data (at a specified time), e.g., a set of points may be empty.
Reimplemented from mitk::BaseData.
Definition at line 130 of file mitkSurface.cpp.
References GetVtkPolyData(), and mitk::BaseData::IsInitialized().
|
static |
Referenced by mitk::ComputeContourSetNormalsFilter::ComputeContourSetNormalsFilter(), mitk::ContourModelToSurfaceFilter::ContourModelToSurfaceFilter(), mitk::PythonService::CopyVtkPolyDataFromPython(), CreateTexturedSphere(), mitk::ContourModelUtils::FillContourInSlice(), mitk::ReduceContourSetFilter::GenerateData(), mitk::KinectV2Device::GetAllImages(), mitk::ComputeContourSetNormalsFilter::GetNormalsAsSurface(), QmitkToFSurfaceGenerationWidget::Initialize(), mitk::SurfaceBasedInterpolationController::Initialize(), mitk::SurfaceInterpolationController::Interpolate(), main(), mitk::SurfaceSource::MakeOutput(), mitk::ExtrudePlanarFigureFilter::MakeOutput(), mitkPropertySerializationTest(), mitkSimpleHistogramTest(), mitkSurfaceToSurfaceFilterTest(), mitkSurfaceVtkWriterTest(), mitk::SurfaceStlIO::Read(), mitk::SurfaceVtkLegacyIO::Read(), mitk::SurfaceVtkXmlIO::Read(), mitk::ReduceContourSetFilter::ReduceContourSetFilter(), mitk::SurfaceInterpolationController::ReinitializeInterpolation(), mitk::ComputeContourSetNormalsFilter::Reset(), mitk::ReduceContourSetFilter::Reset(), mitk::NavigationTool::SetDefaultSurface(), Step7::StartRegionGrowing(), mitk::SurfaceInterpolationController::SurfaceInterpolationController(), and TestDataStorage().
|
protected |
Definition at line 67 of file mitkSurface.cpp.
References Swap().
|
override |
Definition at line 338 of file mitkSurface.cpp.
References mitk::BaseData::PrintSelf().
|
overridevirtual |
Determine whether the RequestedRegion is outside of the BufferedRegion.
This method returns true if the RequestedRegion is outside the BufferedRegion (true if at least one pixel is outside). This is used by the pipeline mechanism to determine whether a filter needs to re-execute in order to satisfy the current request. If the current RequestedRegion is already inside the BufferedRegion from the previous execution (and the current filter is up to date), then a given filter does not need to re-execute
Implements mitk::BaseData.
Definition at line 207 of file mitkSurface.cpp.
|
overridevirtual |
Set the requested region from this data object to match the requested region of the data object passed in as a parameter.
This method is implemented in the concrete subclasses of BaseData.
Implements mitk::BaseData.
Definition at line 232 of file mitkSurface.cpp.
References mitkThrow.
|
virtual |
Definition at line 242 of file mitkSurface.cpp.
References mitkThrow.
|
overridevirtual |
Set the RequestedRegion to the LargestPossibleRegion.
This forces a filter to produce all of the output in one execution (i.e. not streaming) on the next call to Update().
Implements mitk::BaseData.
Definition at line 202 of file mitkSurface.cpp.
References GetLargestPossibleRegion().
|
virtual |
Definition at line 109 of file mitkSurface.cpp.
References Expand(), and UpdateOutputInformation().
Referenced by mitk::BoundingObjectGroup::BoundingObjectGroup(), mitk::ExtrudedContour::BuildSurface(), mitk::Cone::Cone(), mitk::LabeledImageToSurfaceFilter::CreateSurface(), mitk::ImageToSurfaceFilter::CreateSurface(), mitk::Cuboid::Cuboid(), mitk::Cylinder::Cylinder(), mitk::Ellipsoid::Ellipsoid(), ExecuteOperation(), mitk::ContourModelToSurfaceFilter::GenerateData(), mitk::ExtrudePlanarFigureFilter::GenerateData(), mitk::Plane::Plane(), and mitk::Gizmo::UpdateRepresentation().
|
virtual |
|
override |
Definition at line 262 of file mitkSurface.cpp.
References mitk::BaseData::GetSource(), and Update().
|
override |
Definition at line 160 of file mitkSurface.cpp.
References CalculateBoundingBox(), mitk::BaseData::GetSource(), mitk::BaseData::GetTimeGeometry(), and mitk::TimeGeometry::Update().
Referenced by SetVtkPolyData().
|
overridevirtual |
Verify that the RequestedRegion is within the LargestPossibleRegion.
If the RequestedRegion is not within the LargestPossibleRegion, then the filter cannot possibly satisfy the request. This method returns true if the request can be satisfied (even if it will be necessary to process the entire LargestPossibleRegion) and returns false otherwise. This method is used by PropagateRequestedRegion(). PropagateRequestedRegion() throws a InvalidRequestedRegionError exception if the requested region is not within the LargestPossibleRegion.
Implements mitk::BaseData.
Reimplemented in mitk::BoundingObjectGroup.
Definition at line 223 of file mitkSurface.cpp.