22 #include "muParserDLL.h"
25 #include "muParserDLL.h"
184 bool &expMatches)
const;
216 bool& expMatches)
const;
246 bool &expMatches)
const;
258 bool &expMatches)
const;
270 bool &expMatches)
const;
280 std::vector<DCMTree::Const_TagPtr>* foundTags)
const;
307 const std::string &privateCreatorStr,
308 std::vector<DCMTree::Const_TagPtr> *foundTags=
nullptr)
const;
313 std::vector<std::string> &foundValues)
const;
330 MLint tagValueFilterId,
331 const std::string &privateCreatorString,
332 MLint valueIndex)
const;
338 BoolField *_clearPassFlagBeforeFilteringFld;
356 EnumField *_processingSettingsAssignModeFld;
375 BoolField *_clearPassFlagOnPathMismatchesFld;
390 IntField *_tagStringFilterTagValueIndexFld;
397 BoolField *_checkOnlyFirstRecursiveTagStringFld;
406 BoolField *_setTagStrEvalPassFlagOnPathMatchesFld;
409 BoolField *_clearTagStrEvalPassFlagOnPathMismatchesFld;
420 muParserHandle_t _parser;
450 MLint _tagValueFilterId0;
451 MLint _tagValueFilterId1;
452 MLint _tagValueFilterId2;
453 MLint _tagValueFilterId3;
469 BoolField *_setPassFlagOnTagValueMatchesFld;
472 BoolField *_clearPassFlagOnTagValueMismatchesFld;
479 BoolField *_alwaysPassEnhancedMultiFrameFilesFld=
nullptr;
482 BoolField *_filterDecomposedEnhancedFramesFld=
nullptr;
FileListFilterPluginBase(int numIns=0, int numOuts=0)
Constructor. Input and out images are probably not used.
ProcessingSettingsAssignmentEnumModes
Enumerator defining how processing settings are assigned to the file attribute structures.
@ SetProcSettingsIfPassFlagIsTrue
The processing settings are assigned if after filtering the pass flag is true or if it was already tr...
@ NumProcSettingsAssignmentEnumModes
Number of available modes, not to be used as mode.
@ SetProcSettingsIfExpressionDoesNotMatch
The processing settings are assigned if any expression does not match.
@ SetProcSettingsIfPassFlagIsFalse
The processing settings are assigned if after filtering the pass flag is false or if it was false bef...
@ SetProcSettingsIfExpressionMatches
The processing settings are assigned if any expression matches.
@ SetProcSettingsIfPassFlagIsSet
The processing settings are assigned if the pass flag is set to true (independent of its previous sta...
@ UnsetProcSettingsIfExpressionMatches
The processing settings are reset if any expression matches.
@ SetProcSettingsIfPassFlagIsUnchanged
The processing settings are assigned if the pass flag is neither set nor cleared by the filter.
@ SetProcSettingsIfPassFlagIsCleared
The processing settings are assigned if the pass flag is set to false (independent of its previous st...
@ DoNotChangeProcSettings
Processing settings of attributes is not changed at all.
@ UnsetProcSettingsIfExpressionDoesNotMatch
The processing settings are reset if any expression does not match.
virtual bool _handleNotificationForPathStringFiltering(Field *field)
StringField & getRegExStatusFld() const
virtual void filterFile(FileListTools::FileAttribute &filterAttributes, FilterMessageList *messageList) const override
ConfigurationAssignmentEnumModes
Enumerator defining how configurations are assigned to the file/DCMTree attribute structures.
@ SetConfigIfExpressionDoesNotMatch
The configuration is assigned if any expression does not match.
@ SetConfigIfPassFlagIsUnchanged
The configuration is assigned if the pass flag is neither set nor cleared by the filter.
@ UnsetConfigIfExpressionDoesNotMatch
The configuration is assigned if any expression does not match.
@ SetConfigIfPassFlagIsFalse
The configuration is assigned if after filtering the pass flag is false or if it was false before.
@ SetConfigIfPassFlagIsCleared
The configuration is assigned if the pass flag is set to false (independent of its previous state).
@ NumConfigurationAssignmentEnumModes
Number of available modes, not to be used as mode.
@ UnsetConfigIfExpressionMatches
The configuration is assigned if any expression matches.
@ DoNotChangeConfig
Configuration selection of attributes is not changed at all.
@ SetConfigIfExpressionMatches
The configuration is assigned if any expression matches.
@ SetConfigIfPassFlagIsSet
The configuration is assigned if the pass flag is set to true (independent of its previous state).
@ SetConfigIfPassFlagIsTrue
The configuration is assigned if after filtering the pass flag is true or if it was already true befo...
EnumField & getLabelAssignModeFld() const
BoolField & getInvertPathFilterRegExFld() const
IntField & getTagId2ValueIndexFld() const
StringField & getProcessingSettingsFld() const
virtual void _applyFilePathFiltering(FileListTools::FileAttribute &filterAttributes, FilterMessageList *messageList, bool &wasDisabled, bool &wasEnabled, bool &expMatches) const
StringField & getVolumeLabelFld() const
StringField & getTagId2PrivateCreatorFld() const
StringField & getTagId0Fld() const
virtual void _applyTagStringFiltering(FileListTools::FileAttribute &filterAttributes, FilterMessageList *messageList, bool &wasDisabled, bool &wasEnabled, bool &expMatches, DCMTree::Const_TreePtr &dcmTree) const
StringField & getTagId1Fld() const
BoolField & getAlwaysPassEnhancedMultiFrameFilesFld() const
IntField & getTagStringFilterTagValueIndexFld() const
StringField & getTagId1PrivateCreatorFld() const
StringField & getVolumeConfigFld() const
IntField & getTagId1ValueIndexFld() const
BoolField & getSetPassFlagOnPathMatchesFld() const
void handleNotification(Field *field) override
StringField & getTagStringFilterPrivateCreatorFld() const
double _getTagValueForTagValueFilter(DCMTree::Const_TreePtr dcmTree, MLint tagValueFilterId, const std::string &privateCreatorString, MLint valueIndex) const
StringField & getTreeFilterStatusFld() const
void _updateFlagsAccordingToTagStringValues(const std::vector< std::string > &tagStringValues, bool &passFlag, bool &wasDisabled, bool &wasEnabled, bool &expMatches) const
StringField & getTagId2Fld() const
BoolField & getApplyFilePathFilterFld() const
BoolField & getClearPassFlagOnTagValueMismatchesFld() const
StringField & getTagId3Fld() const
BoolField & getClearPassFlagBeforeFilteringFld() const
Provide programming access to field interface, see corresponding member for documentation.
BoolField & getCheckOnlyFirstRecursiveTagStringFld() const
BoolField & getApplyTagValueFilterFld() const
static const char *const ProcessingSettingsAssignmentEnumStrings[NumProcSettingsAssignmentEnumModes]
Strings according to ProcessingSettingsAssignmentEnumModes.
virtual void _applyTagValueFiltering(FileListTools::FileAttribute &filterAttributes, FilterMessageList *messageList, bool &wasDisabled, bool &wasEnabled, bool &expMatches, DCMTree::Const_TreePtr dcmTree) const
virtual bool _handleNotificationForTagStringFiltering(Field *field)
IntField & getTagId0ValueIndexFld() const
BoolField & getSetTagStrEvalPassFlagOnPathMatchesFld() const
DoubleField & getConst2Fld() const
static const char *const LabellingEnumStrings[NumLabellingEnumModes]
Strings according to LabellingEnumModes.
BoolField & getAllowRecursiveTagSearchFld() const
StringField & getTagFilterRegExStatusFld() const
StringField & getTagId3PrivateCreatorFld() const
FileListFilterPlugin(int numIns=0, int numOuts=0)
Constructor. Input and out images are probably not used.
BoolField & getClearTagStrEvalPassFlagOnPathMismatchesFld() const
BoolField & getInvertTagStringEvalRegExFld() const
IntField & getTagId3ValueIndexFld() const
StringField & getTagStringFilterTagIdFld() const
StringField & getPathFilterRegExFld() const
BoolField & getClearPassFlagOnPathMismatchesFld() const
LabellingEnumModes
Enumerator defining how label values are assigned to the file/DCMTree attribute structures.
@ SetLabelIfExpressionDoesNotMatch
The label is assigned if any expression does not match.
@ SetLabelIfExpressionMatches
The label is assigned if any expression matches.
@ UnsetLabelIfExpressionMatches
The label is assigned if any expression matches.
@ SetLabelIfPassFlagIsTrue
The label is assigned if after filtering the pass flag is true or if it was already true before.
@ UnsetLabelIfExpressionDoesNotMatch
The label is assigned if any expression does not match.
@ SetLabelIfPassFlagIsFalse
The label is assigned if after filtering the pass flag is false or if it was false before.
@ DoNotChangeLabel
Label of attributes are not changed at all.
@ SetLabelIfPassFlagIsSet
The label is assigned if the pass flag is set to true (independent of its previous state).
@ SetLabelIfPassFlagIsCleared
The label is assigned if the pass flag is set to false (independent of its previous state).
@ NumLabellingEnumModes
Number of available modes, not to be used as mode.
@ SetLabelIfPassFlagIsUnchanged
The label is assigned if the pass flag is neither set nor cleared by the filter.
virtual bool _handleNotificationForTagValueFiltering(Field *field)
StringField & getTagStringEvalRegExFld() const
EnumField & getConfigAssignModeFld() const
static const char *const ConfigurationAssignmentEnumStrings[NumConfigurationAssignmentEnumModes]
Strings according to ConfigurationAssignmentEnumModes.
StringField & getTagId0PrivateCreatorFld() const
virtual void _applyProcessingSettingsAssignment(FileListTools::FileAttribute &filterAttributes, FilterMessageList *messageList, bool &wasDisabled, bool &wasEnabled, bool &expMatches) const
DoubleField & getRangeMaxFld() const
virtual void _applyConfigAssignment(FileListTools::FileAttribute &filterAttributes, FilterMessageList *messageList, bool &wasDisabled, bool &wasEnabled, bool &expMatches) const
~FileListFilterPlugin() override
Destructor.
DoubleField & getRangeMinFld() const
BoolField & getFilterDecomposedEnhancedFramesFld() const
BoolField & getApplyTagStringFilterFld() const
void _getTagStringValues(DCMTree::Const_TreePtr dcmTree, std::vector< std::string > &foundValues) const
DCMTree::Const_TagPtr _getNormalOrPrivateTag(DCMTree::Const_TreePtr dcmTree, DCMTree::RawTagId rawTagId, const std::string &privateCreatorStr, std::vector< DCMTree::Const_TagPtr > *foundTags=nullptr) const
StringField & getTreeFilterExFld() const
DoubleField & getConst0Fld() const
DoubleField & getConst3Fld() const
virtual void _applyLabelling(FileListTools::FileAttribute &filterAttributes, FilterMessageList *messageList, bool &wasDisabled, bool &wasEnabled, bool &expMatches) const
void activateAttachments() override
Update internal state after field reload or clone..
DoubleField & getConst1Fld() const
EnumField & getProcessingSettingsAssignModeFld() const
BoolField & getSetPassFlagOnTagValueMatchesFld() const
DCMTree::Const_TagPtr _searchOneOrMultipleTags(DCMTree::Const_TreePtr dcmTree, DCMTree::RawTagId rawTagId, std::vector< DCMTree::Const_TagPtr > *foundTags) const
#define ML_MODULE_CLASS_HEADER(className)
A base class for plugins which can be used by file list importers to filter and classify files.
boost::shared_ptr< const Tag > Const_TagPtr
boost::shared_ptr< const Tree > Const_TreePtr
FileListFilterPlugin DirectDicomImportImportFilterPlugin
For backward compatibility:
std::list< FilterMessage > FilterMessageList
List of messages which can occur during filter calls.