Skip to content

Commit 50e33ba

Browse files
galelisdannyrb
authored andcommitted
feat: add onNewImage callback prop
* Add a callback call on new image updates * Prevent js to break if metaData is not provided
1 parent 939bb63 commit 50e33ba

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

src/CornerstoneViewport/CornerstoneViewport.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ class CornerstoneViewport extends Component {
4848
frameRate: PropTypes.number, // Between 1 and ?
4949
//
5050
setViewportActive: PropTypes.func, // Called when viewport should be set to active?
51+
onNewImage: PropTypes.func,
5152
viewportOverlayComponent: PropTypes.oneOfType([
5253
PropTypes.string,
5354
PropTypes.func,
@@ -595,14 +596,22 @@ class CornerstoneViewport extends Component {
595596
};
596597

597598
onNewImage = event => {
598-
const newImageId = event.detail.image.imageId;
599-
const newImageIdIndex = this.props.imageIds.indexOf(newImageId);
599+
const { imageId } = event.detail.image;
600+
const { sopInstanceUid } =
601+
cornerstone.metaData.get('generalImageModule', imageId) || {};
602+
const currentImageIdIndex = this.props.imageIds.indexOf(imageId);
600603

601604
// TODO: Should we grab and set some imageId specific metadata here?
602605
// Could prevent cornerstone dependencies in child components.
603606
this.setState({
604-
imageIdIndex: newImageIdIndex,
607+
imageIdIndex: currentImageIdIndex,
605608
});
609+
610+
if (this.props.onNewImage) {
611+
this.props.onNewImage({
612+
sopInstanceUid,
613+
});
614+
}
606615
};
607616

608617
onImageLoaded = () => {

src/metadataProvider.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ function wadoRsMetaDataProvider(type, imageId) {
3232

3333
if (type === 'generalImageModule') {
3434
return {
35+
sopInstanceUid: getValue(metaData['00080018']),
3536
instanceNumber: getNumberValue(metaData['00200013']),
3637
lossyImageCompression: getValue(metaData['00282110']),
3738
lossyImageCompressionRatio: getValue(metaData['00282112']),

0 commit comments

Comments
 (0)