Software structure: Difference between revisions
(Add visualization for main data path.) |
|||
(8 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
This is a brainstorming document for the general software structure of the pCT project and the operation of the full pipeline. | This is a brainstorming document for the general software structure of the pCT project and the operation of the full pipeline. | ||
Line 8: | Line 6: | ||
* use common/open source packages where ever possible | * use common/open source packages where ever possible | ||
* every component comes with a unit test | * every component comes with a unit test | ||
== Presentations == | |||
Some presentations in the course of discussion | |||
* [[Media:IntroToAutomaticDifferentiationWithCoDiPack Max Aehle 2021-03-22.pdf | IntroToAutomaticDifferentiationWithCoDiPack Max Aehle 2021-03-22.pdf]] | |||
* [[Media:2021-03-29 mrichter pct-software-tasks.pdf | 2021-03-29_mrichter_pct-software-tasks.pdf]] | |||
* [[Media:MLPCT_Pres_04122021.pdf | 04/12/2021 Simulation of Detector Response]] | |||
== Software Modules == | == Software Modules == | ||
[[File:Software-task-sequence.png]] | [[File:Software-task-sequence.png]] | ||
== Optimisation == | |||
* Intro to Automatic Differentiation with CoDiPack, Max Aehle, 2021-03-22 [[Media:IntroToAutomaticDifferentiationWithCoDiPack_Max_Aehle_2021-03-22.pdf]] | |||
=== Main data path === | === Main data path === | ||
* Simulation | |||
** Beam Simulation | |||
** Phantom Simulation | |||
** Detector Propagation | |||
* Detector Response Simulation | |||
* Readout Simulation | |||
* Readout and Raw Data reconstruction | |||
** pct-online | |||
* Detector Reconstruction | |||
** Most likely entrance step and hull algorithm needed for the single-sided setup | |||
** Clustering and Tracking | |||
* Phantom reconstruction | |||
* Imaging | |||
[[File:SignalChain.png|border|1000px]] | [[File:SignalChain.png|border|1000px]] | ||
Line 26: | Line 47: | ||
== Common software modules == | == Common software modules == | ||
=== Data model === | === Data model === | ||
* Bridge Design Pattern [[Media:PCT_Design_Pattern_Intro.pdf]] | |||
=== Common IO === | === Common IO === | ||
=== IPC === | === IPC === | ||
=== Logging === | === Logging === | ||
=== Control === | === Control === |
Latest revision as of 17:12, 18 April 2021
This is a brainstorming document for the general software structure of the pCT project and the operation of the full pipeline.
General guidelines
- support multiple programming languages
- open for the programming tools best suited for a specific purpose and development group
- use common/open source packages where ever possible
- every component comes with a unit test
Presentations
Some presentations in the course of discussion
- IntroToAutomaticDifferentiationWithCoDiPack Max Aehle 2021-03-22.pdf
- 2021-03-29_mrichter_pct-software-tasks.pdf
- 04/12/2021 Simulation of Detector Response
Software Modules
Optimisation
- Intro to Automatic Differentiation with CoDiPack, Max Aehle, 2021-03-22 Media:IntroToAutomaticDifferentiationWithCoDiPack_Max_Aehle_2021-03-22.pdf
Main data path
- Simulation
- Beam Simulation
- Phantom Simulation
- Detector Propagation
- Detector Response Simulation
- Readout Simulation
- Readout and Raw Data reconstruction
- pct-online
- Detector Reconstruction
- Most likely entrance step and hull algorithm needed for the single-sided setup
- Clustering and Tracking
- Phantom reconstruction
- Imaging
Utilities
- Visualization
- Control
- Monitoring
Contact information of maintainers/experts for each software module
Build system and package management
Common software modules
Data model
- Bridge Design Pattern Media:PCT_Design_Pattern_Intro.pdf