#7977 closed defect (fixed)
DICOM: SEG models not aligned with CT 4
| Reported by: | Elaine Meng | Owned by: | Zach Pearson |
|---|---|---|---|
| Priority: | major | Milestone: | 1.6 |
| Component: | DICOM | Version: | |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
In the RIDER lung example for one patient
(data /wynton/group/ferrin/usr.local/projects/chimerax/www/data/dicom/98820 RIDER-1129164940.tar.bz2 )
...there are two CTs (CT4 and CT8) and eight SEG models. I know that series are not necessarily aligned but in earlier versions of ChimeraX, when I opened this folder the SEG models were all aligned with CT 4, i.e. they were segmentations based on that scan. So I suspect that the SEG models are now missing the proper transformation. CT 8 is offset from CT 4, which I expected, because this was also the case in earlier versions of ChimeraX.
In UCSF ChimeraX version: 1.5rc202211080803 (2022-11-08) when I show all the datasets as full volumes with the SEG ones in surface style, they are far offset from both CTs. Screenshot attached.
Attachments (1)
Change History (8)
by , 3 years ago
| Attachment: | Screen Shot 2022-11-08 at 10.43.52 AM.png added |
|---|
comment:1 by , 3 years ago
| Milestone: | → 1.5 |
|---|
comment:2 by , 3 years ago
comment:3 by , 3 years ago
| Milestone: | 1.5 |
|---|
We decided in a programmer's meeting that this is not a blocker for 1.5.
comment:4 by , 3 years ago
| Milestone: | → 1.6 |
|---|
comment:5 by , 3 years ago
I think I found the cause for this. There are a handful of ways to represent where a DICOM is in space, but not all of them are taken into account (I'm sure I made some botched change to break this months ago). Working on a fix now.
comment:6 by , 3 years ago
I think I've fixed this in this commit. When DICOM files omit a top-level ImagePositionPatient but still specify one per-frame, the ImagePositionPatient with the smallest z-value is the origin, but in the future if we still see series that don't align and we run out of clever data hacks, we might try kludging it so that the origin for all series is set based on the first one, whether it ends up being (0,0,0) or any other value.
When you read in two DICOM files, the code works like this:
- if they're for the same patient, we merge the studies with the other patient's studies instead of opening a new patient
- if any studies are the same, the studies to be opened are merged with the existing study instead of opening new ones
- for each series in a study, we take the origin of the first series and apply it to each series in the study
So setting the origins of all series to the origin of whatever series came first may turn out to be naive, since it relies on the idea that all open series will have been taken under the same circumstances, but studies can have many kinds of modalities from different machines. As it was shown in another ticket I'm working on for 1.6, studies don't even have to have uniform image sizes. But (famous last words incoming) I think realistically users will only open mutually consistent data at the same time.
comment:7 by , 3 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
You can see this with the following commands after opening the aforementioned data
volume all region all
volume #1.1.3-11 style surface
view