Skip to content

Commit

Permalink
COMP: Fix -Wunused-parameter in ctkDICOMDisplayedFieldGenerator classes
Browse files Browse the repository at this point in the history
  • Loading branch information
jcfr committed Oct 21, 2021
1 parent 82ebe95 commit c64cac2
Show file tree
Hide file tree
Showing 6 changed files with 85 additions and 15 deletions.
76 changes: 62 additions & 14 deletions Libs/DICOM/Core/ctkDICOMDisplayedFieldGeneratorAbstractRule.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,32 +53,67 @@ class CTK_DICOM_CORE_EXPORT ctkDICOMDisplayedFieldGeneratorAbstractRule
/// Generate displayed fields for a certain instance based on its cached tags
/// Each rule plugin has the chance to fill any field in the series, study, and patient fields.
/// The way these generated fields will be used is defined by \sa mergeDisplayedFieldsForInstance
virtual void getDisplayedFieldsForInstance(const QMap<QString, QString> &cachedTagsForInstance, QMap<QString, QString> &displayedFieldsForCurrentSeries,
QMap<QString, QString> &displayedFieldsForCurrentStudy, QMap<QString, QString> &displayedFieldsForCurrentPatient) { };
virtual void getDisplayedFieldsForInstance(
const QMap<QString, QString> &cachedTagsForInstance,
QMap<QString, QString> &displayedFieldsForCurrentSeries,
QMap<QString, QString> &displayedFieldsForCurrentStudy,
QMap<QString, QString> &displayedFieldsForCurrentPatient)
{
Q_UNUSED(cachedTagsForInstance);
Q_UNUSED(displayedFieldsForCurrentSeries);
Q_UNUSED(displayedFieldsForCurrentStudy);
Q_UNUSED(displayedFieldsForCurrentPatient);
}

/// Define rules of merging initial database values with new values generated by the rule plugins
/// Currently available options:
/// - \sa mergeExpectSameValue Use the non-empty field value. If both initial and new are non-empty and different, then use the initial value
/// - \sa mergeConcatenate Use the non-empty field value. If both initial and new are non-empty, then concatenate them using comma
virtual void mergeDisplayedFieldsForInstance(
const QMap<QString, QString> &initialFieldsSeries, const QMap<QString, QString> &initialFieldsStudy, const QMap<QString, QString> &initialFieldsPatient,
const QMap<QString, QString> &newFieldsSeries, const QMap<QString, QString> &newFieldsStudy, const QMap<QString, QString> &newFieldsPatient,
QMap<QString, QString> &mergedFieldsSeries, QMap<QString, QString> &mergedFieldsStudy, QMap<QString, QString> &mergedFieldsPatient,
const QMap<QString, QString> &emptyFieldsSeries, const QMap<QString, QString> &emptyFieldsStudy, const QMap<QString, QString> &emptyFieldsPatient
) { };
const QMap<QString, QString> &initialFieldsSeries,
const QMap<QString, QString> &initialFieldsStudy,
const QMap<QString, QString> &initialFieldsPatient,
const QMap<QString, QString> &newFieldsSeries,
const QMap<QString, QString> &newFieldsStudy,
const QMap<QString, QString> &newFieldsPatient,
QMap<QString, QString> &mergedFieldsSeries,
QMap<QString, QString> &mergedFieldsStudy,
QMap<QString, QString> &mergedFieldsPatient,
const QMap<QString, QString> &emptyFieldsSeries,
const QMap<QString, QString> &emptyFieldsStudy,
const QMap<QString, QString> &emptyFieldsPatient)
{
Q_UNUSED(initialFieldsSeries);
Q_UNUSED(initialFieldsStudy);
Q_UNUSED(initialFieldsPatient);
Q_UNUSED(newFieldsSeries);
Q_UNUSED(newFieldsStudy);
Q_UNUSED(newFieldsPatient);
Q_UNUSED(mergedFieldsSeries);
Q_UNUSED(mergedFieldsStudy);
Q_UNUSED(mergedFieldsPatient);
Q_UNUSED(emptyFieldsSeries);
Q_UNUSED(emptyFieldsStudy);
Q_UNUSED(emptyFieldsPatient);
}

/// Specify list of DICOM tags required by the rule. These tags will be included in the tag cache
virtual QStringList getRequiredDICOMTags()=0;

/// Start updating displayed fields (reset counters, etc.). No-op by default.
virtual void startUpdate() { };
virtual void startUpdate() { }

/// End updating displayed fields (accumulate stored variables, compute final result, etc.). No-op by default.
/// Has a chance to update any field in the series, study, or patient field maps, based on
/// the maps themselves or the database.
virtual void endUpdate(QMap<QString, QMap<QString, QString> > &displayedFieldsMapSeries,
QMap<QString, QMap<QString, QString> > &displayedFieldsMapStudy,
QMap<QString, QMap<QString, QString> > &displayedFieldsMapPatient) { };
QMap<QString, QMap<QString, QString> > &displayedFieldsMapPatient)
{
Q_UNUSED(displayedFieldsMapSeries);
Q_UNUSED(displayedFieldsMapStudy);
Q_UNUSED(displayedFieldsMapPatient);
}

