MeVisLab Toolbox Reference
mlDirectDicomImportDPLSecondPassPartitioningProvider.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
6 
12 
13 //----------------------------------------------------------------------------------
14 #pragma once
15 
16 // Local includes
18 
19 // ML includes
20 #include <mlTypeDefs.h>
21 #include <ThirdPartyWarningsDisable.h>
22 #include <map>
23 #include <string>
24 #include <ThirdPartyWarningsRestore.h>
25 
26 // For the partitioning provider.
28 
29 // For the partitioning provider.
30 #include "DPL_TypeDefs.h"
31 #include "DPL_SecondPassPartitioningProvider.h"
32 #include "DPT_IrregularTimePointsPartitioner.h"
33 #include "DPT_FrameCopyPartitioner.h"
34 
35 namespace DPL {
36  class ErrorInfo;
37  class Logger;
38  class SecondPassPartitioner;
39  class TagInfo;
40 }
41 
42 ML_START_NAMESPACE
43 
44 //----------------------------------------------------------------------------------
48 //----------------------------------------------------------------------------------
49 class MLDIRECTDICOMIMPORT_EXPORT DirectDicomImportDPLSecondPassPartitioningProvider : public DPL::SecondPassPartitioningProvider
50 {
51 public:
54 
58  DPL::SecondPassPartitioner* getPartitioner(const std::string& partitionerName) const override;
59 
60 private:
62  DPL::Toolbox::FrameCopyPartitioner _fcPartitioner;
63 
65  DPL::Toolbox::IrregularTimePointsPartitioner _irrPartitioner;
66 
68  DirectDicomImportDPLSecondPassPartitioner _numFramesPartitioner;
69 
71  std::map< std::string, DPL::SecondPassPartitioner* > _partitioners;
72 
74  DPL::Logger& _logger;
75 
81 
82 };
83 
84 ML_END_NAMESPACE
Project global and OS specific declarations.
#define MLDIRECTDICOMIMPORT_EXPORT
Only for diagnostic purposes.
A derived DPL SecondPassPartitioner to avoid that multi-frame files are composed when imported by Dir...
An implementation of the DPL::SecondPassPartitioningProvider class for the DirectDicomImport modules.
DirectDicomImportDPLSecondPassPartitioningProvider(DPL::Logger &logger)
Constructs a new SecondPassPartitioningProvider and populates the map of known partitioners.
DPL::SecondPassPartitioner * getPartitioner(const std::string &partitionerName) const override
Gets a SecondPassPartitioner by name.
A derived DPL SecondPassPartitioner to avoid that multi-frame files are composed when imported by Dir...
Forward and includes of internally used DPL classes.
boost::log::sources::severity_channel_logger< SeverityLevel > Logger