How to fuse SPECT and CT images having different matrix sizes?

2 ビュー (過去 30 日間)
blues 2019 年 9 月 18 日
コメント済み: Johannes Fischer 2019 年 9 月 18 日
I want to fuse the SPECT: 128*128*102 (slice thickness: 3.8954 mm) dimension matrix with CT: 512*512*263 (slice thickness: 3 mm) dimension matrix.Their number of frames and slicethickness are different. How can I fuse those images in matlab?
Any help would be highly appreciated.

回答 (1 件)

Johannes Fischer
Johannes Fischer 2019 年 9 月 18 日
編集済み: Johannes Fischer 2019 年 9 月 18 日
You can import the data using dicomreadVolume (
There is an introduction on how to register 2D multimodal image data using imregister ( imregister also works with 3D volumes so you would probably need to adapt the code a little bit.
You might also be able to use the spatial information that you get from dicomreadVolume
[V, spatial] = dicomreadVolume(source)
and use interp3 to interpolate the data from the SPECT image onto the grid of the CT data. However the second approach only works if both images are taken in the same coordinate system and your patient/object did not move between the exams.
  2 件のコメント
blues 2019 年 9 月 18 日
Is that second approach is similar as: upsample SPECT (by factor of 2 or 4) and downsample CT (by factor of 2 or keep intact) images and overlaid them; some sort of interpolation is needed here. Is it necessary to match the third dimension i.e. number of slices or frames, I am bit confusing here? I assume that slice spacing are different due to the limitaion in spatial resolution.
Johannes Fischer
Johannes Fischer 2019 年 9 月 18 日
No, because resizing the SPECT image to the size of the CT image, does not mean, that the data at (1,1,1) in both images represents the same location in space.
If you are only interested in visualizing the fused data, try this contribution of the file exchange ( Im not sure whether this function also allows the ouput of both images in a matrices of the same size.



Help Center および File ExchangeGeometric Transformation and Image Registration についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by