Combine two cone-beam CT images

Hi Developers,

I think this is a new specific case problem, which is why I created another thread.

I have an object of size about less than 5 mm that I scanned with our linac-integrated cone-beam CT with image acquisition parameter of 0.5 mm in axial resolution and 1 mm in slice thickness resolution. In axial dimension, the resolution suffices. but in slice thickness direction, we observe partial volume effect. One possible solution that we came up with could be shifting the object, may be 0.5 mm direction either way and then scan it once again. So we are left with two cone-beam CT images, I was wondering if there is slicer functionality that can some how interweave those two CBCT images such that we have effective slice thickness resolution of about 0.5 mm? So overall resolution of the scan would 0.5 by 0.5 by 0.5 mm.

Looking forward to hearing from you!

If you can carefully control the 0.5mm translation without tilting the specimen then this might work, otherwise it might just add noise or blur. You might just add the two volumes together and get a reasonable result. Or you could write a short script to interleave the two acquisitions into a single volume.

Thank you very much for your comment, yes the translational capability on the machines we are using is fairly accurate. I’d like to ask a couple of follow-up questions though.

1.) Add two volumes together? is there a slicer functionality that does this easily? If so what modules am I looking for?

2.) If option 1 doesn’t yield a good result, I would perhaps go for option two. in regards to what coding language or library would you suggest for me to look more into this?

Thank you for your swift response.

I meant you could try the Add Scalar Volume. Since these are cone beam the units probably aren’t calibrated so this would be basically the same as averaging the two.

You would need to write a small python script. You could ask an AI for details, something like this: https://g.co/bard/share/8a3fd1068580

Note that some steps could be refined, but this looks pretty close.

Hi! Thank you for this, I was just trying a simple example, which generated the following error, I reinstalled the latest and stable version, both generated the same error.

Traceback (most recent call last):
File “”, line 1, in
AttributeError: module ‘slicer.util’ has no attribute ‘getIData’

Is there a way to fix this?

I just tried adding two volumes method based on two slight different CT images, unfortunately it adds two adjacent slices up using that method, so thats no good.