Skip to content

Commit dd8ad37

Browse files
Merge pull request #109 from KrisThielemans/remove_ids
remove unique identifiers
2 parents 7364a52 + 86be61c commit dd8ad37

File tree

8 files changed

+8
-36
lines changed

8 files changed

+8
-36
lines changed

cpp/petsird_generator.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ get_detector_module()
6565
constexpr auto N0 = NUM_CRYSTALS_PER_MODULE[0];
6666
constexpr auto N1 = NUM_CRYSTALS_PER_MODULE[1];
6767
constexpr auto N2 = NUM_CRYSTALS_PER_MODULE[2];
68-
unsigned id = 0;
6968
for (int rep0 = 0; rep0 < N0; ++rep0)
7069
for (int rep1 = 0; rep1 < N1; ++rep1)
7170
for (int rep2 = 0; rep2 < N2; ++rep2)
@@ -74,13 +73,11 @@ get_detector_module()
7473
{ 0.0, 1.0, 0.0, (rep1 - N1 / 2) * CRYSTAL_LENGTH[1] },
7574
{ 0.0, 0.0, 1.0, (rep2 - N2 / 2) * CRYSTAL_LENGTH[2] } } };
7675
rep_volume.transforms.push_back(transform);
77-
rep_volume.ids.push_back(id++);
7876
}
7977
}
8078

8179
petsird::DetectorModule detector_module;
8280
detector_module.detecting_elements.push_back(rep_volume);
83-
detector_module.detecting_element_ids.push_back(0);
8481

8582
return detector_module;
8683
}
@@ -92,7 +89,6 @@ get_scanner_geometry()
9289
petsird::ReplicatedDetectorModule rep_module;
9390
{
9491
rep_module.object = get_detector_module();
95-
uint32_t module_id = 0;
9692
std::vector<float> angles;
9793
for (unsigned int i = 0; i < NUM_MODULES_ALONG_RING; ++i)
9894
{
@@ -104,13 +100,11 @@ get_scanner_geometry()
104100
petsird::RigidTransformation transform{ { { std::cos(angle), std::sin(angle), 0.F, 0.F },
105101
{ -std::sin(angle), std::cos(angle), 0.F, 0.F },
106102
{ 0.F, 0.F, 1.F, MODULE_AXIS_SPACING * ax_mod } } };
107-
rep_module.ids.push_back(module_id++);
108103
rep_module.transforms.push_back(transform);
109104
}
110105
}
111106
petsird::ScannerGeometry scanner_geometry;
112107
scanner_geometry.replicated_modules.push_back(rep_module);
113-
scanner_geometry.ids.push_back(0);
114108
return scanner_geometry;
115109
}
116110

cpp/petsird_helpers.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ expand_detection_bins(const ScannerGeometry& scanner_geometry, const T& list_of_
4141
const auto& rep_module = scanner_geometry.replicated_modules[0];
4242
assert(rep_module.object.detecting_elements.size() == 1);
4343

44-
// TODO currently ids are uint32_t, so use this type to avoid compiler warnings
45-
const uint32_t num_el_per_module = rep_module.object.detecting_elements[0].ids.size();
44+
// TODO currently det_el_idx are uint32_t, so use this type to avoid compiler warnings
45+
const uint32_t num_el_per_module = rep_module.object.detecting_elements[0].transforms.size();
4646

4747
std::vector<ExpandedDetectionBin> result;
4848
for (auto bin : list_of_detection_bins)

matlab/toolbox/+petsird/+helpers/expand_detection_bins.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
assert(length(scanner_geometry.replicated_modules) == 1);
1010
rep_module = scanner_geometry.replicated_modules(1);
1111
assert(length(rep_module.object.detecting_elements) == 1);
12-
num_el_per_module = length(rep_module.object.detecting_elements(1).ids);
12+
num_el_per_module = length(rep_module.object.detecting_elements(1).transforms);
1313

1414
expanded_det_bins = arrayfun(@(id) struct('module', idivide(id.det_el_idx, num_el_per_module), 'el', mod(id.det_el_idx, num_el_per_module)), detection_bins);
1515

matlab/toolbox/+petsird/+helpers/generator.m

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@
8282
detector_module = get_detector_module(cfg);
8383

8484
rep_module = petsird.ReplicatedDetectorModule(object=detector_module);
85-
module_id = 0;
8685
for i = 0:cfg.NUM_MODULES_ALONG_RING-1
8786
angle = 2 * pi * i / cfg.NUM_MODULES_ALONG_RING;
8887
for ax_mod = 0:cfg.NUM_MODULES_ALONG_AXIS-1
@@ -94,12 +93,10 @@
9493
]) ...
9594
);
9695
rep_module.transforms = [rep_module.transforms transform];
97-
rep_module.ids = [rep_module.ids module_id];
98-
module_id = module_id + 1;
9996
end
10097
end
10198

102-
geometry = petsird.ScannerGeometry(replicated_modules=[rep_module], ids=[0]);
99+
geometry = petsird.ScannerGeometry(replicated_modules=[rep_module]);
103100
end
104101

