Skip to content

Conversation

@ashgillman
Copy link
Owner

Test merge of UCL#304 using UCL#724

Code from the old work transfered.
image and I am working to be able to apply the normalisation factors.

I had problems with the RelatedBins class, therefore I created several
fucntion which take as input a vector<Bin> and a DataSymmetriesFromBin,
which essentially is the same thing ( at least for this application).
… normalisation

Currently I am using only the new bin-wise normalisation. 
After the tests run I will try the old viewgram-wise method. 
And report the results.
But I would like to remove the bin-wise functions.
My tests showed that the results are not exactly the same as in the
viewgram-wise calculations. So I retreat it for now.
[x]. Crash when segment of measured bin was larger than the max segment in par file. FIXED 
[x]. Zero stored counts if either total_number_of_events or time_frames were not specified.
[x]. ProjDataFromStream: Only get_bin_value(Bin) left. 
[x]. ProjData.h get_bin_value was removed
[x]. ProjDataGEAdvance.h get_bin_value() was removed
[x]. CListModeDataECAT8_32.h reverted. 
[x]. ProjMatrixByBinSPECTUB reverted. 
[x]. ProjData.cxx : get_related_bin_values commented out
[x].
The test script computes a background sinogram. 
The lm-objective function checks if the additive projdata are compatible.
I added fake normalisation and additive components. 
In addition, In the run_root_GATE test I changed a bit the way the script detects GATE support, after some complains by users. I hope that is better now. 

I cleaned up the code in the ProjData FromStream but didn't edit the way get_offsets_bin() works because I see no improvement if it depend or other offset function, or if another offset function depends on that. 

FInally, I uncomment the use of get_bin_value() in the ProjDataInMemory.
Found that the last fi was commented and the test was failling.
Trying to narrow the error from Travis.
The lm objective function takes the pro_data_info from CListModeData. 

New keywords for CListrModeROOT to set the sizes of the proj_data_info. 

Better tests on ranges.
After some more complains about the grep in the run_root_GATE.sh, I changed to an awk.
Use of backquotes in the test script. 
Other minor imrpovements.
NikEfth and others added 26 commits December 17, 2020 20:29
The branch compiles with additional ROOT functionality. 
However, I have not tested anything and I have 2 commented-out commands.

Conflicts:
	recon_test_pack/run_test_simulate_and_recon.sh
	src/IO/GEHDF5Wrapper.cxx
	src/IO/InputStreamFromROOTFile.cxx
	src/IO/InterfileHeader.cxx
	src/IO/InterfilePDFSHeaderSPECT.cxx
	src/IO/interfile.cxx
	src/buildblock/ML_norm.cxx
	src/buildblock/ProjData.cxx
	src/buildblock/ProjDataFromStream.cxx
	src/buildblock/ProjDataInMemory.cxx
	src/buildblock/SSRB.cxx
	src/buildblock/Scanner.cxx
	src/buildblock/SegmentBySinogram.cxx
	src/buildblock/SegmentByView.cxx
	src/include/stir/IO/InputStreamFromROOTFile.h
	src/include/stir/ProjData.h
	src/include/stir/ProjDataFromStream.h
	src/include/stir/Scanner.h
	src/include/stir/Segment.h
	src/include/stir/Segment.inl
	src/include/stir/SegmentBySinogram.h
	src/include/stir/SegmentBySinogram.inl
	src/include/stir/SegmentByView.h
	src/include/stir/SegmentByView.inl
	src/include/stir/Sinogram.h
	src/include/stir/Sinogram.inl
	src/include/stir/Viewgram.h
	src/include/stir/Viewgram.inl
	src/include/stir/listmode/CListEventCylindricalScannerWithDiscreteDetectors.h
	src/include/stir/listmode/CListRecordGEHDF5.h
	src/include/stir/listmode/CListRecordGESigna.h
	src/include/stir/recon_buildblock/ProjMatrixByBinUsingRayTracing.h
	src/listmode_buildblock/CListModeDataGEHDF5.cxx
	src/listmode_buildblock/CListModeDataGESigna.cxx
	src/listmode_buildblock/CListRecordECAT8_32bit.cxx
	src/listmode_buildblock/LmToProjData.cxx
	src/recon_buildblock/BinNormalisationFromGEHDF5.cxx
	src/recon_buildblock/ForwardProjectorByBinUsingRayTracing.cxx
	src/recon_buildblock/PoissonLogLikelihoodWithLinearModelForMeanAndProjData.cxx
	src/recon_buildblock/ProjMatrixByBinUsingRayTracing.cxx
	src/swig/stir.i
	src/test/test_proj_data_in_memory.cxx
	src/utilities/calculate_attenuation_coefficients.cxx
	src/utilities/correct_projdata.cxx
	src/utilities/list_projdata_info.cxx
…etectors.inl

Uncommented the two commands I had left out.
* run_tests.sh 
* run_root_GATE.sh
* run_scatter_tests.sh

Update bcktest.cxx, ListModeData.cxx, and 4 more files...
Update stir.i, CListModeDataGEHDF5.cxx, and 3 more files...
actual proj-data not done yet (will call error())
Only use the non-default ones for the style, as otherwise it causes problems
with different versions of clang-format
ashgillman pushed a commit that referenced this pull request Nov 24, 2021
* fix pre-commit

* add CI test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants