dcmjs icon indicating copy to clipboard operation
dcmjs copied to clipboard

feat: Add OP normalizer

Open igorsimko opened this issue 1 year ago • 4 comments

This PR adds support for Ophthalmic Photography 8 Bit Image modality. Often time referenced by OCT (https://github.com/dcmjs-org/dcmjs/pull/402)

igorsimko avatar Sep 18 '24 12:09 igorsimko

Deploy Preview for dcmjs2 ready!

Name Link
Latest commit aefa30580dd6d99e9fce81eaf098714fb0603d63
Latest deploy log https://app.netlify.com/sites/dcmjs2/deploys/66fd4e2a59ec2700085234f2
Deploy Preview https://deploy-preview-403--dcmjs2.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

netlify[bot] avatar Sep 18 '24 12:09 netlify[bot]

@pieper I went over OP normalizer again and I don't fully understand whether it's needed or not. Problem in this bug report refers to only OCT scan when trying to export segmentation for it. I haven't encountered segmentations for OP modality yet. Segmentations are usually only visualized on OP from OCT.

See following example where A is OCT and B is OP image

OP file I attached (from realt device) doesn't have bunch of dicom tags which are used in normalizer.js so I would have to just use simple

class OPImageNormalizer extends Normalizer {
    normalize() {
        this.dataset = this.datasets[0];
    }
}

Do you think we should still add OP to normalizers in that case?

igorsimko avatar Oct 02 '24 08:10 igorsimko

I'm not familiar enough with OCT and OP to know for sure, but as a general design pattern for dcmjs it's good to have normalizers for any sop class so that code can rely on them providing a fixed up version of any non-standard dicom (e.g. fix up any vendor screwups). Many sop class normalizers can be basically no-ops, which is good.

pieper avatar Oct 02 '24 13:10 pieper

Thank you for you feedback. In that case I updated PR to also include test and run simple normalization as written in comment above.

igorsimko avatar Oct 02 '24 13:10 igorsimko

:tada: This PR is included in version 0.35.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

github-actions[bot] avatar Oct 29 '24 19:10 github-actions[bot]

@sedghi that's great to hear, thanks a lot! Shall we do same with https://github.com/dcmjs-org/dcmjs/pull/402?

igorsimko avatar Oct 30 '24 09:10 igorsimko