You do NOT have to change the recon_test_pack.
buildblock/Scanner.cxx: - BUG corrected: ordered parameters correctly for Advance include/SegmentBySinogram.inl: - corrected BUG in get_max_tangential_pos_num() buildblock/SegmentBySinogram.cxx: - corrected BUG in grow() - enabled growing of axial_pos_num as well buildblock/SegmentByView.cxx: - enabled growing of axial_pos_num as well buildblock/Viewgram.cxx - enabled growing of axial_pos_num as well include/RelatedViewgrams.*, buildblock/RelatedViewgrams.cxx: - added operator*=(float) and /=, +=, -= - added grow() - added find_min(), find_max(), fill() - removed #if 0 #endif stuff include/Bin.* - added operator== include/ProjDataInfo*, buildblock/ProjDataInfo*.cxx: - in get_tantheta() et al, replaced 4 args segment_num,view_num,ax_pos_num, tang_pos_num with single argument of type const Bin& - new functions ProjDataInfo::get_sampling_in_s(Bin&), get_sampling_in_t(Bin&). - new functions set_max_axial_pos_num() and set_min_axial_pos_num() - more documentation - moved some stuff from ProjDataInfo.inl to .cxx - moved get_tantheta from ProjDataInfoCylindricalArcCorr to ProjDataInfoCylindrical, and corrected BUG (was only ok for non-spanned data) - moved ProjDataInfoCylindrical constructors to new file ProjDataInfoCylindrical.cxx include/DataSymmetriesForViewSegmentNumbers.* - removed proj_data_info arg from constructor, and the private member - removed SymmetryOperation stuff - BUG corrected in default implementation for DataSymmetriesForViewSegmentNumbers::find_basic_view_segment_numbers include/display.h, display/display_array.cxx: - added display(RelatedViewgrams...); include/stream.h: - BUG correction: handle case of 0 length appropriately now buildblock/VoxelsOnCartesianGrid.cxx: - use new conventions for get_s() buildblock/Makefile: - removed DataSymmetriesForViewSegmentNumbers_PET_CartesianGrid.cxx - added ProjDataInfoCylindrical.cxx include/DiscretisedDensity.h, buildblock/DiscretisedDensity.cxx: - changed the return type of DiscretisedDensity::read_from_file from a shared_ptr to an ordinary pointer. The reason for this change is that you cannot get rid of the shared_ptr otherwise (without the data actually being deleted). Ideally, it should return an auto_ptr though. include/recon_buildblock/BackProjectorByBinUsingInterpolation.h and recon_buildblock/BackProjectorByBinUsingInterpolation.cxx: - use less include files in .h (decreases dependency) - moved implementation of JacobianForIntBP constructor to .cxx - changed type of symmetries_ptr private member include/recon_buildblock/ForwardProjectorByBinUsingRayTracing.h and recon_buildblock/ForwardProjectorByBinUsingRayTracing.cxx - use less include files in .h (decreases dependency) - changed type of symmetries_ptr private member include/recon_buildblock/SymmetryOperation.h - moved from buildblock - added ProjMatrixElemsForOneBin stuff - more doc include/recon_buildblock/SymmetryOperations_PET_CartesianGrid.h, .inl - moved from buildblock - added ProjMatrixElemsForOneBin stuff - more doc recon_buildblock/Makefile: added DataSymmetriesForBins.cxx \ DataSymmetriesForBins_PET_CartesianGrid.cxx \ SymmetryOperation.cxx \ SymmetryOperations_PET_CartesianGrid.cxx \ ProjMatrixElemsForOneBin.cxx \ ProjMatrixByBin.cxx \ ProjMatrixByBinUsingRayTracing.cxx \ ForwardProjectorByBinUsingProjMatrixByBin.cxx \ BackProjectorByBinUsingProjMatrixByBin.cxx \ RayTraceVoxelsOnCartesianGrid.cxx test/test_proj_data_info.cxx: - used new convention for ProjDataInfo::get_s() et al utilities/manip_image.cxx: - added option for maximum on colour scale for display() utilities/extract_segments.cxx: - adjusted comments and include files utilities/convecat6_if.cxx: - added support for attenuation files utilities/cti_utils.cxx: - added support for attenuation files - added support for data types different from 16 bit ints. - added a bit more diagonistics for file IO errors include/CTI/cti_utils.h: - added cti_read_attn_subheader, get_attnheaders - changed behaviour of get_scandata to allow different data types - added file_data_to_host() utilities/Tomo_cti.cxx: - corrected 'fall through' bug in a switch statement (find_scanner_from_mainheader) - corrected BUG in allocation for cti data - in ECAT6_to_VoxelsOnCartesianGrid( use cti_lookup to avoid mainheader.dmp) - added support for attenuation files - added support for data types different from 16 bit ints. include/Tomo_cti.h: - removed read_sinogram (made static in .cxx file) utilities/ifheaders_for_ecat7.cxx: - corrected BUG by swapping segment order - added support for attenuation sinograms - check all 'matrices' in file instead of stopping at the first missing 'matrix' (useful if you have only frame 13 in the file). - changed output filenames to include the original extension to prevent conflicts with .S and .A files. e.g. "ifheaders_for_ecat7 bla.S" will result in files bla_S_f1g1b0d0.hs etc.