105102
function detector = get_detector_module(cfg)
@@ -109,7 +106,6 @@
109106
N0 = cfg.NUM_CRYSTALS_PER_MODULE(1);
110107
N1 = cfg.NUM_CRYSTALS_PER_MODULE(2);
111108
N2 = cfg.NUM_CRYSTALS_PER_MODULE(3);
112-
id = 0;
113109
for rep0 = 0:N0-1
114110
for rep1 = 0:N1-1
115111
for rep2 = 0:N2-1
@@ -120,12 +116,10 @@
120116
0, 0, 1, (rep2 - N2 / 2) * cfg.CRYSTAL_LENGTH(3); ...
121117
]));
122118
rep_volume.transforms = [rep_volume.transforms transform];
123-
rep_volume.ids = [rep_volume.ids id];
124-
id = id + 1;
125119
end
126120
end
127121
end
128-
detector = petsird.DetectorModule(detecting_elements=[rep_volume], detecting_element_ids=[0]);
122+
detector = petsird.DetectorModule(detecting_elements=[rep_volume]);
129123
end
130124

131125
function crystal = get_crystal(cfg)

model/DetectorInformation.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ ReplicatedGenericSolidVolume: ReplicatedObject< GenericSolidVolume >
1919
DetectorModule: !record
2020
fields:
2121
detectingElements: ReplicatedBoxSolidVolume*
22-
# list of unique ids for every replicated solid volume
23-
# constraint: size(detectingElements) == size(detectingElementsIds)
24-
detectingElementIds: uint*
2522
# optional list describing shielding/optical reflectors etc
2623
nonDetectingElements: ReplicatedGenericSolidVolume*
2724

@@ -34,9 +31,6 @@ ScannerGeometry: !record
3431
fields:
3532
# list of different types of replicated modules
3633
replicatedModules: ReplicatedDetectorModule*
37-
# list of unique ids for every replicated module
38-
# constraint: size(replicated_modules) == size(ids)
39-
ids: uint*
4034
# shielding etc
4135
nonDetectingVolumes: GenericSolidVolume*?
4236

model/GeometryInformation.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,6 @@ ReplicatedObject<T>: !record
3030
# list of transforms
3131
# constraint: length >= 1
3232
transforms: RigidTransformation*
33-
# list of unique ids for every replicated solid volume
34-
# constraint: size(transforms) == size(ids)
35-
ids: uint*
3633
computedFields:
3734
numberOfObjects: size(transforms)
3835

python/petsird/helpers/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def expand_detection_bins(
4343
assert len(scanner_geometry.replicated_modules) == 1
4444
rep_module = scanner_geometry.replicated_modules[0]
4545
assert len(rep_module.object.detecting_elements) == 1
46-
num_el_per_module = len(rep_module.object.detecting_elements[0].ids)
46+
num_el_per_module = len(rep_module.object.detecting_elements[0].transforms)
4747

4848
return [
4949
ExpandedDetectionBin(module=bin.det_el_idx // num_el_per_module,

python/petsird/helpers/generator.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ def get_detector_module() -> petsird.DetectorModule:
5454
N0 = NUM_CRYSTALS_PER_MODULE[0]
5555
N1 = NUM_CRYSTALS_PER_MODULE[1]
5656
N2 = NUM_CRYSTALS_PER_MODULE[2]
57-
id = 0
5857
for rep0 in range(N0):
5958
for rep1 in range(N1):
6059
for rep2 in range(N2):
@@ -67,11 +66,8 @@ def get_detector_module() -> petsird.DetectorModule:
6766
dtype="float32",
6867
))
6968
rep_volume.transforms.append(transform)
70-
rep_volume.ids.append(id)
71-
id += 1
7269

73-
return petsird.DetectorModule(detecting_elements=[rep_volume],
74-
detecting_element_ids=[0])
70+
return petsird.DetectorModule(detecting_elements=[rep_volume])
7571

7672

7773
def get_scanner_geometry() -> petsird.ScannerGeometry:
@@ -83,7 +79,6 @@ def get_scanner_geometry() -> petsird.ScannerGeometry:
8379
]
8480

8581
rep_module = petsird.ReplicatedDetectorModule(object=detector_module)
86-
module_id = 0
8782
for angle in angles:
8883
for ax_mod in range(NUM_MODULES_ALONG_AXIS):
8984
transform = petsird.RigidTransformation(matrix=numpy.array(
@@ -94,11 +89,9 @@ def get_scanner_geometry() -> petsird.ScannerGeometry:
9489
),
9590
dtype="float32",
9691
))
97-
rep_module.ids.append(module_id)
98-
module_id += 1
9992
rep_module.transforms.append(transform)
10093

101-
return petsird.ScannerGeometry(replicated_modules=[rep_module], ids=[0])
94+
return petsird.ScannerGeometry(replicated_modules=[rep_module])
10295

10396

10497
def get_detection_efficiencies(

0 commit comments

Comments
 (0)