{
  "id": 437791,
  "title": "SliceThickness and Z Position Diff?",
  "url": "/competitions/rsna-2023-abdominal-trauma-detection/discussion/437791",
  "author_name": "Gunes Evitan",
  "post_date": "2023-09-08T06:56:32.035000",
  "votes": 3,
  "comment_count": 2,
  "views": 0,
  "content": "<p>I'm trying to figure out the relationship between those two attributes. If I understood correctly,</p>\n<ul>\n<li>Slices are contiguous when slick thickness = z position diff</li>\n<li>There is gap between slices when slice thickness &lt; z position diff</li>\n<li>There is overlap between slices when slice thickness &gt; z position diff</li>\n</ul>\n<p>For example there is 20% overlap between slices on patient_id 19 scan_id 14374.<br>\n<img src=\"https://i.ibb.co/KVKRXmh/Screenshot-from-2023-09-08-09-48-28.png\" alt=\"z\"></p>\n<p>If that's true, I guess we can ignore SliceThickness and enforce spacing using z position diff. Cases that are contiguous or gap are okay but I'm not sure overlaps require any preprocessing or not.</p>",
  "messages": [
    {
      "id": 2428792,
      "postDate": "2023-09-08T06:56:32.037Z",
      "content": "<p>I'm trying to figure out the relationship between those two attributes. If I understood correctly,</p>\n<ul>\n<li>Slices are contiguous when slick thickness = z position diff</li>\n<li>There is gap between slices when slice thickness &lt; z position diff</li>\n<li>There is overlap between slices when slice thickness &gt; z position diff</li>\n</ul>\n<p>For example there is 20% overlap between slices on patient_id 19 scan_id 14374.<br>\n<img src=\"https://i.ibb.co/KVKRXmh/Screenshot-from-2023-09-08-09-48-28.png\" alt=\"z\"></p>\n<p>If that's true, I guess we can ignore SliceThickness and enforce spacing using z position diff. Cases that are contiguous or gap are okay but I'm not sure overlaps require any preprocessing or not.</p>",
      "rawMarkdown": "I'm trying to figure out the relationship between those two attributes. If I understood correctly,\n* Slices are contiguous when slick thickness = z position diff\n* There is gap between slices when slice thickness < z position diff\n* There is overlap between slices when slice thickness > z position diff\n\nFor example there is 20% overlap between slices on patient_id 19 scan_id 14374.\n![z](https://i.ibb.co/KVKRXmh/Screenshot-from-2023-09-08-09-48-28.png)\n\nIf that's true, I guess we can ignore SliceThickness and enforce spacing using z position diff. Cases that are contiguous or gap are okay but I'm not sure overlaps require any preprocessing or not.",
      "votes": 3
    },
    {
      "id": 2429521,
      "postDate": "2023-09-08T16:39:22.107Z",
      "content": "<p>Slice thickness and PatientPosition Z are not necessarily related. There are clinical and radiation dosage reasons for overlapping, or gapping or both. Also, slices are \"volume averaged\" from the original voxel data. This means, there aren't \"sides\" of a slice. The top and bottom of a slice are identical, no matter the thickness. The thicker the slice, the less accurately it represents the anatomy.</p>",
      "rawMarkdown": "Slice thickness and PatientPosition Z are not necessarily related. There are clinical and radiation dosage reasons for overlapping, or gapping or both. Also, slices are \"volume averaged\" from the original voxel data. This means, there aren't \"sides\" of a slice. The top and bottom of a slice are identical, no matter the thickness. The thicker the slice, the less accurately it represents the anatomy."
    },
    {
      "id": 2429415,
      "postDate": "2023-09-08T15:32:03.780Z",
      "content": "<p>Some scans have differences on X and Y axes too. Computing rotation matrix and applying it to all ImagePositionPatient values makes dX and dY 0 and Zdiff == SliceThickness is some cases, but there are still patients that have Zdiff != SliceThickness even after those operations. I think, this might be because of ambiguous Rotation Matrix normalization. Rotation Matrix computed from dicom metadata has only 3 nonzero values and after normalization it varies on Y (+ or - rotation), depending on the normalization method (SVD or quaternions).</p>",
      "rawMarkdown": "Some scans have differences on X and Y axes too. Computing rotation matrix and applying it to all ImagePositionPatient values makes dX and dY 0 and Zdiff == SliceThickness is some cases, but there are still patients that have Zdiff != SliceThickness even after those operations. I think, this might be because of ambiguous Rotation Matrix normalization. Rotation Matrix computed from dicom metadata has only 3 nonzero values and after normalization it varies on Y (+ or - rotation), depending on the normalization method (SVD or quaternions)."
    }
  ],
  "comments": [
    {
      "id": 2429521,
      "author_name": "David Roberts",
      "author_url": "",
      "post_date": "2023-09-08T16:39:22.107000",
      "content": "<p>Slice thickness and PatientPosition Z are not necessarily related. There are clinical and radiation dosage reasons for overlapping, or gapping or both. Also, slices are \"volume averaged\" from the original voxel data. This means, there aren't \"sides\" of a slice. The top and bottom of a slice are identical, no matter the thickness. The thicker the slice, the less accurately it represents the anatomy.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2429415,
      "author_name": "JanGlinko2",
      "author_url": "",
      "post_date": "2023-09-08T15:32:03.780000",
      "content": "<p>Some scans have differences on X and Y axes too. Computing rotation matrix and applying it to all ImagePositionPatient values makes dX and dY 0 and Zdiff == SliceThickness is some cases, but there are still patients that have Zdiff != SliceThickness even after those operations. I think, this might be because of ambiguous Rotation Matrix normalization. Rotation Matrix computed from dicom metadata has only 3 nonzero values and after normalization it varies on Y (+ or - rotation), depending on the normalization method (SVD or quaternions).</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2428792": "I'm trying to figure out the relationship between those two attributes. If I understood correctly,\n* Slices are contiguous when slick thickness = z position diff\n* There is gap between slices when slice thickness < z position diff\n* There is overlap between slices when slice thickness > z position diff\n\nFor example there is 20% overlap between slices on patient_id 19 scan_id 14374.\n![z](https://i.ibb.co/KVKRXmh/Screenshot-from-2023-09-08-09-48-28.png)\n\nIf that's true, I guess we can ignore SliceThickness and enforce spacing using z position diff. Cases that are contiguous or gap are okay but I'm not sure overlaps require any preprocessing or not.",
    "2429521": "Slice thickness and PatientPosition Z are not necessarily related. There are clinical and radiation dosage reasons for overlapping, or gapping or both. Also, slices are \"volume averaged\" from the original voxel data. This means, there aren't \"sides\" of a slice. The top and bottom of a slice are identical, no matter the thickness. The thicker the slice, the less accurately it represents the anatomy.",
    "2429415": "Some scans have differences on X and Y axes too. Computing rotation matrix and applying it to all ImagePositionPatient values makes dX and dY 0 and Zdiff == SliceThickness is some cases, but there are still patients that have Zdiff != SliceThickness even after those operations. I think, this might be because of ambiguous Rotation Matrix normalization. Rotation Matrix computed from dicom metadata has only 3 nonzero values and after normalization it varies on Y (+ or - rotation), depending on the normalization method (SVD or quaternions)."
  }
}