Test Failed
Push — master ( c59863...d66c77 )
by Daniil
06:49 queued 03:06
created

savu.plugins.loaders.base_tomophantom_loader_tools   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 5
dl 0
loc 41
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A BaseTomophantomLoaderTools.define_parameters() 0 2 1
A BaseTomophantomLoaderTools.citation() 0 2 1
1
from savu.plugins.plugin_tools import PluginTools
2
3
class BaseTomophantomLoaderTools(PluginTools):
4
    """A hdf5 dataset of a specified size is created at runtime using Tomophantom
5
    to generate synthetic data , saved with relevant meta_data to a NeXus
6
    file, and used as input. It recreates the behaviour of the nxtomo loader
7
    but with synthetic data.  The input file path passed to Savu will be ignored
8
    (use a dummy).
9
    """
10
    def define_parameters(self):
11
        """
12
        proj_data_dims:
13
              visibility: basic
14
              dtype: [list[float], list[]]
15
              description: A list specifiying the sizes of dimensions of the generated 3D \
16
              projection data in the following format [Angles, DetectorsY, DetectorsX].
17
              default: []
18
        axis_labels:
19
              visibility: basic
20
              dtype: [list[],list[str]]
21
              description: "A list of the axis labels to be associated
22
                with each dimension, of the form ['name1.unit1', 'name2.unit2',...]"
23
              default: []
24
        tomo_model:
25
              visibility: basic
26
              dtype: int
27
              description: Select a model number from the library (see TomoPhantom dat files).
28
              default: 11
29
        patterns:
30
              visibility: hidden
31
              dtype: [list[],list[str]]
32
              description: "A list of data access patterns e.g.
33
                [SINOGRAM.0c.1s.2c, PROJECTION.0s.1c.2s], where
34
                'c' and 's' represent core and slice dimensions
35
                respectively and every dimension must be
36
                specified."
37
              default: []
38
        """
39
    def citation(self):
40
        """
41
        TomoPhantom is a software package to generate 2D-4D
42
        analytical phantoms and their Radon transforms for various
43
        testing purposes.
44
        bibtex:
45
                @article{kazantsev2018tomophantom,
46
                  title={TomoPhantom, a software package to generate 2D-4D analytical phantoms for CT image reconstruction algorithm benchmarks},
47
                  author={Kazantsev, Daniil and Pickalov, Valery and Nagella, Srikanth and Pasca, Edoardo and Withers, Philip J},
48
                  journal={SoftwareX},
49
                  volume={7},
50
                  pages={150--155},
51
                  year={2018},
52
                  publisher={Elsevier}
53
                }
54
        endnote:
55
                %0 Journal Article
56
                %T TomoPhantom, a software package to generate 2D-4D analytical phantoms for CT image reconstruction algorithm benchmarks
57
                %A Kazantsev, Daniil
58
                %A Pickalov, Valery
59
                %A Nagella, Srikanth
60
                %A Pasca, Edoardo
61
                %A Withers, Philip J
62
                %J SoftwareX
63
                %V 7
64
                %P 150-155
65
                %@ 2352-7110
66
                %D 2018
67
                %I Elsevier
68
69
        doi: "10.1016/j.softx.2018.05.003"
70
        """
71