fix(hp): Remove filtered displaySets from parameter from study protocolEngine.findMatch() (#3343)

The changes look good and are running now successfully.
This commit is contained in:
Sofien-Sellami 2023-06-29 16:17:08 +01:00 committed by GitHub
parent 4d4dd45c23
commit abe939bd20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1389,17 +1389,20 @@ export default class HangingProtocolService extends PubSubService {
this.studies.forEach(study => { this.studies.forEach(study => {
// Skip non-active if active only // Skip non-active if active only
if (matchActiveOnly && this.activeStudy !== study) return; if (matchActiveOnly && this.activeStudy !== study) return;
const studyDisplaySets = this.displaySets.filter( const studyDisplaySets = this.displaySets.filter(
it => it.StudyInstanceUID === study.StudyInstanceUID it => it.StudyInstanceUID === study.StudyInstanceUID
); );
const studyMatchDetails = this.protocolEngine.findMatch( const studyMatchDetails = this.protocolEngine.findMatch(
study, study,
studyMatchingRules, studyMatchingRules,
{ {
studies: this.studies, studies: this.studies,
displaySets: studyDisplaySets, displaySets: studyDisplaySets,
displaySetMatchDetails: this.displaySetMatchDetails, allDisplaySets: this.displaySets,
} displaySetMatchDetails: this.displaySetMatchDetails,
}
); );
// Prevent bestMatch from being updated if the matchDetails' required attribute check has failed // Prevent bestMatch from being updated if the matchDetails' required attribute check has failed
@ -1408,10 +1411,10 @@ export default class HangingProtocolService extends PubSubService {
} }
this.debug( this.debug(
'study', 'study',
study.StudyInstanceUID, study.StudyInstanceUID,
'display sets #', 'display sets #',
studyDisplaySets.length studyDisplaySets.length
); );
studyDisplaySets.forEach(displaySet => { studyDisplaySets.forEach(displaySet => {
const { const {
@ -1420,15 +1423,15 @@ export default class HangingProtocolService extends PubSubService {
displaySetInstanceUID, displaySetInstanceUID,
} = displaySet; } = displaySet;
const seriesMatchDetails = this.protocolEngine.findMatch( const seriesMatchDetails = this.protocolEngine.findMatch(
displaySet, displaySet,
seriesMatchingRules, seriesMatchingRules,
// Todo: why we have images here since the matching type does not have it // Todo: why we have images here since the matching type does not have it
{ {
studies: this.studies, studies: this.studies,
instance: displaySet.images?.[0], instance: displaySet.images?.[0],
displaySetMatchDetails: this.displaySetMatchDetails, displaySetMatchDetails: this.displaySetMatchDetails,
displaySets: studyDisplaySets, displaySets: studyDisplaySets,
} }
); );
// Prevent bestMatch from being updated if the matchDetails' required attribute check has failed // Prevent bestMatch from being updated if the matchDetails' required attribute check has failed