MeVisLabToolboxReference
mlMultiFileVolumeListIteratorOutput.h
Go to the documentation of this file.
1 /*
2 // Copyright (c) Fraunhofer MEVIS, Bremen, Germany
3 // All rights reserved.
4 // **InsertLicense** code
5 */
6 //----------------------------------------------------------------------------------
11 
18 
19 //----------------------------------------------------------------------------------
20 
21 #ifndef __mlMultiFileVolumeListIteratorOutput_H
22 #define __mlMultiFileVolumeListIteratorOutput_H
23 
24 
25 // Local includes
27 
28 // Base class of output module.
30 
31 // ML includes
32 #include <mlModuleIncludes.h>
33 
34 ML_START_NAMESPACE
35 
36 // Forward to internally used classes.
37 class MultiFileVolume;
38 
39 //----------------------------------------------------------------------------------
43 //----------------------------------------------------------------------------------
45 {
46 public:
47 
49  MultiFileVolumeListIteratorOutput(int numInputs=0, int numOutputs=0);
50 
53 
56 
57 protected:
58 
60  virtual void activateAttachments();
61 
63  virtual void handleNotification(Field *field);
64 
65 private:
66 
68  void _init();
69 
71  void _iterate();
72 
74  void _triggerIndex(size_t idx);
75 
95  static std::string replaceImageValuePlaceholders(const std::string &taggedStr,
96  const PagedImage *inImg,
97  const std::string &defaultTagContent="",
98  const std::string &fileType="",
99  size_t idx=0,
100  size_t padSize=5);
101 
104  std::string _getStrOutputFldForIdx(size_t idx);
105 
107  StringField *_infoFld;
108 
110  NotifyField *_iterateFld;
111 
114  BoolField *_iterateAllFld;
115 
117  StringField *_volumeIndexesFld;
118 
122  BoolField *_iterateOnlyOnValidImgsFld;
123 
125  StringField *_stringOutputExpressionFld;
126 
128  StringField *_defaultTagValueFld;
129 
130 
132 
133  StringField *_strOutputFld;
135 
137  IntField *_idxOutputFld;
138 
140  NotifyField *_triggerOutputFld;
142 
143 
146 };
147 
148 
149 ML_END_NAMESPACE
150 
151 #endif // __mlMultiFileVolumeListIteratorOutput_H
152 
Field to encapsulate a boolean value.
Definition: mlFields.h:55
The ML module class MultiFileVolumeListIteratorOutput providing some support to specify a list of vol...
#define MLDIRECTDICOMIMPORTOUTPUTS_EXPORT
Class which represents an image, which manages properties of an image and image data which is located...
Definition: mlPagedImage.h:66
Base class for all fields used in the ML.
Definition: mlField.h:65
Field to encapsulate an integer value.
Definition: mlFields.h:154
Field to encapsulate a string value.
Definition: mlFields.h:985
Management class used by DirectDicomImport to create, represent and describe volumes composed of mult...
This file includes most files needed to implement new ML modules.
#define ML_MODULE_CLASS_HEADER(className)
Like ML_CLASS_HEADER for the usage of derived classes from Module.
Field without value for notifications.
Definition: mlFields.h:1034
virtual void activateAttachments()
Update internal module state after load or clone and enable notification handling again...
Project global and OS specific declarations.
virtual void handleNotification(Field *field)
Handle field changes of the field field.
The ML module base class MultiFileVolumeListBaseOutput used to implement further output modules for t...
The ML module base class MultiFileVolumeListBaseOutput used to implement further output modules for t...