Medical Imaging Interaction Toolkit  2024.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkProportionalTimeGeometry.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkProportionalTimeGeometry_h
14 #define mitkProportionalTimeGeometry_h
15 
16 // MITK
17 #include <MitkCoreExports.h>
18 #include <mitkCommon.h>
19 #include <mitkGeometry3D.h>
20 #include <mitkTimeGeometry.h>
21 
22 namespace mitk
23 {
39  {
40  public:
42 
45  itkFactorylessNewMacro(Self);
46  itkCloneMacro(Self);
47 
56  TimeStepType CountTimeSteps() const override;
64  TimePointType GetMinimumTimePoint() const override;
71  TimePointType GetMaximumTimePoint() const override;
72 
79  TimePointType GetMinimumTimePoint(TimeStepType step) const override;
85  TimePointType GetMaximumTimePoint(TimeStepType step) const override;
86 
90  TimeBounds GetTimeBounds() const override;
91 
95  TimeBounds GetTimeBounds(TimeStepType step) const override;
96 
103  bool IsValidTimePoint(TimePointType timePoint) const override;
111  bool IsValidTimeStep(TimeStepType timeStep) const override;
121  TimePointType TimeStepToTimePoint(TimeStepType timeStep) const override;
131  TimeStepType TimePointToTimeStep(TimePointType timePoint) const override;
138  BaseGeometry::Pointer GetGeometryCloneForTimeStep(TimeStepType timeStep) const override;
139 
149  BaseGeometry::Pointer GetGeometryForTimePoint(TimePointType timePoint) const override;
159  BaseGeometry::Pointer GetGeometryForTimeStep(TimeStepType timeStep) const override;
160 
164  bool IsValid() const override;
165 
169  void Initialize() override;
170 
179  void Expand(TimeStepType size) override;
186  void SetTimeStepGeometry(BaseGeometry *geometry, TimeStepType timeStep) override;
187 
198  void ReplaceTimeStepGeometries(const BaseGeometry *geometry) override;
199 
203  itk::LightObject::Pointer InternalClone() const override;
204 
205  itkGetConstMacro(FirstTimePoint, TimePointType);
206  itkSetMacro(FirstTimePoint, TimePointType);
207  itkGetConstMacro(StepDuration, TimePointType);
208  itkSetMacro(StepDuration, TimePointType);
209 
210  // void SetGeometryForTimeStep(TimeStepType timeStep, BaseGeometry& geometry);
211  void ClearAllGeometries();
212  // void AddGeometry(BaseGeometry geometry);
213  void ReserveSpaceForGeometries(TimeStepType numberOfGeometries);
214 
220  void Initialize(const BaseGeometry *geometry, TimeStepType timeSteps);
224  void Initialize(TimeStepType timeSteps);
225 
226  void PrintSelf(std::ostream &os, itk::Indent indent) const override;
227 
228  protected:
229  ~ProportionalTimeGeometry() override;
230 
231  std::vector<BaseGeometry::Pointer> m_GeometryVector;
234  }; // end class ProportialTimeGeometry
235 
254  MITKCORE_EXPORT bool Equal(const mitk::ProportionalTimeGeometry &leftHandSide,
255  const mitk::ProportionalTimeGeometry &rightHandSide,
256  ScalarType eps,
257  bool verbose);
258 
259 } // end namespace MITK
260 #endif
mitk::eps
const MITKCORE_EXPORT ScalarType eps
mitk::TimeGeometry
Definition: mitkTimeGeometry.h:45
mitk::Equal
MITKNEWMODULE_EXPORT bool Equal(mitk::ExampleDataStructure *leftHandSide, mitk::ExampleDataStructure *rightHandSide, mitk::ScalarType eps, bool verbose)
Returns true if the example data structures are considered equal.
itk::SmartPointer< Self >
mitkGeometry3D.h
mitkTimeGeometry.h
mitk::ProportionalTimeGeometry::m_StepDuration
TimePointType m_StepDuration
Definition: mitkProportionalTimeGeometry.h:233
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::ProportionalTimeGeometry::m_GeometryVector
std::vector< BaseGeometry::Pointer > m_GeometryVector
Definition: mitkProportionalTimeGeometry.h:231
MitkCoreExports.h
mitk::BaseGeometry
BaseGeometry Describes the geometry of a data object.
Definition: mitkBaseGeometry.h:94
mitkCommon.h
mitk::TimeStepType
std::size_t TimeStepType
Definition: mitkTimeGeometry.h:27
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
mitk::TimePointType
mitk::ScalarType TimePointType
Definition: mitkTimeGeometry.h:26
mitk::TimeBounds
itk::FixedArray< ScalarType, 2 > TimeBounds
Standard typedef for time-bounds.
Definition: mitkBaseGeometry.h:44
mitk::ProportionalTimeGeometry
Definition: mitkProportionalTimeGeometry.h:38
MITKCORE_EXPORT
#define MITKCORE_EXPORT
Definition: MitkCoreExports.h:15
mitk::ProportionalTimeGeometry::m_FirstTimePoint
TimePointType m_FirstTimePoint
Definition: mitkProportionalTimeGeometry.h:232
mitk::ScalarType
double ScalarType
Definition: mitkNumericConstants.h:20