MeVisLab Toolbox Reference
mlMultiFileVolumeListDiagnosisOutput.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
6 
11 //----------------------------------------------------------------------------------
12 #pragma once
13 
14 // Base class of output module.
16 
17 // List of volumes loaded or accessed via connected module.
18 #include <mlMultiFileVolumeList.h>
19 
20 ML_START_NAMESPACE
21 
22 // Forward to internally used classes.
23 class MultiFileVolume;
24 
25 //----------------------------------------------------------------------------------
28 //----------------------------------------------------------------------------------
30 {
31 public:
32 
39  int numOutputs=0,
40  bool autoInstallTagDumpFieldAddOn=true);
42 
43 
44 protected:
46  void activateAttachments() override;
47 
49  void handleNotification(Field *field) override;
50 
53  void _updateVolumeInformation(MultiFileVolume *currVol) override;
54 
57  std::string _getComposedResultMessages(const std::string& errMsgs) const;
58 
59 private:
60 
62  void _initializeFieldsAndMembers();
63 
65  void _resetResultFields();
66 
68  typedef bool MultiFileVolumeListCheckFunction(const MultiFileVolume &);
69 
79  bool _performMultiFileVolumeChecks(MultiFileVolumeListCheckFunction *checkFunction,
80  const std::string &errDescPart,
81  bool postErrors,
82  std::string &errMsgs);
83 
84 
92  typedef std::string MultiFileVolumeListQueryFunction(const MultiFileVolume &mfv,
93  const std::string &arg1,
94  const MLint64 volumeIndex,
95  const size_t padSpaces);
96 
105  std::string _performMultiFileVolumeQuery(MultiFileVolumeListQueryFunction *queryFunction,
106  const std::string &arg1="",
107  const std::string &elemSeparator=" ",
108  const size_t padSpaces=1u);
109 
110 
113  std::string _getIndexOfVolume(MLint idx);
114 
116  std::vector<MultiFileVolume*> _getMultiFileVolumesToCheck();
117 
119  BoolField *_checkAllMultiFileVolumesFld;
120 
121 
123  BoolField *_doFilesExistCheckFld;
124 
126  BoolField *_postFileExistCheckFailuresAsMLErrorFld;
127 
128 
130  BoolField *_doOneDirCheckFld;
131 
133  BoolField *_postOneDirCheckFailuresAsMLErrorFld;
134 
135 
139  BoolField *_doNumFrameDirsCalcFld;
140 
142  StringField *_numFrameDirsFld;
143 
144 
145 
149  BoolField *_doNumTagIdCalcFld;
150 
152  StringField *_tagIdFld;
153 
155  BoolField *_isValidTagIdFld;
156 
158  StringField *_numDifferentTagsWithIdFld;
159 
162  StringField *_overallTagIdFld;
163 
166 
168  BoolField *_filesExistFld;
169 
171  BoolField *_oneDirFld;
172 
173 
175  StringField *_resultConsoleFld;
176 
179  NotifyField *_updateDiagnosisOutputInformationDoneFld;
180 
182  IntField *_padSpacesFld;
183 
185  StringField *_overallTagTableFld;
186 
188 
191 
192 };
193 
194 ML_END_NAMESPACE
#define MLDIRECTDICOMIMPORTOUTPUTS_EXPORT
DLL export macro definition.
Field to encapsulate a boolean value.
Definition: mlFields.h:62
Base class for all fields used in the ML.
Definition: mlField.h:73
Field to encapsulate an integer value.
Definition: mlFields.h:161
The ML module base class MultiFileVolumeListBaseOutput used to implement further output modules for t...
The ML module class MultiFileVolumeListDiagnosisOutput applies different types of information,...
void handleNotification(Field *field) override
Handles field changes.
void activateAttachments() override
Called after field updates without notification calls after for example module cloning or reloads.
std::string _getComposedResultMessages(const std::string &errMsgs) const
Returns a human readable messages of all issues and results from all checks and tests.
MultiFileVolumeListDiagnosisOutput(int numInputs=0, int numOutputs=0, bool autoInstallTagDumpFieldAddOn=true)
Constructor.
void _updateVolumeInformation(MultiFileVolume *currVol) override
This is called by the super class if the volume has changed.
Management class used by DirectDicomImport to create, represent and describe volumes composed of mult...
Field without value for notifications.
Definition: mlFields.h:1049
Field to encapsulate a string value.
Definition: mlFields.h:1000
#define ML_MODULE_CLASS_HEADER(className)
Like ML_CLASS_HEADER for the usage of derived classes from Module.
Provides the base class for an additional output for a MultiFileVolumeList module.
Class managing a list of MultiFileVolume instances.
INT64 MLint64
Include 64 bit integer support for Windows or Unix.
Definition: mlTypeDefs.h:500
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
Definition: mlTypeDefs.h:578