CBT_project/ │ ├── notebooks/ │ └── experiment.ipynb │ ├── core/ │ ├── cylinder.py │ │ ├── create_coordinate_grid │ │ ├── snap_to_discrete_values │ │ ├── generate_cylinder_n_torch │ │ ├── generate_cylinder_o_torch │ │ └── generate_cylinder_numpy │ │ │ ├── intersection.py │ │ ├── bresenham3d │ │ └── center_line_intersections_torch │ │ │ ├── scoring.py │ │ ├── cl_score_torch │ │ ├── get_overlap_ratio │ │ └── compute_overlap_ratio_from_cylinder_mask │ │ │ ├── objective.py │ │ ├── cylinder_circle_line_intersection_loss_deductions_torch │ │ └── objective_function │ │ │ └── optimizer.py │ └── run_pso_torch │ ├── imaging/ │ ├── nifti_io.py │ ├── preprocessing.py │ └── orientation.py │ ├── visualization/ │ ├── plot_cylinder.py │ └── plot_overlay.py │ ├── utils/ │ └── helpers.py │ ├── config/ │ ├── constants.py │ └── device.py │ ├── run_optimization.py │ └── __init__.py