physics.py¶

Source: LION/reconstructors/diffusion/padis/physics.py

Measurement-domain transformations for the PaDIS reconstructor.

class LION.reconstructors.diffusion.padis.physics.PaDISPhysics[source]¶

Bases: object

Implement measurement transforms and data-consistency gradients.

forward_project(x)[source]¶

Project a normalized model-domain image into measurement space.

Parameters:

x (Tensor)

Return type:

Tensor

adjoint_project(y)[source]¶

Apply the measurement adjoint in normalized model-domain units.

Parameters:

y (Tensor)

Return type:

Tensor

operator_norm(params, device)[source]¶

Return or estimate the measurement operator norm.

Parameters:

device (device)

Return type:

float

data_consistency_normalizer(params, device)[source]¶

Return the selected measurement-gradient normalization factor.

Parameters:

device (device)

Return type:

float

normalise_data_gradient(gradient, params, sigma=None)[source]¶

Normalize and schedule a raw measurement gradient.

Parameters:
  • gradient (Tensor)

  • sigma (Tensor | None)

Return type:

tuple[Tensor, float, float]

scheduled_data_consistency_scale(params, sigma, device, *, base_override=None)[source]¶

Evaluate the configured DPS data-consistency scale schedule.

Parameters:
  • sigma (Tensor | None)

  • device (device)

  • base_override (float | None)

Return type:

float

scheduled_adjoint_data_consistency_scale(params, sigma, device)[source]¶

Evaluate the adjoint-specific data-consistency scale schedule.

Parameters:
  • sigma (Tensor | None)

  • device (device)

Return type:

float

measurement_gradient(measurement, x, x0hat, params)[source]¶

Return only the normalized DPS measurement gradient.

Parameters:
  • measurement (Tensor)

  • x (Tensor)

  • x0hat (Tensor)

Return type:

Tensor

dps_data_gradient(measurement, x, x0hat, params, sigma)[source]¶

Compute the DPS residual, raw gradient, and scheduled update terms.

Parameters:
  • measurement (Tensor)

  • x (Tensor)

  • x0hat (Tensor)

  • sigma (Tensor | None)

Return type:

tuple[Tensor, Tensor, Tensor, float, float, float]