ToReferenceSpace
Bases: SpatialTransform
Set the spatial metadata of an image to match a reference space.
This is useful for assigning meaningful spatial metadata to a tensor that has lost it, such as a neural network embedding or a downsampled feature map. The data is left unchanged; only the affine is updated so that the (possibly lower-resolution) grid covers the same field of view, orientation, and physical center as the reference image.
A typical use case is visualizing or resampling the output of a network whose spatial resolution differs from its input:
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
reference
|
Image
|
Full-resolution reference image whose field of view and orientation will be matched. |
required |
**kwargs
|
Any
|
See |
{}
|
Examples:
>>> import torch
>>> import torchio as tio
>>> reference = tio.ScalarImage(tensor=torch.rand(1, 64, 64, 64))
>>> # A network embedding loses spatial metadata:
>>> embedding = torch.rand(8, 16, 16, 16)
>>> image = tio.ToReferenceSpace.from_tensor(embedding, reference)
>>> image.spatial_shape
(16, 16, 16)
Source code in src/torchio/transforms/spatial/to_reference_space.py
supports_per_instance_params
property
Whether this transform can sample parameters per batch element.
Defaults to False. Transforms that implement per-instance
parameter sampling override this to return True. When False,
the transform always uses batch-shared parameters regardless of
the per_instance flag, preserving the legacy behavior.
supports_per_instance_p
property
Whether this transform can gate each batch element independently.
Defaults to False. Shape-preserving transforms that implement
per-element probability override this to return True.
Shape-changing transforms must leave it False because masked
and unmasked elements would have incompatible shapes.
invertible
property
Whether this transform can be inverted.
forward(data)
Apply the transform.
The output type always matches the input type.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
Any
|
Input data to transform. |
required |
Source code in src/torchio/transforms/transform.py
inverse(params)
Return a transform that undoes this one.
Override in invertible subclasses. The returned transform, when applied, reverses the effect of the forward pass with the given parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
params
|
dict[str, Any]
|
The parameters recorded in the forward pass. |
required |
Returns:
| Type | Description |
|---|---|
Transform
|
A new |
Source code in src/torchio/transforms/transform.py
to_hydra()
Export as a Hydra-compatible config dict.
Returns a dict with _target_ set to the fully qualified
class name and only non-default field values included.
Returns:
| Type | Description |
|---|---|
dict[str, Any]
|
Dict suitable for |
Source code in src/torchio/transforms/transform.py
make_params(batch)
apply_transform(batch, params)
Replace each image's affine with the reference-space affine.
Source code in src/torchio/transforms/spatial/to_reference_space.py
from_tensor(tensor, reference)
staticmethod
Build a TorchIO image from a tensor and a reference image.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tensor
|
Tensor
|
A |
required |
reference
|
Image
|
Reference image whose field of view and orientation will be matched. |
required |
Returns:
| Type | Description |
|---|---|
Image
|
A new image with tensor as data and a reference-space |
Image
|
affine. The image class matches that of reference. |