13 #ifndef mitkDICOMITKSeriesGDCMReader_h
14 #define mitkDICOMITKSeriesGDCMReader_h
28 class TimeProbesCollectorBase;
204 void AnalyzeInputFiles()
override;
210 bool LoadImages()
override;
213 bool CanHandleFile(
const std::string& filename)
override;
221 ConstSorterList GetFreelyConfiguredSortingElements()
const;
226 void SetFixTiltByShearing(
bool on);
228 bool GetFixTiltByShearing()
const;
233 void SetAcceptTwoSlicesGroups(
bool accept)
const;
234 bool GetAcceptTwoSlicesGroups()
const;
239 void SetToleratedOriginOffsetToAdaptive(
double fractionOfInterSliceDistanct = 0.3)
const;
244 void SetToleratedOriginOffset(
double millimeters = 0.005)
const;
251 m_SimpleVolumeReading = read;
259 return m_SimpleVolumeReading;
262 double GetToleratedOriginError()
const;
263 bool IsToleratedOriginOffsetAbsolute()
const;
265 double GetDecimalPlacesForOrientation()
const;
273 return m_DefaultDecimalPlacesForOrientation;
278 return m_DefaultSimpleVolumeImport;
283 return m_DefaultFixTiltByShearing;
288 void InternalPrintConfiguration(std::ostream& os)
const override;
291 static std::string GetActiveLocale();
296 void PushLocale()
const;
301 void PopLocale()
const;
303 const static int m_DefaultDecimalPlacesForOrientation = 5;
304 const static bool m_DefaultSimpleVolumeImport =
false;
305 const static bool m_DefaultFixTiltByShearing =
true;
307 DICOMITKSeriesGDCMReader(
unsigned int decimalPlacesForOrientation = m_DefaultDecimalPlacesForOrientation,
bool simpleVolumeImport = m_DefaultSimpleVolumeImport);
321 virtual DICOMTagCache::Pointer GetTagCache()
const;
322 void SetTagCache(
const DICOMTagCache::Pointer& )
override;
326 unsigned int sortingStepIndex,
327 const DICOMDatasetSorter::Pointer& sorter,
331 virtual bool LoadMitkImageForOutput(
unsigned int o);
340 void EnsureMandatorySortersArePresent(
unsigned int decimalPlacesForOrientation,
bool simpleVolumeImport =
false);
353 typedef std::list<DICOMDatasetSorter::Pointer> SorterList;
365 static std::mutex s_LocaleMutex;
367 mutable std::stack<std::string> m_ReplacedCLocales;
368 mutable std::stack<std::locale> m_ReplacedCinLocales;
370 double m_DecimalPlacesForOrientation;
372 DICOMTagCache::Pointer m_TagCache;
373 bool m_ExternalCache;