Project-MONAI / model-zoo

MONAI Model Zoo that hosts models in the MONAI Bundle format.
Apache License 2.0
182 stars 68 forks source link

Refactor valve_landmarks bundle using `ApplyTransformToPoints` #644

Open KumoLiu opened 1 week ago

KumoLiu commented 1 week ago

Refactor valve_landmarks bundle using ApplyTransformToPoints API to transform landmarks.

https://github.com/Project-MONAI/model-zoo/tree/dev/models/valve_landmarks

https://github.com/Project-MONAI/MONAI/blob/dev/monai/transforms/utility/array.py#L1729

KumoLiu commented 1 week ago

Hi @ericspod, could you please help take a look at this bundle whether compatible with the new API ApplyTransformToPoints we introduced in the core? Perhaps you can also include this example in your geometric pre in MONAI Day?

ericspod commented 1 week ago

I think it would be a large amount of re-engineering to use the current API as it is. The way this bundle worked was to represent landmarks as labeled pixels in 2D images, these would be augmented in ways which didn't modify or delete these pixels such that they could be converted into 2D coordinates at the end of the transform sequence. Landmarks are all in image space as a result, and the images themselves have no spatial information as stored in the dataset.

What I had felt was important about this bundle was that it used transforms to do random deformation of the image and had to do some manipulation of the landmark data to maintain the correspondence between original image and landmark image. This and other transforms would be better implemented with proper augmentation transforms that we will implement for dealing with geometric data, however we don't have those yet so I don't feel modifying this bundle is worthwhile currently. Once we do the plan would be to change this bundle to store landmarks as 2D coordinates instead, use augmentations to manipulate image and point data together, and store results in either image or world space coordinates.