How to reconstruct the whole vertebrae using the reconstructed volume

Hello everyone,

I am currently involved in a project aiming to reconstruct the complete volume of vertebrae solely from ultrasound images, specifically focusing on the posterior aspect. Our approach involves utilizing Principal Component Analysis (PCA) with SlicerMorph to generate a shape model.

Our objective is to optimize the weights of the Principal Components (PCs) to align the reconstructed partial volume as closely as possible to the shape model derived from the ultrasound image. Ultimately, we aim to reconstruct the entire volume based on this optimized approach.

Despite our efforts, we are encountering challenges and uncertainties regarding the necessary steps to achieve this goal. At present, we have successfully generated the reconstructed ultrasound volume and obtained the output of the PCA.

I would greatly appreciate any insights, guidance, or suggestions on the next steps to take in this process. Additionally, if anyone has experience or knowledge in similar projects, your input would be invaluable.

Thank you for your time and assistance! :slight_smile:

This is the part I am not sure what you mean. The way it is implemented in SlicerMorph, PCA finds the major axes of variation. It has nothing to do with generating a shape model (you can use weights from PCA to create a 3D shape using a reference model. Is that what you are referring?)

Anyways, if you run GPA model, you can generate an “average” shape model, if you provide a reference model. These are all documented usage in our tutorials. Looking at your landmarks in your screenshot, I would stay you need to optimize their distribution and uniformness prior to running ALPACA. That may require smoothing and editing your reference model after segmentation. You can use ‘Surface Toolbox’ to do that (smoothing/decimation and possibly uniform remeshing).

As for the second part of your inquiry, using the mean vertebra to reconstruct partial vertebra from US, I am not sure how you can do it. It sort of depends how “partial” the US object is. Can you share a screenshot of a what “partial vertebra” from US looks like?

Thank you! I’ll optimize the landmark distribution. By a partial vertebra I’m refering to the model reconstruction of the ultrasound image, and it looks like this:

I’ve use the ALPACA module to reconstruct CT partial volumes (as shown in the next image) and it works, but when I do it with the U.S it seems to deform the Warp shape too much.

Can you please elaborate on steps you have done in ALPACA to achieve these two last screenshot? Specifically what you mean by “reconstruct CT Partial volume”. ALPACA is a module to transfer landmark from a reference model to a target model using point cloud registration. It is not clear to me what you are using it for.

The aim of my project is to determine if it’s possible to obtain the entire volume of vertebrae solely through ultrasound reconstruction. To achieve this, I’ve observed that ALPACA has the capability to deform a source model into a target model, thus creating the TPS Warped Source Model. This skill appears to be beneficial for my objective. I’ve conducted tests to ascertain the extent to which the source model can be deformed to accommodate partial volumes. To do so, I’ve manually cropped a CT vertebra and utilized it as the target model to assess if the Warp model adjusts accordingly. This test has proven successful. However, when I attempt the same procedure with ultrasound reconstruction, the Warp model loses its general shape.

TPS visualization on alpaca is not the best way to evaluate the outcome. That’s because those deformations rely on the transferred landmarks, and if there is any issue during the landmark transform (which is likely with your rough U/S model) the warp will not work smoothly.

If you have enabled projection during the ALPACA, disable it and see if it helps a bit.

The proper way to do is to use the FastModelAlign, which is very similar to ALPACA, but solely focused on registration of models. FastModelAlign does similarity and affine transforms, but the deformable registration phase is not implemented yet. Is this something you have time to work on with us?

Thank you, I’ve also tried different approaches, such as the one you mentioned about disabling the projection during ALPACA. Additionally, I’ve experimented with various landmarks, as shown in the picture. I’ve also attempted to utilize the Target Landmark Set option in ALPACA with my manual points. However, none of these methods seem to work properly.

I’ve also explored FastModelAlign, but it only works with cut volumes of the vertebrae. Unfortunately, the registered model appears too flat and distorted.

Finally, I do have the time to collaborate with you on the deformable registration phase. Please let me know what you need! :slight_smile: