-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[Bug] No Normalizer Class error while Exporting DICOM Seg for OCT based DICOM images #4293
Comments
Hmm, weird, do you have data? Could you kindly provide the data if it has been anonymized and you can confirm that there is no patient health information present in any of the headers or embedded within the pixel data? |
Hey guys, I'm facing same issue with OCT (Media Storage SOP Class UID @sedghi unfortunately I can't share dicom files on which is that happening. I found some at https://www.dicomlibrary.com/meddream/?study=1.3.6.1.4.1.44316.6.102.1.2023091383923657.429661656218407401559 but for these I get different error |
@igorsimko it would be great if you could propose appropriate normalizer code for OCT to the dcmjs project. I don't think many people have direct experience with that kind of data. If you can provide code, sample data, and tests it would be a nice contribution to the community. |
Adding Dennis @denbonte, who should at least be somewhat experienced, or maybe at least interested to monitor this! |
Thanks @fedorov for tagging me!
Unfortunately, I haven't started working with OCT images yet - but, since I have several colleagues who do, I will happily keep an eye on this 🙃 |
I made it work for now with following workaround: I just used local version of
I'd like to propose this to dcmjs as @pieper brought up but I really don't know whether that's correct approach and what consequences there can be. However, right now that works for my case, but I can see some further limitation of OCT/OP such as reference lines being off on OP. |
igorsimko I added a normalizer for the modality Nuclear Medicine (NM) via PR with the team at |
@pieper @fedorov Is there any documentation or guide on writing a normalizer? I've noticed many normalizers are quite simple and just call What are the criteria for a normalizer to be accepted and merged? |
Hi @sedghi - there's no design document for the normalizers, but maybe we should write something up to clarify the concept. The idea is that code that consumes 'normalized' datasets of a particular class should be able to rely on certain properties always being true, like the CT class will always be an Enhanced Multiframe and the consuming code doesn't have to have special cases for whether the window/level is present since that would have already be fixed by the normalizer. The plan is/was to have specialized subclasses for any dicom variant seen in the wild (e.g. converting data from private tags into the standard form, like diffusion MR sequences). The motivation is that code like GDCM is littered with special case code trying to handle non-standard dicom instances and I want that to be handled in a more organized way in dcmjs. Where things stand now if there's not a clear thing to be done then yes, it should just call the superclass as a more-or-less passthrough. |
@pieper That is great explanation, thanks, I will probably add the US one |
@ahlaughland thanks for your PR, I opened 2 PRs, one related to OCT and this issue: and the second dcmjs-org/dcmjs#403 for OP modality which is often referenced by OCT. |
@igorsimko Great work indeed, could you update the PRs with a sample data and generated SEG as well? |
@sedghi Unfortunately I can't provide data I was using. I'll try to search for some open data but that might take a while. |
@igorsimko perhaps you could make a dummy dataset following the structure of the data you can't share? |
@pieper yes that would work but I have to change pixel data and compression as well, but I suppose that's okay for this case. Let me add it to PRs then. |
Ideally you can make a very small file, but if it's larger than a few k we can add it here for use in testing: |
@pieper I added both to related PRs. One (OP) has few KBs but other (OCT) has ~2MB, should I keep it in |
I put the file in a data release: https://github.com/dcmjs-org/data/releases/tag/oct @igorsimko can you update to use this? Thanks. |
@pieper I added small test for OCT normalizer where I download the file from |
Yes, https://github.com/dcmjs-org/dcmjs/pull/402/files is what I had in mind. It would be great if https://github.com/dcmjs-org/dcmjs/pull/403/files could also have a test. Then could someone on this thread who uses or is familiar with these classes comment on whether the PRs are ready to merge? |
@pieper I opened discussion regarding OP in dcmjs-org/dcmjs#403 (comment) to not spam this thread, would you (or anyone in this thread) mind sharing your thoughts there? |
This should be now resolved by upgrading dcmjs to 0.36.0. See dcmjs-org/dcmjs#402 |
Describe the Bug
We are able to draw Segmentations on the OCT image, however when we try to click on "Export DICOM SEG", it gives an error in Console- "No Normalizer Class for "
Steps to Reproduce
The current behavior
when we try to click on "Export DICOM SEG", it gives an error in Console- "No Normalizer Class for "
![image](https://private-user-images.githubusercontent.com/22118526/349557043-ef581ed0-13e8-4d19-8207-f87596cb3791.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzMzQwNjAsIm5iZiI6MTczOTMzMzc2MCwicGF0aCI6Ii8yMjExODUyNi8zNDk1NTcwNDMtZWY1ODFlZDAtMTNlOC00ZDE5LTgyMDctZjg3NTk2Y2IzNzkxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDA0MTYwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThlNzMyNWEwNWEyNDg1ODExYmU2NGJhNzRkYWJkODExMzQ3NjE3MTg2NDQ1MmRkYjczZTM4MjAyZTY1MTJhOTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.d1KqW-TilD2x49KSrY9q96mhVkENCnAvcJ6vr22k93U)
![image](https://private-user-images.githubusercontent.com/22118526/349557073-537febfb-cd48-4c12-b9d6-a81a5fa7bbbc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzMzQwNjAsIm5iZiI6MTczOTMzMzc2MCwicGF0aCI6Ii8yMjExODUyNi8zNDk1NTcwNzMtNTM3ZmViZmItY2Q0OC00YzEyLWI5ZDYtYTgxYTVmYTdiYmJjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDA0MTYwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY0OTMxZmQwOWY0OTk2ZDk2NGQ4ZjJmNDRmZDMxMDRkMWEzYmUxZmUwMmJlMmVlOTBkZGY2YTVmNTBiOTc1MjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.a_NuKJTtjvolK90h81Gh-TvioQXKhjKfwccjNVfYEnc)
The expected behavior
The DICOM SEG should be exported successfully.
OS
Windows 10
Node version
18.16.0
Browser
Chrome 124.0.6367.61 (Official Build) (64-bit)
The text was updated successfully, but these errors were encountered: