Axial 2D View pixel resolution

Provides a system for patient-specific cardiovascular modeling and simulation.
POST REPLY
User avatar
Rudolf Hellmuth
Posts: 19
Joined: Mon Jul 25, 2016 7:32 am

Axial 2D View pixel resolution

Post by Rudolf Hellmuth » Fri Dec 01, 2017 3:44 am

Hi,

How is the image resolution (pixel size) of the Axial 2D View along the pathline calculated? I have noticed that in some of my CT scans the resolution is very good (small pixels) compared to others (big pixels). When I say big or small pixels, I am comparing their size with the vessel diameter. I am segmenting the same patient at different positions. I understand that the Axial 2D View is a plane interpolation of the 3D scan, and that the resolution in the patient axial plane (x-y) is different than in the the patient axial direction (z). If I am wrong, could you explain me how that Axial 2D View along the pathline is produced?

Best regards,
Rudolf

User avatar
Rudolf Hellmuth
Posts: 19
Joined: Mon Jul 25, 2016 7:32 am

Re: Axial 2D View pixel resolution

Post by Rudolf Hellmuth » Tue Dec 05, 2017 4:10 am

Hi,

I'd like to add a picture to illustrate my question. The three columns are CT scans of the same phantom at different angles to the axial direction. The image resolution is not the same. The left image shows the phantom in the axial direction (0 deg), and spatial resolution 0.97x0.97x0.5. The other two images show two samples the same phantom at about 90 deg to the axial direction, and resolution 1.05x1.05x0.625. Although the original voxel resolution are very close, when it comes to the 2-D axial slice along the pathline, the pixels of the 90 deg images look about 35% bigger than the 0 deg images.
2DAxialComparison.png
2DAxialComparison.png (146 KiB) Viewed 575 times
How does that happen?

Cheers,
Rudolf

User avatar
Gabriel Maher
Posts: 32
Joined: Tue Feb 09, 2016 9:17 am

Re: Axial 2D View pixel resolution

Post by Gabriel Maher » Tue Dec 05, 2017 2:11 pm

Hi Rudolf,

Thank you for asking this question. The view along the pathline is not an axial view, but is a view in the plane perpendicular to the pathline, where pixel intensitities are interpolated from the image volume. The fact that the window label says axial is just because that is normally where the axial view is shown, but it has nothing to do with the pathline view.

SimVascular is configured to take a fixed size window perpendicular to the path line, where the size is specified in centimeters. Therefore the resolution of the pathline view window will depend on the pixel size in the plane perpendicular to the pathline, as with larger pixels fewer pixels will fit in the size specified by the window size. In your case the images on the left are oriented along the direction with small pixel sizes, so the resolution is good. For the other images they are oriented along the direction with large pixels sizes making the resolution look worse.

Best,

Gabriel

User avatar
Rudolf Hellmuth
Posts: 19
Joined: Mon Jul 25, 2016 7:32 am

Re: Axial 2D View pixel resolution

Post by Rudolf Hellmuth » Wed Dec 06, 2017 2:15 am

Hi Gabriel,

Thanks for replying. I used the term 2D Axial because it's how it is called on the manual/tutorial. I prefer calling it the plane perpendicular to the pathline too.

My question was about how SimVascular decides what pixel size to use in the perpendicular plane, since it can be at an infinite number of angles between the Cartesian axes. Does it take any sort of resolution averaging? Does it take the resolution of the couple of axes nearest to that plane? In my case, the Cartesian voxel resolution is very close for both images, but the difference of the perpendicular plane resolution looks much larger.

Thanks,
Rudolf

User avatar
Gabriel Maher
Posts: 32
Joined: Tue Feb 09, 2016 9:17 am

Re: Axial 2D View pixel resolution

Post by Gabriel Maher » Thu Dec 07, 2017 2:56 pm

Indeed, the voxel spacings are similar, but for the right two images the plane is oriented 90 degrees to the axial direction, which explains why they have a coarser resolution.

To make a fair comparison you need to make sure the plane is oriented the same way.

As for how the spacing of the plane is calculated, it directly depends on the image resolution. The size is used to convert the vectors of the plane to their dimensions in number of pixels, from there the spacing can be calculated by dividing the size of the plane, in real units, by the length of each of the plane vectors, in pixel length. See https://github.com/SimVascular/SimVascu ... s.cxx#L211 for more details.

Best,

Gabriel

User avatar
Rudolf Hellmuth
Posts: 19
Joined: Mon Jul 25, 2016 7:32 am

Re: Axial 2D View pixel resolution

Post by Rudolf Hellmuth » Wed Dec 13, 2017 4:43 am

Hi Gabriel,

Thanks for pointing me to the code function. I might have understood what the software is doing, but I am not completely certain of that. I would appreciate if you could confirm whether I have really understood it.

There is a 3D vector representing the pixel resolution (spacing) of the 3D image. To get the resolution on the interpolated plane, this spacing vector is projected onto the plane-coordinate vectors u and v (newspacing[0] = dot(spacing, u), newspacing[1] = dot(spacing, v)). However, the picture of this projected plane has the same resolution on both u and v directions related to the variable double size (plane size). Therefore, the square pixels that we see in the 2D plane are in fact anisotropic in the 3D space. Right? If that's correct, then the spline in the 2D plane is stretched when transformed to the 3D space.

Cheers,
Rudolf

POST REPLY