23#include "DPL_TypeDefs.h"
29 class ProcessingResult;
36class DirectDicomImport;
95 const std::string &overrideName)
const;
121 EnumField *_dplSpecialProcessorsFld=
nullptr;
129 IntField *_minimumNumFramesInVolumeFld=
nullptr;
138 DoubleField *_dplRelativeDistanceToleranceFld=
nullptr;
141 DoubleField *_dplAbsoluteDistanceToleranceFld=
nullptr;
151 BoolField *_dplSetSeriesBasedPreprocessingConditionFld=
nullptr;
154 StringField *_dplSetForce2DPlusTConditionFld=
nullptr;
157 BoolField *_dplLogPartingAndSortingInformationOnFld=
nullptr;
161 BoolField *_dplScanRecursivelyFld=
nullptr;
165 BoolField *_decomposeMultiFrameFilesFld=
nullptr;
169 BoolField *_copyFullFunctionalGroupSequencesFld=
nullptr;
174 BoolField *_removePrivateMFSQTagFld=
nullptr;
180 BoolField *_forceOrthogonalWorldMatrixFld=
nullptr;
185 BoolField *_dplDecomposeTo3DVolumesFld=
nullptr;
197 BoolField *_allowMixedPixelTypesFld=
nullptr;
204 BoolField *_copyPrivateTopLevelSourceTagsFld=
nullptr;
210 BoolField *_disableDCMTreeNormalizationFld=
nullptr;
216 BoolField *_keepTopLevelOfDCMTreeNormalizationFld=
nullptr;
227 BoolField *_autoCreateMissingPrivateCreatorsFld=
nullptr;
233 BoolField *_doNotModifySMFTreeFld=
nullptr;
236 enum { NUM_HARD_OVERWRITE_TAGS = 4 } HardOverWriteNumtags;
239 BoolField *_dplHardOverwriteTagOnFld[NUM_HARD_OVERWRITE_TAGS]={
nullptr};
242 StringField *_dplHardOverwriteTagIdFld[NUM_HARD_OVERWRITE_TAGS]={
nullptr};
245 StringField *_dplHardOverwriteTagStrFld[NUM_HARD_OVERWRITE_TAGS]={
nullptr};
248 bool _dplHardOverwriteIds[NUM_HARD_OVERWRITE_TAGS]={
false};
251 EnumField *_dplAllowSortingAccordingToDimensionIndexValuesFld={
nullptr};
254 StringField *_dplWorkaroundValueForImageOrientationPatientTagFld=
nullptr;
257 void _logProcessingTags(DPL::Processor& processor, DPL::ErrorInfo* error );
262 void _prefetchTags(
const FileListTools::FileList &fileList,
263 std::vector<std::string> &goodDICOMFileHandles);
267 DirectDicomImportDPLImporter();
268 DirectDicomImportDPLImporter(
const DirectDicomImportDPLImporter&);
269 DirectDicomImportDPLImporter &operator=(
const DirectDicomImportDPLImporter&);
273 void _setUpTagValueProvider(DirectDicomImportDPLTagValueProvider &tagValueProvider);
276 ImageToMultiFileVolumeConversionParameters _getConversionParameters();
279 DirectDicomImportDPLLogger _dplLogger;
282 FileListTools::DPLConfiguration _configManager;
286 std::string _importFilterProcessingSettings;
Project global and OS specific declarations.
#define MLDIRECTDICOMIMPORT_EXPORT
Only for diagnostic purposes.
Field to encapsulate a boolean value.
Class handling all DICOM Processor Library Import (DPL) stuff for the DirectDicomImport module.
void _setImportFilterProcessingSettings(const std::string &procSettings)
Returns the externally provided processing settings for the currently processed volume.
virtual bool copyFullFunctionalGroupSequences() const
Returns true if functional group sequences shall fully be copied during enhanced multi-frame decompos...
void appendFields(FieldContainer &fieldContainer) override
Appends all parameter fields related to DPL import to fieldContainer.
std::vector< DirectDicomImportDPLTagValueProvider::HardOverwriteTag > _getHardOverwriteTags()
Returns a vector of hardOverwrite tags either from input filter settings or from the DPL importer fie...
virtual bool decomposeMultiFrames() const
Returns true if (DICOM multi-frame) files shall be decomposed to single frames during imports,...
EnumField & getDplSpecialProcessorsFld() const
Provides access to some fields used outside.
DirectDicomImportDPLLogger & getDPLLogger()
Returns the used DPL logger instance.
std::string _getForce2DPlusTCondition()
Determines the force2DPlusTCondition either from input filters or from DPL fields; it is used by the ...
bool _doArgumentAndOverrideCheck(bool dplFlag, const std::string &overrideName) const
If overrideName is defined as 0 or non 0 in getImportFilterProcessingSettings(), then false or true i...
DicomToMLTools::CalculateMinMaxFromDicomModes _getUsedMinMaxScanMode()
Returns the used mode for the min/max calculations from input filters and field settings.
void handleNotification(Field &field) override
Handles all field changes related to fields created in appendDPLArgumentFields().
virtual bool scanRecursively() const
Returns true if settings require a recursive directory scan, otherwise it returns false for a flat sc...
DirectDicomImportDPLImporter(DirectDicomImport &ddiOp)
Constructor using a DirectDicomImport instance associated with.
~DirectDicomImportDPLImporter() override
Destructor.
const std::string & _getImportFilterProcessingSettings() const
Returns the externally provided processing settings for the currently processed volume.
Extended DPL logger class redirecting messages from the DPL to a DirectDicomImport instance.
Base importer class for the DirectDicomImport module.
Imports image files directly from DICOM or other file types without an intermediate representation.
Field to encapsulate a double value.
Field to encapsulate an enumerated value.
Defines the class FieldContainer to encapsulate a vector of fields (see class Field).
Base class for all fields used in the ML.
Field to encapsulate an integer value.
Field to encapsulate a string value.
Extended DPL logger class redirecting messages from the DPL to a DirectDicomImport instance.
Extended DPL TagValueProvider class for the ML module class DirectDicomImport.
Base importer class for the DirectDicomImport module.
Parameters used to convert a DPLImage to MultiFileVolumes.
Forward and includes of internally used DPL classes.