How to implement PET-CT Fusion in DicomObjects
Implementing PET-CT fusion using DicomObjects is very straightforward. And the output is a generic DICOM 3D image so you can perform other standard operations such as Rotate and Translate.
DicomObjects.NET
// load all CT and PET images from disk
DicomImageCollection imgsCT = LoadImages(@"3D Images\CT PET\ct");
DicomImageCollection imgsPET = LoadImages(@"3D Images\CT PET\pt");
DicomVolume volumeCT = new DicomVolume(imgsCT);
DicomVolume volumePET = new DicomVolume(imgsPET);
var ctMPR = new DicomImage3D(volumeCT, RenderMode3D.MPR);
var petMPR = new DicomImage3D(volumePET, RenderMode3D.MPR)
{
ColourTable = ColourPalettes.HotMetalBlue // set the Colour Palette
};
DicomImageFusion fusion = new DicomImageFusion(ctMPR);
fusion.ImageCollection.Add(ctMPR);
fusion.ImageCollection.Add(petMPR);
Viewer.Images.Add(fusion);
DicomObjects.COM
' load images into imgsPET & imgsCT
Dim imgsCT As New DicomImages
Set imgsCT = LoadImages("3D Images\CT PET\ct")
Dim imgsPET As New DicomImages
Set imgsPET = LoadImages("3D Images\CT PET\pt")
Dim volumeCT As DicomVolume
Dim volumePET As DicomVolume
Dim MPR_CT As DicomImage
Dim MPR_PET As DicomImage
Set volumeCT = imgsCT.MakeVolume(1)
Set volumePET = imgsPET.MakeVolume(1)
Set MPR_CT = volumeCT.Make3D(doMPR)
Set MPR_PET = volumePET.Make3D(doMPR)
MPR_CT.Projection.SetViewPlane doPlaneCoronal, True, 1
MPR_PET.Projection.SetViewPlane doPlaneCoronal, True, 1
Dim fusionCollection As New DicomImages
fusionCollection.Add MPR_CT
fusionCollection.Add MPR_PET
MPR_PET.ColourTable = g.Palette("HotMetalBlue") ' set colour Palette for PET
Dim fusion As DicomImage
Set fusion = fusionCollection.MakeFusion
Viewer.Images.Add fusion
Sample PET-CT Data
You can download the sample DICOM PET CT data from here.
The result should look like this: