ptyrad.io.dataloader#
Custom DataLoader class to load batched measurements either from GPU device memory or host RAM.
Classes
|
The Dataset class used specifically for the multiGPU mode for DDP |
|
Data loader for PtyRAD experimental measurements with on-the-fly processing. |
- class ptyrad.io.dataloader.MeasDataLoader(meas_arr, preload_data=True, device='cuda', dtype=torch.float32, meas_padded=None, meas_padded_idx=None, meas_scale_factors=None)[source]#
Bases:
objectData loader for PtyRAD experimental measurements with on-the-fly processing.
Handles indexed slicing of experimental pattern arrays with flexible device placement (CPU/GPU), on-demand or pre-loaded options, and optional on-the-fly padding/resampling.
- Parameters:
meas_arr (ndarray) – np.ndarray of experimental diffraction patterns [N, H, W]
preload_data (bool) – If True, load all data into device memory at initialization. If False, load on-demand per access. Default: True
device (str | device) – torch.device or str (‘cpu’, ‘cuda’, etc.). Default: ‘cuda’
dtype (dtype) – torch data type for output tensors. Default: torch.float32
meas_padded (ndarray | None) – Optional np.ndarray for on-the-fly padding. Padded pattern template.
meas_padded_idx (tuple | None) – Optional tuple (pad_h1, pad_h2, pad_w1, pad_w2) for padding regions.
meas_scale_factors (tuple | None) – Optional tuple (scale_h, scale_w) for on-the-fly resampling.