fix(dicomImageLoader): 🐛 Prevent error if ImagePositionPatient can not be read #2442
+66
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
When loading multi-frame images using the wado-uri image loader, Image Position Patient is read from the SharedFunctionalGroupSequence or PerFrameFunctionalGroupSequence from either
SharedFunctionalGroupsSequence[0].PlanePositionSequence[0].ImagePositionPatientorPerFrameFunctionalGroupSequence[:frameId].PlanePositionSequence[0].ImagePositionPatientHowever if
PlanePositionSequencewas empty an error is thrown byextractPositionFromDatasetcausing loading the image to fail.This PR includes optional chaining checks to prevent an error in
extractPositionFromDatasetif ImagePositionPatient doesn't exist.Changes & Results
calling
metadata.get(Enums.MetadataModules.IMAGE_PLANE, imageId)previously would throw an error for some files. No error is now thrown.Testing
A unit test has been added for this change.
Checklist
PR
semantic-release format and guidelines.
Code
etc.)
Public Documentation Updates
additions or removals.
Tested Environment