PaDIS.py¶
Source: LION/reconstructors/diffusion/PaDIS.py
PaDIS diffusion-prior reconstructors.
- class LION.reconstructors.diffusion.PaDIS.PaDIS(physics, model, parameters=None, algorithm='dps_langevin')[source]¶
Bases:
PaDISCitations,PaDISParameters,PaDISPrior,PaDISPhysics,PaDISSampling,PaDISGeneration,AdjointDataConsistency,DPSLangevin,PredictorCorrector,AnnealedLangevin,LIONReconstructorPatch-aware diffusion inverse solver for CT reconstruction.
The sampler follows the PaDIS reference implementation: a whole-image score is assembled from position-aware denoised patches, then combined with either DPS measurement conditioning or Langevin dynamics with adjoint data steps.
- Parameters:
- reconstruct_sample(sino, *, algorithm=None, prog_bar=False, generator=None, **kwargs)[source]¶
Reconstruct one image from a channel-first sinogram.
- Parameters:
sino (torch.Tensor) – Measurement tensor with shape
(channels, angles, detector).algorithm ({"dps_langevin", "dps", "langevin", "pc"}, optional) – Per-call algorithm override.
prog_bar (bool, optional) – Display outer sampler progress.
generator (torch.Generator, optional) – Random generator controlling initialisation, patch offsets, and stochastic sampler updates.
**kwargs – Temporary overrides of sampler parameters.
- Returns:
Reconstructed image in normalised-intensity units.
- Return type:
torch.Tensor
- generate_samples(*, num_samples=1, image_shape=None, prog_bar=False, generator=None, **kwargs)[source]¶
Sample images from the PaDIS prior without measurement conditioning.
- Parameters:
num_samples (int)
image_shape (tuple[int, int, int] | None)
prog_bar (bool)
generator (Generator | None)
- Return type:
Tensor
- generate_naive_patch_samples(*, num_samples=1, image_shape=None, prog_bar=False, generator=None, **kwargs)[source]¶
Sample patches independently and stitch one partition into each image.
- Parameters:
num_samples (int)
image_shape (tuple[int, int, int] | None)
prog_bar (bool)
generator (Generator | None)
- Return type:
Tensor
- initial_reconstruction(measurement, params)[source]¶
Construct the configured unpadded sampler initialization.
- Parameters:
measurement (Tensor)
- Return type:
Tensor
- pseudoinverse_reconstruction(measurement, params, *, clip=None)[source]¶
Compute the pseudoinverse image used by DDNM corrections.
- Parameters:
measurement (Tensor)
clip (bool | None)
- Return type:
Tensor
- initial_padded_state(measurement, params, generator)[source]¶
Construct the configured padded initial sampler state.
- Parameters:
measurement (Tensor)
generator (Generator | None)
- Return type:
Tensor