/// Utility function to convert a DICOM tag enum to string
static QString dicomTagToString(const DcmTagKey& tag)
Expand All @@ -90,7 +125,14 @@ class CTK_DICOM_CORE_EXPORT ctkDICOMDisplayedFieldGeneratorAbstractRule
/// Used when merging the original database content with the displayed fields generated by the rules.
/// Example: SeriesDescription -> Unnamed Series
virtual void registerEmptyFieldNames(
QMap<QString, QString> emptyFieldsSeries, QMap<QString, QString> emptyFieldsStudies, QMap<QString, QString> emptyFieldsPatients) { };
QMap<QString, QString> emptyFieldsSeries,
QMap<QString, QString> emptyFieldsStudies,
QMap<QString, QString> emptyFieldsPatients)
{
Q_UNUSED(emptyFieldsSeries);
Q_UNUSED(emptyFieldsStudies);
Q_UNUSED(emptyFieldsPatients);
}

/// Set DICOM database to the rule in case it needs to use it e.g. in \sa end().
void setDatabase(ctkDICOMDatabase* database) { this->DICOMDatabase = database; }
Expand Down Expand Up @@ -121,8 +163,11 @@ class CTK_DICOM_CORE_EXPORT ctkDICOMDisplayedFieldGeneratorAbstractRule

