Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

COMP: Fix -Wunused-parameter in ctkDICOMDisplayedFieldGenerator classes #998

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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