STIR icon indicating copy to clipboard operation
STIR copied to clipboard

remove obsolete functions in ProjDataInfoCylindrical and ProjDataInfoCylindricalNoArcCorr

Open KrisThielemans opened this issue 8 years ago • 1 comments

There's overlap between old and new (safer) functions. We should get rid of the old ones. Let's try to document here what needs to be done.

Functions that handle only rings or only tang_pos/view (these should become either private or protected)

  • [ ] get_det_num_pair_for_view_tangential_pos_num (replace with get_det_pos_pair_for_bin). Used in a few places including ProjMatrixByBinUsingRayTracing and some normalisation code.

  • [ ] get_view_tangential_pos_num_for_det_num_pair (make private). Used in

    • get_bin_for_det_pair
  • [ ] get_segment_axial_pos_num_for_ring_pair (make private?)

    • CListEventCylindricalScannerWithViewTangRingRingEncoding (used there to save some computation)
    • get_bin_for_det_pair
  • [ ] get_num_ring_pairs_for_segment_axial_pos_num (use get_num_det_pos_pairs_for_bin). Used in

    • LmToProjData::get_compression_count
    • get_num_det_pos_pairs_for_bin
  • [ ] get_ring_pair_for_segment_axial_pos_num (make protected). Used in

    • get_det_pair_for_bin
  • [ ] get_all_ring_pairs_for_segment_axial_pos_num (make protected). Used in

    • get_all_det_pos_pairs_for_bin

Functions that use 4 coordinates (these should be removed)

  • [X] get_bin_for_det_pair (replace with get_bin_for_det_pos_pair). Made private in https://github.com/NikEfth/STIR/pull/63 and hence https://github.com/UCL/STIR/pull/304

  • [ ] find_bin_given_cartesian_coordinates_of_detection (replace with get_bin(LOR&)). Used in

    • src/utilities/list_detector_and_bin_info.cxx (but in comment)
    • https://github.com/UCL/STIR/blob/a2e5c0d7e314207f8bbe46da89ccc00642859514/src/local/motion/RigidObject3DTransformation.cxx#L288
  • [ ] find_scanner_coordinates_given_cartesian_coordinates (replace with get_LOR or get_LOR_as_2_points). Used in

    • find_bin_given_cartesian_coordinates_of_detection
  • [ ] get_det_pair_for_bin (replace with get_det_pos_pair_for_bin). Used in

    • find_cartesian_coordinates_of_detection
    • get_det_pos_pair_for_bin
    • construct_randoms_from_singles.cxx
    • MLnorm.cxx
  • [ ] find_cartesian_coordinates_of_detection (replace with get_LOR or get_LOR_as_2_points). Used in

    • ScatterEstimationByBin::find_detectors
  • [ ] find_cartesian_coordinates_given_scanner_coordinates_of_the_front_surface. This is not used.

  • [ ] find_cartesian_coordinates_given_scanner_coordinates (replace with get_LOR or get_LOR_as_2_points). Used in

    • CListEventCylindricalScannerWithDiscreteDetectors::get_LOR
    • find_cartesian_coordinates_of_detection

Of course, many of these are also used in test_proj_data_info.cxx

KrisThielemans avatar Sep 11 '17 23:09 KrisThielemans

find_bin_given_cartesian_coordinates_of_detection (replace with get_bin(LOR&)). Used in

#618 Renames to get_bin_for_gantry_coordinate_pair. Should this still be replaced?

find_scanner_coordinates_given_cartesian_coordinates (replace with get_LOR or get_LOR_as_2_points). Used in

#618 Renames to get_det_pair_for_gantry_coordinate_pair. Should this still be replaced?

find_cartesian_coordinates_of_detection (replace with get_LOR or get_LOR_as_2_points). Used in

#618 renames to get_bin_detector_locations_in_gantry_coordinates. Should this still be replaced?

find_cartesian_coordinates_given_scanner_coordinates (replace with get_LOR or get_LOR_as_2_points). Used in

#618 renames to get_det_pair_locations_in_gantry_coordinates. Should this still be replaced?

ashgillman avatar Jan 05 '21 03:01 ashgillman