Dear all,
Firstly, thank you very much for your efforts on Horos -- I am an academic, and it is great. (I've donated in the past!)
Secondly, I've got an interesting problem and think I have discovered a bug. I've been manually reconstructing dicoms on the basis of MRI data with novel techniques, and in particular the resulting data has a very high dynamic range, reflecting the ~48 bit ADC (and reported ~169 dB) in my vendors' MRI scanner. For this application, looking at lung imaging with novel UTE techniques, this is required.
I've therefore been writing 32-big derived MR dicoms. Specifically, the relevant tags are:
BitsAllocated (0028,0100) 32
BitsStored (0028,0101) 32
HighBit (0028,0102) 31
These "work" and open fine in other dicom viewers, e.g. Fiji / ImageJ, FSLEyes, and Matlab, etc (ignore everything outside of the lung field!)
I'd like to open these in Horos, but alas instead of seeing an image, I get basically a binarised image, 0 if the image intensity is exactly 0; 1 if not:
The intensity in every ROI shown is exactly 0; the mean, STDev, sum, min and max are all 0. I'm using Horos v4.0.0 RC5.
The full metadata (dcmdump) for the tags are below -- any advice is welcome! I'd like to use Horos's excellent features, in particular for the interactive editing of CLUT tables.
I presume this might be an integer overflow bug somewhere -- 32 bit MR dicoms are probably not "usual".
Thanks!
-- Jack
-----------------------------------------------------------------
# Dicom-File-Format
# Dicom-Meta-Information-Header
# Used TransferSyntax: Little Endian Explicit
(0002,0000) UL 210 # 4, 1 FileMetaInformationGroupLength
(0002,0001) OB 00\01 # 2, 1 FileMetaInformationVersion
(0002,0002) UI =MRImageStorage # 26, 1 MediaStorageSOPClassUID
(0002,0003) UI [1.3.6.1.4.1.9590.100.1.2.315109134610467614928722853821824337275] # 64, 1 MediaStorageSOPInstanceUID
(0002,0010) UI =LittleEndianExplicit # 20, 1 TransferSyntaxUID
(0002,0012) UI [1.3.6.1.4.1.9590.100.1.3.100.9.4] # 32, 1 ImplementationClassUID
(0002,0013) SH [MATLAB IPT 9.4] # 14, 1 ImplementationVersionName
# Dicom-Data-Set
# Used TransferSyntax: Little Endian Explicit
(0008,0005) CS [ISO_IR 100] # 10, 1 SpecificCharacterSet
(0008,0008) CS [DERIVED\PRIMARY\ND\ND] # 22, 4 ImageType
(0008,0012) DA [20210113] # 8, 1 InstanceCreationDate
(0008,0013) TM [192606.682045] # 14, 1 InstanceCreationTime
(0008,0016) UI =MRImageStorage # 26, 1 SOPClassUID
(0008,0018) UI [1.3.6.1.4.1.9590.100.1.2.315109134610467614928722853821824337275] # 64, 1 SOPInstanceUID
(0008,0020) DA [20201203] # 8, 1 StudyDate
(0008,0021) DA [20201203] # 8, 1 SeriesDate
(0008,0022) DA [20201203] # 8, 1 AcquisitionDate
(0008,0023) DA [20201203] # 8, 1 ContentDate
(0008,0030) TM [151400.602000] # 14, 1 StudyTime
(0008,0031) TM [153445.071000] # 14, 1 SeriesTime
(0008,0032) TM [153352.257500] # 14, 1 AcquisitionTime
(0008,0033) TM [153445.078000] # 14, 1 ContentTime
(0008,0050) SH (no value available) # 0, 0 AccessionNumber
(0008,0060) CS [MR] # 2, 1 Modality
(0008,0070) LO [SIEMENS] # 8, 1 Manufacturer
(0008,0080) LO [xxx] # 12, 1 InstitutionName
(0008,0081) ST [xxx] # 46, 1 InstitutionAddress
(0008,0090) PN (no value available) # 0, 0 ReferringPhysicianName
(0008,1010) SH [Jack] # 10, 1 StationName
(0008,1030) LO [Jack^PDM] # 8, 1 StudyDescription
(0008,103e) LO [TrophyShot-Gated-NOT-QUANTITATIVE] # 34, 1 SeriesDescription
(0008,1040) LO [Department] # 10, 1 InstitutionalDepartmentName
(0008,1050) PN [JM] # 2, 1 PerformingPhysicianName
(0008,1070) PN [Al] # 2, 1 OperatorsName
(0008,1090) LO [Jack] # 4, 1 ManufacturerModelName
(0008,2111) ST [Reprocessed-1] # 14, 1 DerivationDescription
(0010,0010) PN [xxxxx] # 16, 1 PatientName
(0010,0020) LO [xxxx] # 18, 1 PatientID
(0010,0030) DA [xxxx] # 8, 1 PatientBirthDate
(0010,0040) CS [M] # 2, 1 PatientSex
(0010,1010) AS [071Y] # 4, 1 PatientAge
(0010,1020) DS [1.83] # 4, 1 PatientSize
(0010,1030) DS [106] # 4, 1 PatientWeight
(0018,0015) CS [HEART] # 6, 1 BodyPartExamined
(0018,0020) CS [RM] # 2, 1 ScanningSequence
(0018,0021) CS [SP] # 2, 1 SequenceVariant
(0018,0022) CS [CT] # 2, 1 ScanOptions
(0018,0023) CS [2D] # 2, 1 MRAcquisitionType
(0018,0024) SH [fl2d2] # 6, 1 SequenceName
(0018,0025) CS [N] # 2, 1 AngioFlag
(0018,0050) DS [10] # 2, 1 SliceThickness
(0018,0080) DS [6] # 2, 1 RepetitionTime
(0018,0081) DS [1.8] # 4, 1 EchoTime
(0018,0083) DS [12] # 2, 1 NumberOfAverages
(0018,0084) DS [123.258657] # 10, 1 ImagingFrequency
(0018,0085) SH [1H] # 2, 1 ImagedNucleus
(0018,0086) IS [2] # 2, 1 EchoNumbers
(0018,0087) DS [3] # 2, 1 MagneticFieldStrength
(0018,0089) IS [512] # 4, 1 NumberOfPhaseEncodingSteps
(0018,0091) IS [2] # 2, 1 EchoTrainLength
(0018,0093) DS [100] # 4, 1 PercentSampling
(0018,0094) DS [100] # 4, 1 PercentPhaseFieldOfView
(0018,0095) DS [1500] # 4, 1 PixelBandwidth
(0018,1000) LO [166021] # 6, 1 DeviceSerialNumber
(0018,1020) LO [syngo MR E11] # 12, 1 SoftwareVersions
(0018,1030) LO [TrophyShot-Gated-NOT-QUANTITATIVE] # 34, 1 ProtocolName
(0018,1060) DS [652.5] # 6, 1 TriggerTime
(0018,1062) IS [910] # 4, 1 NominalInterval
(0018,1090) IS [1] # 2, 1 CardiacNumberOfImages
(0018,1251) SH [Body] # 4, 1 TransmitCoilName
(0018,1310) US 512\0\0\512 # 8, 4 AcquisitionMatrix
(0018,1312) CS [COL] # 4, 1 InPlanePhaseEncodingDirection
(0018,1314) DS [15] # 2, 1 FlipAngle
(0018,1315) CS [N] # 2, 1 VariableFlipAngleFlag
(0018,1316) DS [0.09032107433218] # 16, 1 SAR
(0018,1318) DS [0] # 2, 1 dBdt
(0018,5100) CS [HFS] # 4, 1 PatientPosition
(0020,000d) UI [1.3.12.2.1107.5.2.43.166021.30000020120209401592800000022] # 58, 1 StudyInstanceUID
(0020,000e) UI [1.3.12.2.1107.5.2.43.166021.202012031533412304356563.0.0.0.1] # 60, 1 SeriesInstanceUID
(0020,0010) SH [1] # 2, 1 StudyID
(0020,0011) IS [27] # 2, 1 SeriesNumber
(0020,0012) IS [1] # 2, 1 AcquisitionNumber
(0020,0013) IS [2] # 2, 1 InstanceNumber
(0020,0032) DS [-253.52349311113\-265.91256427765\161.17391967773] # 50, 3 ImagePositionPatient
(0020,0037) DS [1\0\0\0\1\0] # 12, 6 ImageOrientationPatient
(0020,0052) UI [1.3.12.2.1107.5.2.43.166021.1.20201203151652623.0.0.0] # 54, 1 FrameOfReferenceUID
(0020,1040) LO (no value available) # 0, 0 PositionReferenceIndicator
(0020,1041) DS [161.17391967773] # 16, 1 SliceLocation
(0020,4000) LT [UTE] # 4, 1 ImageComments
(0028,0002) US 1 # 2, 1 SamplesPerPixel
(0028,0004) CS [MONOCHROME2] # 12, 1 PhotometricInterpretation
(0028,0010) US 1536 # 2, 1 Rows
(0028,0011) US 1536 # 2, 1 Columns
(0028,0030) DS [0.49609375\0.49609375] # 22, 2 PixelSpacing
(0028,0100) US 32 # 2, 1 BitsAllocated
(0028,0101) US 32 # 2, 1 BitsStored
(0028,0102) US 31 # 2, 1 HighBit
(0028,0103) US 0 # 2, 1 PixelRepresentation
(0028,0106) US 0 # 2, 1 SmallestImagePixelValue
(0028,0107) US 65535 # 2, 1 LargestImagePixelValue
(0028,1050) DS [0] # 2, 1 WindowCenter
(0028,1051) DS [4294967295] # 10, 1 WindowWidth
(0040,0244) DA [20201203] # 8, 1 PerformedProcedureStepStartDate
(0040,0245) TM [151400.668000] # 14, 1 PerformedProcedureStepStartTime
(0040,0253) SH [MR20201203151400] # 16, 1 PerformedProcedureStepID
(0040,0254) LO [Jack^PDM] # 8, 1 PerformedProcedureStepDescription
(7fe0,0010) OW 0000\0000\0000\0000\0000\0000\0000\0000\0000\0000\0000\0000\0000... # 9437184, 1 PixelData