Warning, /geant4/examples/extended/medical/DICOM2/README is written in an unsupported language. File is not indexed.
0001 -------------------------------------------------------------------
0002
0003 =========================================================
0004 Geant4 - an Object-Oriented Toolkit for Simulation in HEP
0005 =========================================================
0006
0007 Example DICOM2
0008 --------------
0009
0010
0011 ---> 1) Introduction
0012
0013 This example demonstrates how to inherit from the DICOM example.
0014 For more information on the DICOM example, see the README in
0015 the DICOM example. In addition to demonstrating inheritance from DICOM,
0016 this example demonstrates method for memory savings, scoring into a sequential
0017 container instead of an associative container, accumulating the scoring
0018 with a statistics class instead of a simple floating point, and generic iteration
0019 over the variety of scoring container storage variants provided by Geant4
0020
0021 ---> 2) Configuration and Building
0022
0023 The DICOM example should be built and installed. By default, the CMake configuration
0024 for the DICOM example will install to the same directory as ${Geant4_DIR}.
0025
0026 When configurating this example, provide DICOM_DIR=<path-to-cmake-configuration>, e.g.
0027
0028 $ cmake -DGeant4_DIR=/usr/local/lib/Geant4-10.5.0 -DDICOM_DIR=/usr/local/lib/Geant4-10.5.0 <path-to-source>
0029
0030 This example will enable DCMTK and/or DICOM_HEAD based on the configuration set when
0031 the DICOM example was installed. The files "Data.dat.old" and "Data.dat.new" follow
0032 the same pattern of being copied to "Data.dat" in the binary directory that is detailed
0033 out in Section 4 of the DICOM README.
0034
0035 ---> 3) Class Overview
0036
0037 - Dicom2Run:
0038 - How to save memory with G4VTHitsVector instead of G4THitsMap
0039 - How to implement G4VTHitsVector with objects instead of pointers (saving more memory)
0040 - How to use G4StatAnalysis within G4VTHitsVector (or G4VTHitsMap) to obtain per-voxel
0041 statistics
0042 - G4StatAnalysis provides standard deviation, mean, variance, relative error,
0043 FOM, r2int, r2eff, coefficient of variant, and efficiency in a class that
0044 consumes significantly less memory than G4ConvergenceTester
0045 - Implements scoring accumulation over the course of a run in
0046 G4VTHitsVector<G4StatAnalysis, std::vector<G4StatAnalysis>> Dicom2RunVector
0047 - The first template parameter is the type of the data (i.e. double, G4StatAnalysis, etc.)
0048 and the second template parameter is the underlying storage type -- by
0049 specifying std::vector<G4StatAnalysis>, we override the default storage
0050 format of std::vector<G4StatAnalysis*> which results in memory savings
0051 - Dicom2RunAction:
0052 - Overloads EndOfRunAction(const G4Run*) to print out the same quantities
0053 as DICOM but with the G4StatAnalysis class
0054 - Demonstrates generic iteration of hits containers
0055 - The new iteration scheme over hits containers works
0056 regardless of whether the underlying storage type is a map, multimap, unordered_map,
0057 unordered_multimap, vector, or deque and regardless of whether the data
0058 type stored in the sequential container types (vector and deque) are an object or
0059 or a pointer to an object
0060 - Dicom2PrimaryGeneratorAction:
0061 - Minor variation of DicomPrimaryGeneratorAction that randomizes the initial
0062 direction of the particle
0063 - Dicom2ActionInitialization:
0064 - In addition Dicom2RunAction and Dicom2PrimaryGeneratorAction, this class
0065 instantiates DicomEventAction