-
Notifications
You must be signed in to change notification settings - Fork 238
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: bfconvert generates bad DICOMs from SVS files #4161
Comments
Also, even with |
Thanks for reporting this, @jcupitt / @bgilbert. Just to make sure I understand before implementing a fix, is the following what you would expect to be sufficient:
|
Hi @melissalinkert, thanks for working on this. I think you can assume the input file is correct, so if you just copy over the JPEG images, you don't need to do anything. If you do a decompress or compress, you need to look at and perhaps set the DICOM photometricinterpretation tag.
|
Hello everyone, thank you for this nice thing.
While working on openslide, I've come across a
bfconvert
bug when generating DICOM files.DICOM has a photometricinterpretation tag to indicate either RGB or YCbCr colorspace in tiles. This (according to the DICOM spec) is the place where the tile colourspace is kept, and NOT in the JPEG tiles themselves. On decode, you need to open each tile, and force the tile colorspace from the DICOM header.
If you use
-precompressed
, conversion will copy over the JPEG tiles untouched, so if the DICOM header and the tile colorspace were correct beforehand, they will still match in the converted image.If you convert without the
precompressed
flag,bfconvert
will reencode the JPEGs and may well change the photometric interpretation. For example, SVS is saved as RGB (no chroma subsample), butbfconvert
will save as YCbCr (chroma subsample). Now the DICOM photometric interpretation will be RGB, but the tiles will be YCbCr, so users will see crazy colors.tldr: when saving DICOM, if tiles are being recompressed,
bfconvert
needs to update the DICOM photometric interpretation tag.Referring openslide issue: openslide/openslide#558
Referring libdicom issue: ImagingDataCommons/libdicom#80
The text was updated successfully, but these errors were encountered: