Currently, a SpatialTransform is a coordinate mapping of normalized coordinates with respect to the reference sampling Grid specified when constructing the spatial transformation object. A user of the transform has to map coordinates with respect to other Axes to these normalized coordinates before applying the transformation, and back again. In contexts where no normalized coordinates are used to represent the spatial transformation because torch.nn.functional.grid_sample is not being utilized, one might even want to parameterize the spatial transformation with respect to other coordinate systems (e.g., the world coordinate system). These use cases could be supported by adding a axes: Axes property and optionally a corresponding keyword argument to SpatialTranform.forward(.., axes: Optional[Axes] = None) which can be used to define the parameterization axes of the coordinate map and further to specify with respect to which axes the input points are defined.
Thanks @qiuhuaqi for this suggestion. Let's discuss here benefits or any reason why we wouldn't support this.
Currently, a
SpatialTransformis a coordinate mapping of normalized coordinates with respect to the reference samplingGridspecified when constructing the spatial transformation object. A user of the transform has to map coordinates with respect to otherAxesto these normalized coordinates before applying the transformation, and back again. In contexts where no normalized coordinates are used to represent the spatial transformation becausetorch.nn.functional.grid_sampleis not being utilized, one might even want to parameterize the spatial transformation with respect to other coordinate systems (e.g., the world coordinate system). These use cases could be supported by adding aaxes: Axesproperty and optionally a corresponding keyword argument toSpatialTranform.forward(.., axes: Optional[Axes] = None)which can be used to define the parameterization axes of the coordinate map and further to specify with respect to which axes the input points are defined.Thanks @qiuhuaqi for this suggestion. Let's discuss here benefits or any reason why we wouldn't support this.