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.
19
21
22// Forward to internally used classes.
23class MultiFileVolume;
24
25//----------------------------------------------------------------------------------
28//----------------------------------------------------------------------------------
30{
31public:
32
39 int numOutputs=0,
42
43
44protected:
46 void activateAttachments() override;
47
50
54
57 std::string _getComposedResultMessages(const std::string& errMsgs) const;
58
59private:
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
#define MLDIRECTDICOMIMPORTOUTPUTS_EXPORT
DLL export macro definition.
Field to encapsulate a boolean value.
Definition mlFields.h:58
Base class for all fields used in the ML.
Definition mlField.h:73
Field to encapsulate an integer value.
Definition mlFields.h:126
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:659
Field to encapsulate a string value.
Definition mlFields.h:610
#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.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
INT64 MLint64
Include 64 bit integer support for Windows or Unix.
Definition mlTypeDefs.h:412
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
Definition mlTypeDefs.h:490