sinusoidal_trajectory_2d_parallel#
- diffct.geometry.sinusoidal_trajectory_2d_parallel(n_views, amplitude=50.0, frequency=2.0, start_angle=0.0, device='cuda', dtype=torch.float32)[source]#
Generate sinusoidal trajectory geometry for 2D parallel-beam CT.
Creates a trajectory where the detector follows a sinusoidal path while maintaining parallel rays.
- Parameters:
n_views (int) – Number of projection views.
amplitude (float, optional) – Amplitude of sinusoidal detector displacement (default: 50.0).
frequency (float, optional) – Number of oscillation cycles per rotation (default: 2.0).
start_angle (float, optional) – Starting angle in radians (default: 0.0).
device (str or torch.device, optional) – Device for tensors (default: ‘cuda’).
dtype (torch.dtype, optional) – Data type for tensors (default: torch.float32).
- Returns:
ray_dir (torch.Tensor) – Ray direction unit vectors for each view, shape (n_views, 2).
det_origin (torch.Tensor) – Detector origin positions for each view, shape (n_views, 2).
det_u_vec (torch.Tensor) – Detector u-direction unit vectors for each view, shape (n_views, 2).
Examples
>>> ray_dir, det_origin, det_u_vec = sinusoidal_trajectory_2d_parallel( ... n_views=180, amplitude=100.0, frequency=3.0 ... )