ENHANCE-PET/FALCON

Analysis: Write script for generating presegmentations for FALCON validation

LalithShiyam opened this issue · 8 comments

Clinicians will find it remarkably hard to segment all the major regions in PET. Would make sense if we could do some presegmentations using MOOSE models.

Update 1: Presegmentations of the CT are done for all the Siemens healthy volunteers.

Remaining task: Need to register the CT (moving) to the PET frames (fixed) individually and transfer the presegmentations to the PET, for the clinicians to rectify. Boy this is gonna take long.

Update 2: Presegmentations of the CT needs to be cleared of trachea. Will definitely need @josefyu's efforts.

so the last status was, morph CT to make it visible with PET, since the PET are the dynamic images and CT is only avaible for 1 timepoint.
Please let me know, when we can look together on the CT presegmentations (file location).

@josefyu Basically it's what I had mentioned in update: 2, we have the datasets (CT + CT segmentation), we need to clean up the trachea before I warp the CTs to different PET frames (along with their segmentations). So the to-do list is the following:

  • @LalithShiyam creates a standardised folder structure optimised for the subsequent process

  • @josefyu: clears the trachea from the dataset, uploaded to MOOSE computer, I would be needing the names as usual (segment names renamed)

  • @LalithShiyam: will convert the corrected nrrd to nifti with the correct segmentation.

  • @LalithShiyam: will create a script to align the CT and its segmentation with the dynamic PET.

  • @josefyu: will check if the aligned segmentations are accurate (different task).

Folder structure implemented:

.
├── Sub001
│   ├── AC_LOWD_CT_WB_4_0_2_0_HD_FOV
│   ├── nifti
│   │   ├── CT           # CT image in nifti
│   │   ├── label        # Actual label in nifti after @josefyu correction
│   │   ├── label-NRRD   # Actual label in nrrd after @josefyu correction    
│   │   ├── paired-CT    # Multiple CT frames now in alignment with 3d PT 
│   │   ├── paired-label # Multiple label frames now in alignment with 3d PT
│   │   ├── paired-PT    # Individual 3d PT frames  
│   │   └── PT           # 4d PT frame
│   └── PET_WB_DYNAMIC_(QC)_0006
│       └── nifti
│           └── split3d
│               └── moco
├── Sub002
│   ├── AC_LOWD_CT_WB_4_0_2_0_HD_FOV
│   ├── nifti
│   │   ├── CT
│   │   ├── label
│   │   ├── label-NRRD
│   │   ├── paired-CT
│   │   ├── paired-label
│   │   ├── paired-PT
│   │   └── PT
│   └── PET_WB_DYNAMIC_(QC)_0006
│       └── nifti
│           └── split3d
│               └── moco

Script workflow align_ct_with_3dpet.py

  • Split 4d PT nifti file into 3d PT nifti files
  • Align (affine) the single CT file (moving) with each of the 3d PT files (fixed)
  • Use the transform files to apply them to the rectified label.

@josefyu Basically it's what I had mentioned in update: 2, we have the datasets (CT + CT segmentation), we need to clean up the trachea before I warp the CTs to different PET frames (along with their segmentations). So the to-do list is the following:

  • @LalithShiyam creates a standardised folder structure optimised for the subsequent process
  • @josefyu: clears the trachea from the dataset, uploaded to MOOSE PC, I would be needing the names as usual (segment names renamed)
  • @LalithShiyam: will convert the corrected nrrd to nifti with the correct segmentation.
  • @LalithShiyam: will create a script to align the CT and its segmentation with the dynamic PET.
  • @josefyu: will check if the aligned segmentations are accurate (different task).

https://filesender.aco.net/?s=download&token=ece76841-f41b-42b0-a533-5cb5627a0b76

Labels cleared from trachea, saved as .nrrd, segments renamed as anatomical namings.
note: some of the liver/kidneys segmentations are bad, tried to correct all errors.

Awesome, thank you @josefyu! The segmentations and the CT's are being aligned with the dynamic PET frames. We should have the results in a couple of hours! So I am closing this issue!