13 #ifndef MITKTIMEHELPER_H_HEADER_INCLUDED_C1C2FCD2 14 #define MITKTIMEHELPER_H_HEADER_INCLUDED_C1C2FCD2 22 template <
class TOutputRegion,
class TInputRegion>
24 const TOutputRegion &outputRegion,
26 TInputRegion &inputRegion)
28 assert(outputTimeGeometry !=
nullptr);
29 assert(inputTimeGeometry !=
nullptr);
34 if ((timeInMS > itk::NumericTraits<mitk::ScalarType>::NonpositiveMin()) &&
36 inputRegion.SetIndex(3, timestep);
38 inputRegion.SetIndex(3, 0);
40 timeInMS = outputTimeGeometry->
TimeStepToTimePoint(outputRegion.GetIndex(3) + outputRegion.GetSize(3) - 1);
42 if ((timeInMS > itk::NumericTraits<mitk::ScalarType>::NonpositiveMin()) &&
44 inputRegion.SetSize(3, timestep - inputRegion.GetIndex(3) + 1);
46 inputRegion.SetSize(3, 1);
52 template <
class TOutputData,
class TInputData>
55 assert(output !=
nullptr);
56 assert(input !=
nullptr);
58 const typename TOutputData::RegionType &outputRegion = output->GetRequestedRegion();
59 typename TInputData::RegionType inputRegion;
61 if (outputRegion.GetSize(3) < 1)
63 typename TInputData::RegionType::SizeType inputsize;
65 inputRegion.SetSize(inputsize);
66 input->SetRequestedRegion(&inputRegion);
70 inputRegion = input->GetRequestedRegion();
72 input->SetRequestedRegion(&inputRegion);
77 #endif // MITKTIMEHELPER_H_HEADER_INCLUDED_C1C2FCD2 DataCollection - Class to facilitate loading/accessing structured data.
virtual TimeStepType TimePointToTimeStep(TimePointType timePoint) const =0
Converts a time point to the corresponding time step.
virtual TimePointType TimeStepToTimePoint(TimeStepType timeStep) const =0
Converts a time step to a time point.
mitk::ScalarType TimePointType
std::vcl_size_t TimeStepType
void GenerateTimeInInputRegion(const mitk::TimeGeometry *outputTimeGeometry, const TOutputRegion &outputRegion, const mitk::TimeGeometry *inputTimeGeometry, TInputRegion &inputRegion)
virtual bool IsValidTimeStep(TimeStepType timeStep) const =0
Test for the given time step if a geometry is availible.