Software structure: Difference between revisions

From pCT
(change slides)
Line 11: Line 11:
* [[Media:IntroToAutomaticDifferentiationWithCoDiPack Max Aehle 2021-03-22.pdf | IntroToAutomaticDifferentiationWithCoDiPack Max Aehle 2021-03-22.pdf]]
* [[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:2021-03-29 mrichter pct-software-tasks.pdf | 2021-03-29_mrichter_pct-software-tasks.pdf]]
* [[Media:MLPCT_Pres_04122021.pdf | MLPCT_Pres_04122021.pdf]]


== Software Modules ==
== Software Modules ==

Revision as of 17:11, 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

Software Modules

Software-task-sequence.png

Optimisation

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

SignalChain.png

Utilities

  • Visualization
  • Control
  • Monitoring

Contact information of maintainers/experts for each software module

Build system and package management

Common software modules

Data model

Common IO

IPC

Logging

Control