/// Merge function that only uses the new value if the initial value is empty and vice versa
static void mergeExpectSameValue(
const QString &fieldName, const QMap<QString, QString> &initialFields, const QMap<QString, QString> &newFields,
QMap<QString, QString> &mergedFields, const QMap<QString, QString> &emptyValuesForEachField )
const QString &fieldName,
const QMap<QString, QString> &initialFields,
const QMap<QString, QString> &newFields,
QMap<QString, QString> &mergedFields,
const QMap<QString, QString> &emptyValuesForEachField)
{
if (isFieldEmpty(fieldName, newFields, emptyValuesForEachField))
{
Expand Down Expand Up @@ -150,8 +195,11 @@ class CTK_DICOM_CORE_EXPORT ctkDICOMDisplayedFieldGeneratorAbstractRule
/// Merge function that sets merged value as a concatenation of the initial and new values
/// Individual values in the concatenation are separated by comma
static void mergeConcatenate(
const QString &fieldName, const QMap<QString, QString> &initialFields, const QMap<QString, QString> &newFields,
QMap<QString, QString> &mergedFields, const QMap<QString, QString> &emptyValuesForEachField )
const QString &fieldName,
const QMap<QString, QString> &initialFields,
const QMap<QString, QString> &newFields,
QMap<QString, QString> &mergedFields,
const QMap<QString, QString> &emptyValuesForEachField)
{
if (isFieldEmpty(fieldName, newFields, emptyValuesForEachField))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ void ctkDICOMDisplayedFieldGeneratorLastStudyDateRule::getDisplayedFieldsForInst
const QMap<QString, QString> &cachedTagsForInstance, QMap<QString, QString> &displayedFieldsForCurrentSeries,
QMap<QString, QString> &displayedFieldsForCurrentStudy, QMap<QString, QString> &displayedFieldsForCurrentPatient )
{
Q_UNUSED(displayedFieldsForCurrentSeries);
Q_UNUSED(displayedFieldsForCurrentStudy);
Q_UNUSED(displayedFieldsForCurrentPatient);
// Store patient information for the instances that of which displayed fields are updated in this run.
QString patientID = cachedTagsForInstance[ctkDICOMItem::TagKeyStripped(DCM_PatientID)];
QString patientsBirthDate = cachedTagsForInstance[ctkDICOMItem::TagKeyStripped(DCM_PatientBirthDate)];
Expand All @@ -83,6 +86,8 @@ void ctkDICOMDisplayedFieldGeneratorLastStudyDateRule::endUpdate(
QMap<QString, QMap<QString, QString> > &displayedFieldsMapStudy,
QMap<QString, QMap<QString, QString> > &displayedFieldsMapPatient)
{
Q_UNUSED(displayedFieldsMapSeries);
Q_UNUSED(displayedFieldsMapStudy);
// Update last study date for each updated patient
foreach (QString compositeID, this->UpdatedPatientCompositeIDs)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ void ctkDICOMDisplayedFieldGeneratorPatientNumberOfStudiesRule::getDisplayedFiel
const QMap<QString, QString> &cachedTagsForInstance, QMap<QString, QString> &displayedFieldsForCurrentSeries,
QMap<QString, QString> &displayedFieldsForCurrentStudy, QMap<QString, QString> &displayedFieldsForCurrentPatient )
{
Q_UNUSED(displayedFieldsForCurrentSeries);
Q_UNUSED(displayedFieldsForCurrentStudy);
Q_UNUSED(displayedFieldsForCurrentPatient);
// Store patient information for the instances that of which displayed fields are updated in this run.
QString patientID = cachedTagsForInstance[ctkDICOMItem::TagKeyStripped(DCM_PatientID)];
QString patientsBirthDate = cachedTagsForInstance[ctkDICOMItem::TagKeyStripped(DCM_PatientBirthDate)];
Expand All @@ -81,10 +84,12 @@ void ctkDICOMDisplayedFieldGeneratorPatientNumberOfStudiesRule::startUpdate()

//------------------------------------------------------------------------------
void ctkDICOMDisplayedFieldGeneratorPatientNumberOfStudiesRule::endUpdate(
QMap<QString, QMap<QString, QString> > &displayedFieldsMapSeries,
QMap<QString, QMap<QString, QString> > &,
QMap<QString, QMap<QString, QString> > &displayedFieldsMapStudy,
QMap<QString, QMap<QString, QString> > &displayedFieldsMapPatient)
{
Q_UNUSED(displayedFieldsMapStudy);
Q_UNUSED(displayedFieldsMapPatient);
// Update number of studies date for each updated patient
foreach (QString compositeID, this->UpdatedPatientCompositeIDs)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ void ctkDICOMDisplayedFieldGeneratorRadiotherapySeriesDescriptionRule::getDispla
const QMap<QString, QString> &cachedTagsForInstance, QMap<QString, QString> &displayedFieldsForCurrentSeries,
QMap<QString, QString> &displayedFieldsForCurrentStudy, QMap<QString, QString> &displayedFieldsForCurrentPatient )
{
Q_UNUSED(displayedFieldsForCurrentStudy);
Q_UNUSED(displayedFieldsForCurrentPatient);
QString modality = cachedTagsForInstance[dicomTagToString(DCM_Modality)];
if (!modality.compare("RTPLAN"))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ void ctkDICOMDisplayedFieldGeneratorSeriesImageCountRule::getDisplayedFieldsForI
const QMap<QString, QString> &cachedTagsForInstance, QMap<QString, QString> &displayedFieldsForCurrentSeries,
QMap<QString, QString> &displayedFieldsForCurrentStudy, QMap<QString, QString> &displayedFieldsForCurrentPatient )
{
Q_UNUSED(displayedFieldsForCurrentSeries);
Q_UNUSED(displayedFieldsForCurrentStudy);
Q_UNUSED(displayedFieldsForCurrentPatient);
// Store series identifiers for the instances that of which displayed fields are updated in this run.
this->UpdatedSeriesInstanceUIDs.insert(cachedTagsForInstance[dicomTagToString(DCM_SeriesInstanceUID)]);
}
Expand All @@ -76,6 +79,8 @@ void ctkDICOMDisplayedFieldGeneratorSeriesImageCountRule::endUpdate(
QMap<QString, QMap<QString, QString> > &displayedFieldsMapStudy,
QMap<QString, QMap<QString, QString> > &displayedFieldsMapPatient)
{
Q_UNUSED(displayedFieldsMapStudy);
Q_UNUSED(displayedFieldsMapPatient);
// Update image count for each updated series
foreach (QString currentSeriesInstanceUid, this->UpdatedSeriesInstanceUIDs)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ void ctkDICOMDisplayedFieldGeneratorStudyNumberOfSeriesRule::getDisplayedFieldsF
const QMap<QString, QString> &cachedTagsForInstance, QMap<QString, QString> &displayedFieldsForCurrentSeries,
QMap<QString, QString> &displayedFieldsForCurrentStudy, QMap<QString, QString> &displayedFieldsForCurrentPatient )
{
Q_UNUSED(displayedFieldsForCurrentSeries);
Q_UNUSED(displayedFieldsForCurrentStudy);
Q_UNUSED(displayedFieldsForCurrentPatient);
// Store study identifiers for the instances that of which displayed fields are updated in this run.
this->UpdatedStudyInstanceUIDs.insert(cachedTagsForInstance[dicomTagToString(DCM_StudyInstanceUID)]);
}
Expand All @@ -76,6 +79,8 @@ void ctkDICOMDisplayedFieldGeneratorStudyNumberOfSeriesRule::endUpdate(
QMap<QString, QMap<QString, QString> > &displayedFieldsMapStudy,
QMap<QString, QMap<QString, QString> > &displayedFieldsMapPatient)
{
Q_UNUSED(displayedFieldsMapSeries);
Q_UNUSED(displayedFieldsMapPatient);
// Update number of series for each updated study
foreach (QString currentStudyInstanceUid, this->UpdatedStudyInstanceUIDs)
{
Expand Down

0 comments on commit c64cac2

Please sign in to comment.