Valentin Boussot commited on
Commit
7d3b1d6
·
1 Parent(s): f1ba681

Initial upload

Browse files
ParameterMap_SynthRad2023_CBCT_brain.txt ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (MaximumNumberOfIterations 300 300 200 200 150)
2
+ (NumberOfSpatialSamples 2000)
3
+ (Transform "RecursiveBSplineTransform")
4
+ (NumberOfResolutions 5)
5
+ (FinalGridSpacingInPhysicalUnits 10)
6
+ (FixedImagePyramid "FixedGenericImagePyramid")
7
+ (MovingImagePyramid "MovingGenericImagePyramid")
8
+ (FixedImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
9
+ (MovingImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
10
+ // (GridSpacingSchedule 10.000000 5.000000 2.000000 1.000000)
11
+
12
+
13
+
14
+ (ImpactModelsPath0 "/Data/Model/TS/M732_2_Layers.pt")
15
+ (ImpactDimension0 3)
16
+ (ImpactNumberOfChannels0 1)
17
+ (ImpactPatchSize0 0 0 0)
18
+ (ImpactVoxelSize0 6 6 6)
19
+ (ImpactLayersMask0 "01")
20
+ (ImpactSubsetFeatures0 64)
21
+ (ImpactPCA0 0)
22
+ (ImpactDistance0 "L1")
23
+ (ImpactLayersWeight0 1)
24
+
25
+ (ImpactModelsPath1 "/Data/Model/TS/M731_2_Layers.pt")
26
+ (ImpactDimension1 3)
27
+ (ImpactNumberOfChannels1 1)
28
+ (ImpactPatchSize1 0 0 0)
29
+ (ImpactVoxelSize1 3 3 3)
30
+ (ImpactLayersMask1 "01")
31
+ (ImpactSubsetFeatures1 64)
32
+ (ImpactPCA1 0)
33
+ (ImpactDistance1 "L1")
34
+ (ImpactLayersWeight1 1)
35
+
36
+ (ImpactModelsPath2 "/Data/Model/TS/M731_2_Layers.pt")
37
+ (ImpactDimension2 3)
38
+ (ImpactNumberOfChannels2 1)
39
+ (ImpactPatchSize2 0 0 0)
40
+ (ImpactVoxelSize2 3 3 3)
41
+ (ImpactLayersMask2 "01")
42
+ (ImpactSubsetFeatures2 64)
43
+ (ImpactPCA2 0)
44
+ (ImpactDistance2 "L1")
45
+ (ImpactLayersWeight2 1)
46
+
47
+ (ImpactModelsPath3 "/Data/Model/TS/M730_2_Layers.pt")
48
+ (ImpactDimension3 3)
49
+ (ImpactNumberOfChannels3 1)
50
+ (ImpactPatchSize3 0 0 0)
51
+ (ImpactVoxelSize3 2 2 3)
52
+ (ImpactLayersMask3 "01")
53
+ (ImpactSubsetFeatures3 64)
54
+ (ImpactPCA3 0)
55
+ (ImpactDistance3 "L1")
56
+ (ImpactLayersWeight3 1)
57
+
58
+ (ImpactModelsPath4 "/Data/Model/TS/M730_2_Layers.pt")
59
+ (ImpactDimension4 3)
60
+ (ImpactNumberOfChannels4 1)
61
+ (ImpactPatchSize4 0 0 0)
62
+ (ImpactVoxelSize4 2 2 3)
63
+ (ImpactLayersMask4 "01")
64
+ (ImpactSubsetFeatures4 64)
65
+ (ImpactPCA4 0)
66
+ (ImpactDistance4 "L1")
67
+ (ImpactLayersWeight4 1)
68
+
69
+
70
+ (ImpactUseMixedPrecision "true")
71
+ (ImpactFeaturesMapUpdateInterval -1)
72
+ (ImpactWriteFeatureMaps "false")
73
+ (ImpactMode "Static")
74
+ (ImpactGPU 0)
75
+
76
+
77
+ (Metric "Impact" "AdvancedMattesMutualInformation" "TransformBendingEnergyPenalty")
78
+ (Metric0Weight 1)
79
+ (Metric1Weight 0.65)
80
+ (Metric2Weight 10)
81
+
82
+ // imageTypes
83
+ (FixedInternalImagePixelType "float")
84
+ (MovingInternalImagePixelType "float")
85
+ (UseDirectionCosines "true")
86
+
87
+ // components
88
+ (Registration "MultiMetricMultiResolutionRegistration")
89
+ (BSplineTransformSplineOrder 3)
90
+ (UseCyclicTransform "false")
91
+
92
+ // transform
93
+ (AutomaticTransformInitialization "false")
94
+ (AutomaticTransformInitializationMethod "GeometricalCenter")
95
+ (AutomaticScalesEstimation "true")
96
+ (HowToCombineTransforms "Compose")
97
+
98
+
99
+ // optimizer
100
+ (Optimizer "AdaptiveStochasticGradientDescent")
101
+ (MaximumNumberOfSamplingAttempts 8)
102
+ (UseAdaptiveStepSizes "true")
103
+ (UseMultiThreadingForMetrics "true")
104
+ (ASGDParameterEstimationMethod "DisplacementDistribution")
105
+ //(MaximumStepLength 0.6602)
106
+ (SigmoidInitialTime 0.0)
107
+ (NoiseCompensation "true")
108
+ (NumberOfSamplesForExactGradient 4096)
109
+
110
+ // automatic
111
+ (AutomaticParameterEstimation "true")
112
+ //(SP_alpha 1)
113
+ //(SP_A 20.0)
114
+ //(SP a 400)
115
+ //(SigmoidMax 1.0)
116
+ //(SigmoidMin -0.8)
117
+ //(SigmoidScale 0.00000001)
118
+ //(NumberOfGradientMeasurements 10)
119
+ //(NumberOfJacobianMeasurements 1000)
120
+
121
+ (FixedKernelBSplineOrder 3)
122
+ (MovingKernelBSplineOrder 3)
123
+ (CheckNumberOfSamples "true")
124
+ (UseRelativeWeights "false")
125
+
126
+
127
+ // several
128
+ (WriteTransformParametersEachIteration "false")
129
+ (WriteTransformParametersEachResolution "false")
130
+ (ShowExactMetricValue "false")
131
+ (ErodeFixedMask "false")
132
+ (ErodeMovingMask "false")
133
+ (UseBinaryFormatForTransformationParameters "false")
134
+
135
+ // imageSampler
136
+ (Interpolator "BSplineInterpolator")
137
+ (ImageSampler "RandomCoordinate")
138
+ (NewSamplesEveryIteration "true")
139
+ (UseRandomSampleRegion "false")
140
+
141
+
142
+ // interpolator and resampler
143
+ (ResampleInterpolator "FinalBSplineInterpolator")
144
+ (FinalBSplineInterpolationOrder 3)
145
+ (BSplineInterpolationOrder 3)
146
+ (Resampler "DefaultResampler")
147
+ (WriteIterationInfo "false")
148
+ (WriteResultImage "false")
149
+ (DefaultPixelValue 0)
150
+ (ResultImageFormat "nii.gz")
ParameterMap_SynthRad2023_CBCT_generic1.txt ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (MaximumNumberOfIterations 350 250 200 150 100)
2
+ (NumberOfSpatialSamples 3000)
3
+ (Transform "RecursiveBSplineTransform")
4
+ (NumberOfResolutions 5)
5
+ (FinalGridSpacingInPhysicalUnits 10)
6
+ (FixedImagePyramid "FixedGenericImagePyramid")
7
+ (MovingImagePyramid "MovingGenericImagePyramid")
8
+ (FixedImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
9
+ (MovingImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
10
+ // (GridSpacingSchedule 10.000000 5.000000 2.000000 1.000000)
11
+
12
+
13
+
14
+ (ImpactModelsPath0 "/Data/Model/TS/MRSegmentator_8_Layers.pt")
15
+ (ImpactDimension0 3)
16
+ (ImpactNumberOfChannels0 1)
17
+ (ImpactPatchSize0 0 0 0)
18
+ (ImpactVoxelSize0 3 3 3)
19
+ (ImpactLayersMask0 "01000001")
20
+ (ImpactSubsetFeatures0 64 64)
21
+ (ImpactPCA0 0 0)
22
+ (ImpactDistance0 "L1" "Dice")
23
+ (ImpactLayersWeight0 0.1 0.9)
24
+
25
+ (ImpactModelsPath1 "/Data/Model/TS/MRSegmentator_8_Layers.pt")
26
+ (ImpactDimension1 3)
27
+ (ImpactNumberOfChannels1 1)
28
+ (ImpactPatchSize1 0 0 0)
29
+ (ImpactVoxelSize1 3 3 3)
30
+ (ImpactLayersMask1 "01000001")
31
+ (ImpactSubsetFeatures1 64 64)
32
+ (ImpactPCA1 0 0)
33
+ (ImpactDistance1 "L1" "Dice")
34
+ (ImpactLayersWeight1 0.2 0.8)
35
+
36
+ (ImpactModelsPath2 "/Data/Model/TS/MRSegmentator_8_Layers.pt")
37
+ (ImpactDimension2 3)
38
+ (ImpactNumberOfChannels2 1)
39
+ (ImpactPatchSize2 0 0 0)
40
+ (ImpactVoxelSize2 2 2 3)
41
+ (ImpactLayersMask2 "01000001")
42
+ (ImpactSubsetFeatures2 64 64)
43
+ (ImpactPCA2 0 0)
44
+ (ImpactDistance2 "L1" "Dice")
45
+ (ImpactLayersWeight2 0.3 0.7)
46
+
47
+ (ImpactModelsPath3 "/Data/Model/TS/MRSegmentator_8_Layers.pt")
48
+ (ImpactDimension3 3)
49
+ (ImpactNumberOfChannels3 1)
50
+ (ImpactPatchSize3 0 0 0)
51
+ (ImpactVoxelSize3 2 2 3)
52
+ (ImpactLayersMask3 "01000001")
53
+ (ImpactSubsetFeatures3 64 64)
54
+ (ImpactPCA3 0 0)
55
+ (ImpactDistance3 "L1" "Dice")
56
+ (ImpactLayersWeight3 0.5 0.5)
57
+
58
+ (ImpactModelsPath4 "/Data/Model/TS/MRSegmentator_8_Layers.pt")
59
+ (ImpactDimension4 3)
60
+ (ImpactNumberOfChannels4 1)
61
+ (ImpactPatchSize4 0 0 0)
62
+ (ImpactVoxelSize4 2 2 3)
63
+ (ImpactLayersMask4 "01000001")
64
+ (ImpactSubsetFeatures4 64 64)
65
+ (ImpactPCA4 0 0)
66
+ (ImpactDistance4 "L1" "Dice")
67
+ (ImpactLayersWeight4 0.7 0.3)
68
+
69
+
70
+ (ImpactUseMixedPrecision "true")
71
+ (ImpactFeaturesMapUpdateInterval -1)
72
+ (ImpactWriteFeatureMaps "false")
73
+ (ImpactMode "Static")
74
+ (ImpactGPU 0)
75
+
76
+
77
+ (Metric "Impact" "AdvancedMattesMutualInformation" "TransformBendingEnergyPenalty")
78
+ (Metric0Weight 1)
79
+ (Metric1Weight 0.3)
80
+ (Metric2Weight 10)
81
+
82
+ // imageTypes
83
+ (FixedInternalImagePixelType "float")
84
+ (MovingInternalImagePixelType "float")
85
+ (UseDirectionCosines "true")
86
+
87
+ // components
88
+ (Registration "MultiMetricMultiResolutionRegistration")
89
+ (BSplineTransformSplineOrder 3)
90
+ (UseCyclicTransform "false")
91
+
92
+ // transform
93
+ (AutomaticTransformInitialization "false")
94
+ (AutomaticTransformInitializationMethod "GeometricalCenter")
95
+ (AutomaticScalesEstimation "true")
96
+ (HowToCombineTransforms "Compose")
97
+
98
+
99
+ // optimizer
100
+ (Optimizer "AdaptiveStochasticGradientDescent")
101
+ (MaximumNumberOfSamplingAttempts 8)
102
+ (UseAdaptiveStepSizes "true")
103
+ (UseMultiThreadingForMetrics "true")
104
+ (ASGDParameterEstimationMethod "DisplacementDistribution")
105
+ //(MaximumStepLength 0.6602)
106
+ (SigmoidInitialTime 0.0)
107
+ (NoiseCompensation "true")
108
+ (NumberOfSamplesForExactGradient 4096)
109
+
110
+ // automatic
111
+ (AutomaticParameterEstimation "true")
112
+ //(SP_alpha 1)
113
+ //(SP_A 20.0)
114
+ //(SP a 400)
115
+ //(SigmoidMax 1.0)
116
+ //(SigmoidMin -0.8)
117
+ //(SigmoidScale 0.00000001)
118
+ //(NumberOfGradientMeasurements 10)
119
+ //(NumberOfJacobianMeasurements 1000)
120
+
121
+ (FixedKernelBSplineOrder 3)
122
+ (MovingKernelBSplineOrder 3)
123
+ (CheckNumberOfSamples "true")
124
+ (UseRelativeWeights "false")
125
+
126
+
127
+ // several
128
+ (WriteTransformParametersEachIteration "false")
129
+ (WriteTransformParametersEachResolution "false")
130
+ (ShowExactMetricValue "false")
131
+ (ErodeFixedMask "false")
132
+ (ErodeMovingMask "false")
133
+ (UseBinaryFormatForTransformationParameters "false")
134
+
135
+ // imageSampler
136
+ (Interpolator "BSplineInterpolator")
137
+ (ImageSampler "RandomCoordinate")
138
+ (NewSamplesEveryIteration "true")
139
+ (UseRandomSampleRegion "false")
140
+
141
+
142
+ // interpolator and resampler
143
+ (ResampleInterpolator "FinalBSplineInterpolator")
144
+ (FinalBSplineInterpolationOrder 3)
145
+ (BSplineInterpolationOrder 3)
146
+ (Resampler "DefaultResampler")
147
+ (WriteIterationInfo "false")
148
+ (WriteResultImage "false")
149
+ (DefaultPixelValue 0)
150
+ (ResultImageFormat "nii.gz")
ParameterMap_SynthRad2023_CBCT_generic2.txt ADDED
@@ -0,0 +1,149 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (MaximumNumberOfIterations 400 300 300 300 300)
2
+ (NumberOfSpatialSamples 3000)
3
+ (Transform "RecursiveBSplineTransform")
4
+ (NumberOfResolutions 5)
5
+ (FinalGridSpacingInPhysicalUnits 10)
6
+ (FixedImagePyramid "FixedGenericImagePyramid")
7
+ (MovingImagePyramid "MovingGenericImagePyramid")
8
+ (FixedImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
9
+ (MovingImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
10
+ // (GridSpacingSchedule 10.000000 5.000000 2.000000 1.000000)
11
+
12
+
13
+
14
+ (ImpactModelsPath0 "/Data/Model/TS/M850_8_Layers.pt")
15
+ (ImpactDimension0 3)
16
+ (ImpactNumberOfChannels0 1)
17
+ (ImpactPatchSize0 0 0 0)
18
+ (ImpactVoxelSize0 3 3 3)
19
+ (ImpactLayersMask0 "01000001")
20
+ (ImpactSubsetFeatures0 64 64)
21
+ (ImpactPCA0 0 0)
22
+ (ImpactDistance0 "L1" "Dice")
23
+ (ImpactLayersWeight0 1 1)
24
+
25
+ (ImpactModelsPath1 "/Data/Model/TS/M850_8_Layers.pt")
26
+ (ImpactDimension1 3)
27
+ (ImpactNumberOfChannels1 1)
28
+ (ImpactPatchSize1 0 0 0)
29
+ (ImpactVoxelSize1 3 3 3)
30
+ (ImpactLayersMask1 "01000001")
31
+ (ImpactSubsetFeatures1 64 64)
32
+ (ImpactPCA1 0 0)
33
+ (ImpactDistance1 "L1" "Dice")
34
+ (ImpactLayersWeight1 1 1)
35
+
36
+ (ImpactModelsPath2 "/Data/Model/TS/M850_8_Layers.pt")
37
+ (ImpactDimension2 3)
38
+ (ImpactNumberOfChannels2 1)
39
+ (ImpactPatchSize2 0 0 0)
40
+ (ImpactVoxelSize2 2 2 3)
41
+ (ImpactLayersMask2 "01000001")
42
+ (ImpactSubsetFeatures2 64 64)
43
+ (ImpactPCA2 0 0)
44
+ (ImpactDistance2 "L1" "Dice")
45
+ (ImpactLayersWeight2 1 1)
46
+
47
+ (ImpactModelsPath3 "/Data/Model/TS/M850_8_Layers.pt")
48
+ (ImpactDimension3 3)
49
+ (ImpactNumberOfChannels3 1)
50
+ (ImpactPatchSize3 0 0 0)
51
+ (ImpactVoxelSize3 2 2 3)
52
+ (ImpactLayersMask3 "01000001")
53
+ (ImpactSubsetFeatures3 64 64)
54
+ (ImpactPCA3 0 0)
55
+ (ImpactDistance3 "L1" "Dice")
56
+ (ImpactLayersWeight3 1 1)
57
+
58
+ (ImpactModelsPath4 "/Data/Model/TS/M850_8_Layers.pt")
59
+ (ImpactDimension4 3)
60
+ (ImpactNumberOfChannels4 1)
61
+ (ImpactPatchSize4 0 0 0)
62
+ (ImpactVoxelSize4 2 2 3)
63
+ (ImpactLayersMask4 "01000001")
64
+ (ImpactSubsetFeatures4 64 64)
65
+ (ImpactPCA4 0 0)
66
+ (ImpactDistance4 "L1" "Dice")
67
+ (ImpactLayersWeight4 1 1)
68
+
69
+
70
+ (ImpactUseMixedPrecision "true")
71
+ (ImpactFeaturesMapUpdateInterval -1)
72
+ (ImpactWriteFeatureMaps "false")
73
+ (ImpactMode "Static")
74
+ (ImpactGPU 0)
75
+
76
+
77
+ (Metric "Impact" "AdvancedMattesMutualInformation")
78
+ (Metric0Weight 1)
79
+ (Metric1Weight 0.3)
80
+
81
+ // imageTypes
82
+ (FixedInternalImagePixelType "float")
83
+ (MovingInternalImagePixelType "float")
84
+ (UseDirectionCosines "true")
85
+
86
+ // components
87
+ (Registration "MultiMetricMultiResolutionRegistration")
88
+ (BSplineTransformSplineOrder 3)
89
+ (UseCyclicTransform "false")
90
+
91
+ // transform
92
+ (AutomaticTransformInitialization "false")
93
+ (AutomaticTransformInitializationMethod "GeometricalCenter")
94
+ (AutomaticScalesEstimation "true")
95
+ (HowToCombineTransforms "Compose")
96
+
97
+
98
+ // optimizer
99
+ (Optimizer "AdaptiveStochasticGradientDescent")
100
+ (MaximumNumberOfSamplingAttempts 8)
101
+ (UseAdaptiveStepSizes "true")
102
+ (UseMultiThreadingForMetrics "true")
103
+ (ASGDParameterEstimationMethod "DisplacementDistribution")
104
+ //(MaximumStepLength 0.6602)
105
+ (SigmoidInitialTime 0.0)
106
+ (NoiseCompensation "true")
107
+ (NumberOfSamplesForExactGradient 4096)
108
+
109
+ // automatic
110
+ (AutomaticParameterEstimation "true")
111
+ //(SP_alpha 1)
112
+ //(SP_A 20.0)
113
+ //(SP a 400)
114
+ //(SigmoidMax 1.0)
115
+ //(SigmoidMin -0.8)
116
+ //(SigmoidScale 0.00000001)
117
+ //(NumberOfGradientMeasurements 10)
118
+ //(NumberOfJacobianMeasurements 1000)
119
+
120
+ (FixedKernelBSplineOrder 3)
121
+ (MovingKernelBSplineOrder 3)
122
+ (CheckNumberOfSamples "true")
123
+ (UseRelativeWeights "false")
124
+
125
+
126
+ // several
127
+ (WriteTransformParametersEachIteration "false")
128
+ (WriteTransformParametersEachResolution "false")
129
+ (ShowExactMetricValue "false")
130
+ (ErodeFixedMask "false")
131
+ (ErodeMovingMask "false")
132
+ (UseBinaryFormatForTransformationParameters "false")
133
+
134
+ // imageSampler
135
+ (Interpolator "BSplineInterpolator")
136
+ (ImageSampler "RandomCoordinate")
137
+ (NewSamplesEveryIteration "true")
138
+ (UseRandomSampleRegion "false")
139
+
140
+
141
+ // interpolator and resampler
142
+ (ResampleInterpolator "FinalBSplineInterpolator")
143
+ (FinalBSplineInterpolationOrder 3)
144
+ (BSplineInterpolationOrder 3)
145
+ (Resampler "DefaultResampler")
146
+ (WriteIterationInfo "false")
147
+ (WriteResultImage "false")
148
+ (DefaultPixelValue 0)
149
+ (ResultImageFormat "nii.gz")
ParameterMap_SynthRad2023_CBCT_pelvisV2.txt ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (MaximumNumberOfIterations 200 150 150 100 50)
2
+ (NumberOfSpatialSamples 3000)
3
+ (Transform "RecursiveBSplineTransform")
4
+ (NumberOfResolutions 5)
5
+ (FinalGridSpacingInPhysicalUnits 10)
6
+ (FixedImagePyramid "FixedGenericImagePyramid")
7
+ (MovingImagePyramid "MovingGenericImagePyramid")
8
+ (FixedImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
9
+ (MovingImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
10
+ // (GridSpacingSchedule 10.000000 5.000000 2.000000 1.000000)
11
+
12
+
13
+ (ImpactModelsPath0 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/M731_8_Layers.pt")
14
+ (ImpactDimension0 3 3)
15
+ (ImpactNumberOfChannels0 1 1)
16
+ (ImpactPatchSize0 0 0 0 0 0 0)
17
+ (ImpactVoxelSize0 3 3 3 3 3 3)
18
+ (ImpactLayersMask0 "1" "00000001")
19
+ (ImpactSubsetFeatures0 32 64)
20
+ (ImpactPCA0 0 0)
21
+ (ImpactDistance0 "L1" "Dice")
22
+ (ImpactLayersWeight0 0.2 0.8)
23
+
24
+ (ImpactModelsPath1 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/M731_8_Layers.pt")
25
+ (ImpactDimension1 3 3)
26
+ (ImpactNumberOfChannels1 1 1)
27
+ (ImpactPatchSize1 0 0 0 0 0 0)
28
+ (ImpactVoxelSize1 3 3 3 3 3 3)
29
+ (ImpactLayersMask1 "1" "00000001")
30
+ (ImpactSubsetFeatures1 32 64)
31
+ (ImpactPCA1 0 0)
32
+ (ImpactDistance1 "L1" "Dice")
33
+ (ImpactLayersWeight1 0.3 0.7)
34
+
35
+ (ImpactModelsPath2 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/M731_8_Layers.pt")
36
+ (ImpactDimension2 3 3)
37
+ (ImpactNumberOfChannels2 1 1)
38
+ (ImpactPatchSize2 0 0 0 0 0 0)
39
+ (ImpactVoxelSize2 3 3 3 3 3 3)
40
+ (ImpactLayersMask2 "1" "00000001")
41
+ (ImpactSubsetFeatures2 32 64)
42
+ (ImpactPCA2 0 0)
43
+ (ImpactDistance2 "L1" "Dice")
44
+ (ImpactLayersWeight2 0.4 0.6)
45
+
46
+ (ImpactModelsPath3 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/MRSegmentator_8_Layers.pt")
47
+ (ImpactDimension3 3 3)
48
+ (ImpactNumberOfChannels3 1 1)
49
+ (ImpactPatchSize3 0 0 0 0 0 0)
50
+ (ImpactVoxelSize3 2 2 3 2 2 3)
51
+ (ImpactLayersMask3 "1" "00000001")
52
+ (ImpactSubsetFeatures3 32 64)
53
+ (ImpactPCA3 0 0)
54
+ (ImpactDistance3 "L1" "Dice")
55
+ (ImpactLayersWeight3 0.5 0.5)
56
+
57
+
58
+ (ImpactModelsPath4 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/MRSegmentator_8_Layers.pt")
59
+ (ImpactDimension4 3 3)
60
+ (ImpactNumberOfChannels4 1 1)
61
+ (ImpactPatchSize4 0 0 0 0 0 0)
62
+ (ImpactVoxelSize4 2 2 3 2 2 3)
63
+ (ImpactLayersMask4 "1" "00000001")
64
+ (ImpactSubsetFeatures4 32 64)
65
+ (ImpactPCA4 0 0)
66
+ (ImpactDistance4 "L1" "Dice")
67
+ (ImpactLayersWeight4 0.5 0.5)
68
+
69
+
70
+ (ImpactUseMixedPrecision "true")
71
+ (ImpactFeaturesMapUpdateInterval -1)
72
+ (ImpactWriteFeatureMaps "false")
73
+ (ImpactMode "Static")
74
+ (ImpactGPU 0)
75
+
76
+
77
+ (Metric "Impact" "AdvancedMattesMutualInformation" "TransformBendingEnergyPenalty")
78
+ (Metric0Weight 1)
79
+ (Metric1Weight 0.5)
80
+ (Metric2Weight 10)
81
+
82
+ // imageTypes
83
+ (FixedInternalImagePixelType "float")
84
+ (MovingInternalImagePixelType "float")
85
+ (UseDirectionCosines "true")
86
+
87
+ // components
88
+ (Registration "MultiMetricMultiResolutionRegistration")
89
+ (BSplineTransformSplineOrder 3)
90
+ (UseCyclicTransform "false")
91
+
92
+ // transform
93
+ (AutomaticTransformInitialization "false")
94
+ (AutomaticTransformInitializationMethod "GeometricalCenter")
95
+ (AutomaticScalesEstimation "true")
96
+ (HowToCombineTransforms "Compose")
97
+
98
+
99
+ // optimizer
100
+ (Optimizer "AdaptiveStochasticGradientDescent")
101
+ (MaximumNumberOfSamplingAttempts 8)
102
+ (UseAdaptiveStepSizes "true")
103
+ (UseMultiThreadingForMetrics "true")
104
+ (ASGDParameterEstimationMethod "DisplacementDistribution")
105
+ //(MaximumStepLength 0.6602)
106
+ (SigmoidInitialTime 0.0)
107
+ (NoiseCompensation "true")
108
+ (NumberOfSamplesForExactGradient 4096)
109
+
110
+ // automatic
111
+ (AutomaticParameterEstimation "true")
112
+ //(SP_alpha 1)
113
+ //(SP_A 20.0)
114
+ //(SP a 400)
115
+ //(SigmoidMax 1.0)
116
+ //(SigmoidMin -0.8)
117
+ //(SigmoidScale 0.00000001)
118
+ //(NumberOfGradientMeasurements 10)
119
+ //(NumberOfJacobianMeasurements 1000)
120
+
121
+ (FixedKernelBSplineOrder 3)
122
+ (MovingKernelBSplineOrder 3)
123
+ (CheckNumberOfSamples "true")
124
+ (UseRelativeWeights "false")
125
+
126
+
127
+ // several
128
+ (WriteTransformParametersEachIteration "false")
129
+ (WriteTransformParametersEachResolution "false")
130
+ (ShowExactMetricValue "false")
131
+ (ErodeFixedMask "false")
132
+ (ErodeMovingMask "false")
133
+ (UseBinaryFormatForTransformationParameters "false")
134
+
135
+ // imageSampler
136
+ (Interpolator "BSplineInterpolator")
137
+ (ImageSampler "RandomCoordinate")
138
+ (NewSamplesEveryIteration "true")
139
+ (UseRandomSampleRegion "false")
140
+
141
+
142
+ // interpolator and resampler
143
+ (ResampleInterpolator "FinalBSplineInterpolator")
144
+ (FinalBSplineInterpolationOrder 3)
145
+ (BSplineInterpolationOrder 3)
146
+ (Resampler "DefaultResampler")
147
+ (WriteIterationInfo "false")
148
+ (WriteResultImage "false")
149
+ (DefaultPixelValue 0)
150
+ (ResultImageFormat "nii.gz")
ParameterMap_SynthRad2023_MRI_Brain.txt ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (MaximumNumberOfIterations 400 300 300 300)
2
+ (NumberOfSpatialSamples 3000)
3
+ (Transform "RecursiveBSplineTransform")
4
+ (NumberOfResolutions 4)
5
+ (FinalGridSpacingInPhysicalUnits 10)
6
+ (FixedImagePyramid "FixedGenericImagePyramid")
7
+ (MovingImagePyramid "MovingGenericImagePyramid")
8
+ (FixedImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1)
9
+ (MovingImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1)
10
+ // (GridSpacingSchedule 10.000000 5.000000 2.000000 1.000000)
11
+
12
+
13
+ (ImpactModelsPath0 "/Data/Model/MIND/R1D2.pt")
14
+ (ImpactDimension0 3 )
15
+ (ImpactNumberOfChannels0 1)
16
+ (ImpactPatchSize0 0 0 0)
17
+ (ImpactVoxelSize0 6 6 6)
18
+ (ImpactLayersMask0 "1")
19
+ (ImpactSubsetFeatures0 32)
20
+ (ImpactPCA0 0)
21
+ (ImpactDistance0 "L1")
22
+ (ImpactLayersWeight0 1)
23
+
24
+ (ImpactModelsPath1 "/Data/Model/MIND/R1D2.pt")
25
+ (ImpactDimension1 3)
26
+ (ImpactNumberOfChannels1 1)
27
+ (ImpactPatchSize1 0 0 0)
28
+ (ImpactVoxelSize1 3 3 3)
29
+ (ImpactLayersMask1 "1")
30
+ (ImpactSubsetFeatures1 32)
31
+ (ImpactPCA1 0)
32
+ (ImpactDistance1 "L1")
33
+ (ImpactLayersWeight1 1)
34
+
35
+ (ImpactModelsPath2 "/Data/Model/MIND/R1D2.pt")
36
+ (ImpactDimension2 3)
37
+ (ImpactNumberOfChannels2 1)
38
+ (ImpactPatchSize2 0 0 0)
39
+ (ImpactVoxelSize2 2 2 3)
40
+ (ImpactLayersMask2 "1")
41
+ (ImpactSubsetFeatures2 32)
42
+ (ImpactPCA2 0)
43
+ (ImpactDistance2 "L1")
44
+ (ImpactLayersWeight2 1)
45
+
46
+ (ImpactModelsPath3 "/Data/Model/MIND/R1D2.pt")
47
+ (ImpactDimension3 3 3)
48
+ (ImpactNumberOfChannels3 1 1)
49
+ (ImpactPatchSize3 0 0 0 0 0 0)
50
+ (ImpactVoxelSize3 1 1 3)
51
+ (ImpactLayersMask3 "1")
52
+ (ImpactSubsetFeatures3 32)
53
+ (ImpactPCA3 0)
54
+ (ImpactDistance3 "L1")
55
+ (ImpactLayersWeight3 1)
56
+
57
+
58
+ (ImpactUseMixedPrecision "true")
59
+ (ImpactFeaturesMapUpdateInterval -1)
60
+ (ImpactWriteFeatureMaps "false")
61
+ (ImpactMode "Static")
62
+ (ImpactGPU 0)
63
+
64
+
65
+ (Metric "Impact" "AdvancedMattesMutualInformation" "TransformBendingEnergyPenalty")
66
+ (Metric0Weight 1)
67
+ (Metric1Weight 0.3)
68
+ (Metric2Weight 50)
69
+
70
+ // imageTypes
71
+ (FixedInternalImagePixelType "float")
72
+ (MovingInternalImagePixelType "float")
73
+ (UseDirectionCosines "true")
74
+
75
+ // components
76
+ (Registration "MultiMetricMultiResolutionRegistration")
77
+ (BSplineTransformSplineOrder 3)
78
+ (UseCyclicTransform "false")
79
+
80
+ // transform
81
+ (AutomaticTransformInitialization "false")
82
+ (AutomaticTransformInitializationMethod "GeometricalCenter")
83
+ (AutomaticScalesEstimation "true")
84
+ (HowToCombineTransforms "Compose")
85
+
86
+
87
+ // optimizer
88
+ (Optimizer "AdaptiveStochasticGradientDescent")
89
+ (MaximumNumberOfSamplingAttempts 8)
90
+ (UseAdaptiveStepSizes "true")
91
+ (UseMultiThreadingForMetrics "true")
92
+ (ASGDParameterEstimationMethod "DisplacementDistribution")
93
+ //(MaximumStepLength 0.6602)
94
+ (SigmoidInitialTime 0.0)
95
+ (NoiseCompensation "true")
96
+ (NumberOfSamplesForExactGradient 4096)
97
+
98
+ // automatic
99
+ (AutomaticParameterEstimation "true")
100
+ //(SP_alpha 1)
101
+ //(SP_A 20.0)
102
+ //(SP a 400)
103
+ //(SigmoidMax 1.0)
104
+ //(SigmoidMin -0.8)
105
+ //(SigmoidScale 0.00000001)
106
+ //(NumberOfGradientMeasurements 10)
107
+ //(NumberOfJacobianMeasurements 1000)
108
+
109
+ (FixedKernelBSplineOrder 3)
110
+ (MovingKernelBSplineOrder 3)
111
+ (CheckNumberOfSamples "true")
112
+ (UseRelativeWeights "false")
113
+
114
+
115
+ // several
116
+ (WriteTransformParametersEachIteration "false")
117
+ (WriteTransformParametersEachResolution "false")
118
+ (ShowExactMetricValue "false")
119
+ (ErodeFixedMask "false")
120
+ (ErodeMovingMask "false")
121
+ (UseBinaryFormatForTransformationParameters "false")
122
+
123
+ // imageSampler
124
+ (Interpolator "BSplineInterpolator")
125
+ (ImageSampler "RandomCoordinate")
126
+ (NewSamplesEveryIteration "true")
127
+ (UseRandomSampleRegion "false")
128
+
129
+
130
+ // interpolator and resampler
131
+ (ResampleInterpolator "FinalBSplineInterpolator")
132
+ (FinalBSplineInterpolationOrder 3)
133
+ (BSplineInterpolationOrder 3)
134
+ (Resampler "DefaultResampler")
135
+ (WriteIterationInfo "false")
136
+ (WriteResultImage "false")
137
+ (DefaultPixelValue 0)
138
+ (ResultImageFormat "nii.gz")
ParameterMap_SynthRad2023_MRI_pelvis.txt ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (MaximumNumberOfIterations 500 400 300 200)
2
+ (NumberOfSpatialSamples 3000)
3
+ (Transform "RecursiveBSplineTransform")
4
+ (NumberOfResolutions 4)
5
+ (FinalGridSpacingInPhysicalUnits 10)
6
+ (FixedImagePyramid "FixedGenericImagePyramid")
7
+ (MovingImagePyramid "MovingGenericImagePyramid")
8
+ (FixedImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1)
9
+ (MovingImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1)
10
+ // (GridSpacingSchedule 10.000000 5.000000 2.000000 1.000000)
11
+
12
+
13
+ (ImpactModelsPath0 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/MRSegmentator_8_Layers.pt")
14
+ (ImpactDimension0 3 3)
15
+ (ImpactNumberOfChannels0 1 1)
16
+ (ImpactPatchSize0 0 0 0 0 0 0)
17
+ (ImpactVoxelSize0 6 6 6 6 6 6)
18
+ (ImpactLayersMask0 "1" "00000001")
19
+ (ImpactSubsetFeatures0 32 64)
20
+ (ImpactPCA0 0 0)
21
+ (ImpactDistance0 "L1" "Dice")
22
+ (ImpactLayersWeight0 0.2 0.8)
23
+
24
+ (ImpactModelsPath1 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/MRSegmentator_8_Layers.pt")
25
+ (ImpactDimension1 3 3)
26
+ (ImpactNumberOfChannels1 1 1)
27
+ (ImpactPatchSize1 0 0 0 0 0 0)
28
+ (ImpactVoxelSize1 3 3 3 3 3 3)
29
+ (ImpactLayersMask1 "1" "00000001")
30
+ (ImpactSubsetFeatures1 32 64)
31
+ (ImpactPCA1 0 0)
32
+ (ImpactDistance1 "L1" "Dice")
33
+ (ImpactLayersWeight1 0.3 0.7)
34
+
35
+ (ImpactModelsPath2 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/MRSegmentator_8_Layers.pt")
36
+ (ImpactDimension2 3 3)
37
+ (ImpactNumberOfChannels2 1 1)
38
+ (ImpactPatchSize2 0 0 0 0 0 0)
39
+ (ImpactVoxelSize2 2 2 3 2 2 3)
40
+ (ImpactLayersMask2 "1" "00000001")
41
+ (ImpactSubsetFeatures2 32 64)
42
+ (ImpactPCA2 0 0)
43
+ (ImpactDistance2 "L1" "Dice")
44
+ (ImpactLayersWeight2 0.6 0.4)
45
+
46
+ (ImpactModelsPath3 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/MRSegmentator_8_Layers.pt")
47
+ (ImpactDimension3 3 3)
48
+ (ImpactNumberOfChannels3 1 1)
49
+ (ImpactPatchSize3 0 0 0 0 0 0)
50
+ (ImpactVoxelSize3 2 2 3 2 2 3)
51
+ (ImpactLayersMask3 "1" "00000001")
52
+ (ImpactSubsetFeatures3 32 64)
53
+ (ImpactPCA3 0 0)
54
+ (ImpactDistance3 "L1" "Dice")
55
+ (ImpactLayersWeight3 0.7 0.3)
56
+
57
+
58
+ (ImpactUseMixedPrecision "true")
59
+ (ImpactFeaturesMapUpdateInterval -1)
60
+ (ImpactWriteFeatureMaps "false")
61
+ (ImpactMode "Static")
62
+ (ImpactGPU 0)
63
+
64
+
65
+ (Metric "Impact" "AdvancedMattesMutualInformation" "TransformBendingEnergyPenalty")
66
+ (Metric0Weight 1)
67
+ (Metric1Weight 0.3)
68
+ (Metric2Weight 10)
69
+
70
+ // imageTypes
71
+ (FixedInternalImagePixelType "float")
72
+ (MovingInternalImagePixelType "float")
73
+ (UseDirectionCosines "true")
74
+
75
+ // components
76
+ (Registration "MultiMetricMultiResolutionRegistration")
77
+ (BSplineTransformSplineOrder 3)
78
+ (UseCyclicTransform "false")
79
+
80
+ // transform
81
+ (AutomaticTransformInitialization "false")
82
+ (AutomaticTransformInitializationMethod "GeometricalCenter")
83
+ (AutomaticScalesEstimation "true")
84
+ (HowToCombineTransforms "Compose")
85
+
86
+
87
+ // optimizer
88
+ (Optimizer "AdaptiveStochasticGradientDescent")
89
+ (MaximumNumberOfSamplingAttempts 8)
90
+ (UseAdaptiveStepSizes "true")
91
+ (UseMultiThreadingForMetrics "true")
92
+ (ASGDParameterEstimationMethod "DisplacementDistribution")
93
+ //(MaximumStepLength 0.6602)
94
+ (SigmoidInitialTime 0.0)
95
+ (NoiseCompensation "true")
96
+ (NumberOfSamplesForExactGradient 4096)
97
+
98
+ // automatic
99
+ (AutomaticParameterEstimation "true")
100
+ //(SP_alpha 1)
101
+ //(SP_A 20.0)
102
+ //(SP a 400)
103
+ //(SigmoidMax 1.0)
104
+ //(SigmoidMin -0.8)
105
+ //(SigmoidScale 0.00000001)
106
+ //(NumberOfGradientMeasurements 10)
107
+ //(NumberOfJacobianMeasurements 1000)
108
+
109
+ (FixedKernelBSplineOrder 3)
110
+ (MovingKernelBSplineOrder 3)
111
+ (CheckNumberOfSamples "true")
112
+ (UseRelativeWeights "false")
113
+
114
+
115
+ // several
116
+ (WriteTransformParametersEachIteration "false")
117
+ (WriteTransformParametersEachResolution "false")
118
+ (ShowExactMetricValue "false")
119
+ (ErodeFixedMask "false")
120
+ (ErodeMovingMask "false")
121
+ (UseBinaryFormatForTransformationParameters "false")
122
+
123
+ // imageSampler
124
+ (Interpolator "BSplineInterpolator")
125
+ (ImageSampler "RandomCoordinate")
126
+ (NewSamplesEveryIteration "true")
127
+ (UseRandomSampleRegion "false")
128
+
129
+
130
+ // interpolator and resampler
131
+ (ResampleInterpolator "FinalBSplineInterpolator")
132
+ (FinalBSplineInterpolationOrder 3)
133
+ (BSplineInterpolationOrder 3)
134
+ (Resampler "DefaultResampler")
135
+ (WriteIterationInfo "false")
136
+ (WriteResultImage "false")
137
+ (DefaultPixelValue 0)
138
+ (ResultImageFormat "nii.gz")
ParameterMap_SynthRad2023_MRI_pelvisV3.txt ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (MaximumNumberOfIterations 500 500 400 300 200)
2
+ (NumberOfSpatialSamples 3000)
3
+ (Transform "RecursiveBSplineTransform")
4
+ (NumberOfResolutions 5)
5
+ (FinalGridSpacingInPhysicalUnits 10)
6
+ (FixedImagePyramid "FixedGenericImagePyramid")
7
+ (MovingImagePyramid "MovingGenericImagePyramid")
8
+ (FixedImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
9
+ (MovingImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
10
+ // (GridSpacingSchedule 10.000000 5.000000 2.000000 1.000000)
11
+
12
+
13
+
14
+ (ImpactModelsPath0 "/Data/Model/TS/M850_8_Layers.pt")
15
+ (ImpactDimension0 3)
16
+ (ImpactNumberOfChannels0 1)
17
+ (ImpactPatchSize0 0 0 0)
18
+ (ImpactVoxelSize0 3 3 3)
19
+ (ImpactLayersMask0 "00000001")
20
+ (ImpactSubsetFeatures0 64)
21
+ (ImpactPCA0 0)
22
+ (ImpactDistance0 "Dice")
23
+ (ImpactLayersWeight0 1)
24
+
25
+ (ImpactModelsPath1 "/Data/Model/TS/M850_8_Layers.pt")
26
+ (ImpactDimension1 3)
27
+ (ImpactNumberOfChannels1 1)
28
+ (ImpactPatchSize1 0 0 0)
29
+ (ImpactVoxelSize1 3 3 3)
30
+ (ImpactLayersMask1 "00000001")
31
+ (ImpactSubsetFeatures1 64)
32
+ (ImpactPCA1 0)
33
+ (ImpactDistance1 "Dice")
34
+ (ImpactLayersWeight1 1)
35
+
36
+ (ImpactModelsPath2 "/Data/Model/TS/M850_8_Layers.pt")
37
+ (ImpactDimension2 3)
38
+ (ImpactNumberOfChannels2 1)
39
+ (ImpactPatchSize2 0 0 0)
40
+ (ImpactVoxelSize2 2 2 3)
41
+ (ImpactLayersMask2 "00000001")
42
+ (ImpactSubsetFeatures2 64)
43
+ (ImpactPCA2 0)
44
+ (ImpactDistance2 "Dice")
45
+ (ImpactLayersWeight2 1)
46
+
47
+ (ImpactModelsPath3 "/Data/Model/TS/M850_8_Layers.pt")
48
+ (ImpactDimension3 3)
49
+ (ImpactNumberOfChannels3 1)
50
+ (ImpactPatchSize3 0 0 0)
51
+ (ImpactVoxelSize3 2 2 3)
52
+ (ImpactLayersMask3 "00000001")
53
+ (ImpactSubsetFeatures3 64)
54
+ (ImpactPCA3 0)
55
+ (ImpactDistance3 "Dice")
56
+ (ImpactLayersWeight3 1)
57
+
58
+ (ImpactModelsPath4 "/Data/Model/TS/M850_8_Layers.pt")
59
+ (ImpactDimension4 3)
60
+ (ImpactNumberOfChannels4 1)
61
+ (ImpactPatchSize4 0 0 0)
62
+ (ImpactVoxelSize4 2 2 3)
63
+ (ImpactLayersMask4 "00000001")
64
+ (ImpactSubsetFeatures4 64)
65
+ (ImpactPCA4 0)
66
+ (ImpactDistance4 "Dice")
67
+ (ImpactLayersWeight4 1)
68
+
69
+
70
+ (ImpactUseMixedPrecision "true")
71
+ (ImpactFeaturesMapUpdateInterval -1)
72
+ (ImpactWriteFeatureMaps "false")
73
+ (ImpactMode "Static")
74
+ (ImpactGPU 0)
75
+
76
+
77
+ (Metric "Impact" "AdvancedNormalizedCorrelation" "TransformBendingEnergyPenalty")
78
+ (Metric0Weight 1)
79
+ (Metric1Weight 0.2)
80
+ (Metric2Weight 10)
81
+
82
+ // imageTypes
83
+ (FixedInternalImagePixelType "float")
84
+ (MovingInternalImagePixelType "float")
85
+ (UseDirectionCosines "true")
86
+
87
+ // components
88
+ (Registration "MultiMetricMultiResolutionRegistration")
89
+ (BSplineTransformSplineOrder 3)
90
+ (UseCyclicTransform "false")
91
+
92
+ // transform
93
+ (AutomaticTransformInitialization "false")
94
+ (AutomaticTransformInitializationMethod "GeometricalCenter")
95
+ (AutomaticScalesEstimation "true")
96
+ (HowToCombineTransforms "Compose")
97
+
98
+
99
+ // optimizer
100
+ (Optimizer "AdaptiveStochasticGradientDescent")
101
+ (MaximumNumberOfSamplingAttempts 8)
102
+ (UseAdaptiveStepSizes "true")
103
+ (UseMultiThreadingForMetrics "true")
104
+ (ASGDParameterEstimationMethod "DisplacementDistribution")
105
+ //(MaximumStepLength 0.6602)
106
+ (SigmoidInitialTime 0.0)
107
+ (NoiseCompensation "true")
108
+ (NumberOfSamplesForExactGradient 4096)
109
+
110
+ // automatic
111
+ (AutomaticParameterEstimation "true")
112
+ //(SP_alpha 1)
113
+ //(SP_A 20.0)
114
+ //(SP a 400)
115
+ //(SigmoidMax 1.0)
116
+ //(SigmoidMin -0.8)
117
+ //(SigmoidScale 0.00000001)
118
+ //(NumberOfGradientMeasurements 10)
119
+ //(NumberOfJacobianMeasurements 1000)
120
+
121
+ (FixedKernelBSplineOrder 3)
122
+ (MovingKernelBSplineOrder 3)
123
+ (CheckNumberOfSamples "true")
124
+ (UseRelativeWeights "false")
125
+
126
+
127
+ // several
128
+ (WriteTransformParametersEachIteration "false")
129
+ (WriteTransformParametersEachResolution "false")
130
+ (ShowExactMetricValue "false")
131
+ (ErodeFixedMask "false")
132
+ (ErodeMovingMask "false")
133
+ (UseBinaryFormatForTransformationParameters "false")
134
+
135
+ // imageSampler
136
+ (Interpolator "BSplineInterpolator")
137
+ (ImageSampler "RandomCoordinate")
138
+ (NewSamplesEveryIteration "true")
139
+ (UseRandomSampleRegion "false")
140
+
141
+
142
+ // interpolator and resampler
143
+ (ResampleInterpolator "FinalBSplineInterpolator")
144
+ (FinalBSplineInterpolationOrder 3)
145
+ (BSplineInterpolationOrder 3)
146
+ (Resampler "DefaultResampler")
147
+ (WriteIterationInfo "false")
148
+ (WriteResultImage "false")
149
+ (DefaultPixelValue 0)
150
+ (ResultImageFormat "nii.gz")
ParameterMap_SynthRad2025_MRI_HN.txt ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (MaximumNumberOfIterations 400 300 200 100)
2
+ (NumberOfSpatialSamples 3000)
3
+ (Transform "RecursiveBSplineTransform")
4
+ (NumberOfResolutions 4)
5
+ (FinalGridSpacingInPhysicalUnits 10)
6
+ (FixedImagePyramid "FixedGenericImagePyramid")
7
+ (MovingImagePyramid "MovingGenericImagePyramid")
8
+ (FixedImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1)
9
+ (MovingImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1)
10
+ // (GridSpacingSchedule 10.000000 5.000000 2.000000 1.000000)
11
+
12
+
13
+ (ImpactModelsPath0 "/Data/Model/MIND/R1D2.pt")
14
+ (ImpactDimension0 3 )
15
+ (ImpactNumberOfChannels0 1)
16
+ (ImpactPatchSize0 0 0 0)
17
+ (ImpactVoxelSize0 6 6 6)
18
+ (ImpactLayersMask0 "1")
19
+ (ImpactSubsetFeatures0 32)
20
+ (ImpactPCA0 0)
21
+ (ImpactDistance0 "L1")
22
+ (ImpactLayersWeight0 1)
23
+
24
+ (ImpactModelsPath1 "/Data/Model/MIND/R1D2.pt")
25
+ (ImpactDimension1 3)
26
+ (ImpactNumberOfChannels1 1)
27
+ (ImpactPatchSize1 0 0 0)
28
+ (ImpactVoxelSize1 3 3 3)
29
+ (ImpactLayersMask1 "1")
30
+ (ImpactSubsetFeatures1 32)
31
+ (ImpactPCA1 0)
32
+ (ImpactDistance1 "L1")
33
+ (ImpactLayersWeight1 1)
34
+
35
+ (ImpactModelsPath2 "/Data/Model/MIND/R1D2.pt")
36
+ (ImpactDimension2 3)
37
+ (ImpactNumberOfChannels2 1)
38
+ (ImpactPatchSize2 0 0 0)
39
+ (ImpactVoxelSize2 2 2 3)
40
+ (ImpactLayersMask2 "1")
41
+ (ImpactSubsetFeatures2 32)
42
+ (ImpactPCA2 0)
43
+ (ImpactDistance2 "L1")
44
+ (ImpactLayersWeight2 1)
45
+
46
+ (ImpactModelsPath3 "/Data/Model/MIND/R1D2.pt")
47
+ (ImpactDimension3 3 3)
48
+ (ImpactNumberOfChannels3 1 1)
49
+ (ImpactPatchSize3 0 0 0 0 0 0)
50
+ (ImpactVoxelSize3 1 1 3)
51
+ (ImpactLayersMask3 "1")
52
+ (ImpactSubsetFeatures3 32)
53
+ (ImpactPCA3 0)
54
+ (ImpactDistance3 "L1")
55
+ (ImpactLayersWeight3 1)
56
+
57
+
58
+ (ImpactUseMixedPrecision "true")
59
+ (ImpactFeaturesMapUpdateInterval -1)
60
+ (ImpactWriteFeatureMaps "false")
61
+ (ImpactMode "Static")
62
+ (ImpactGPU 0)
63
+
64
+
65
+ (Metric "Impact" "AdvancedMattesMutualInformation" "TransformBendingEnergyPenalty")
66
+ (Metric0Weight 1)
67
+ (Metric1Weight 0.3)
68
+ (Metric2Weight 50)
69
+
70
+ // imageTypes
71
+ (FixedInternalImagePixelType "float")
72
+ (MovingInternalImagePixelType "float")
73
+ (UseDirectionCosines "true")
74
+
75
+ // components
76
+ (Registration "MultiMetricMultiResolutionRegistration")
77
+ (BSplineTransformSplineOrder 3)
78
+ (UseCyclicTransform "false")
79
+
80
+ // transform
81
+ (AutomaticTransformInitialization "false")
82
+ (AutomaticTransformInitializationMethod "GeometricalCenter")
83
+ (AutomaticScalesEstimation "true")
84
+ (HowToCombineTransforms "Compose")
85
+
86
+
87
+ // optimizer
88
+ (Optimizer "AdaptiveStochasticGradientDescent")
89
+ (MaximumNumberOfSamplingAttempts 8)
90
+ (UseAdaptiveStepSizes "true")
91
+ (UseMultiThreadingForMetrics "true")
92
+ (ASGDParameterEstimationMethod "DisplacementDistribution")
93
+ //(MaximumStepLength 0.6602)
94
+ (SigmoidInitialTime 0.0)
95
+ (NoiseCompensation "true")
96
+ (NumberOfSamplesForExactGradient 4096)
97
+
98
+ // automatic
99
+ (AutomaticParameterEstimation "true")
100
+ //(SP_alpha 1)
101
+ //(SP_A 20.0)
102
+ //(SP a 400)
103
+ //(SigmoidMax 1.0)
104
+ //(SigmoidMin -0.8)
105
+ //(SigmoidScale 0.00000001)
106
+ //(NumberOfGradientMeasurements 10)
107
+ //(NumberOfJacobianMeasurements 1000)
108
+
109
+ (FixedKernelBSplineOrder 3)
110
+ (MovingKernelBSplineOrder 3)
111
+ (CheckNumberOfSamples "true")
112
+ (UseRelativeWeights "false")
113
+
114
+
115
+ // several
116
+ (WriteTransformParametersEachIteration "false")
117
+ (WriteTransformParametersEachResolution "false")
118
+ (ShowExactMetricValue "false")
119
+ (ErodeFixedMask "false")
120
+ (ErodeMovingMask "false")
121
+ (UseBinaryFormatForTransformationParameters "false")
122
+
123
+ // imageSampler
124
+ (Interpolator "BSplineInterpolator")
125
+ (ImageSampler "RandomCoordinate")
126
+ (NewSamplesEveryIteration "true")
127
+ (UseRandomSampleRegion "false")
128
+
129
+
130
+ // interpolator and resampler
131
+ (ResampleInterpolator "FinalBSplineInterpolator")
132
+ (FinalBSplineInterpolationOrder 3)
133
+ (BSplineInterpolationOrder 3)
134
+ (Resampler "DefaultResampler")
135
+ (WriteIterationInfo "false")
136
+ (WriteResultImage "false")
137
+ (DefaultPixelValue 0)
138
+ (ResultImageFormat "nii.gz")
ParameterMap_SynthRad2025_MRI_TH.txt ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (MaximumNumberOfIterations 400 300 200 100)
2
+ (NumberOfSpatialSamples 3000)
3
+ (Transform "RecursiveBSplineTransform")
4
+ (NumberOfResolutions 4)
5
+ (FinalGridSpacingInPhysicalUnits 10)
6
+ (FixedImagePyramid "FixedGenericImagePyramid")
7
+ (MovingImagePyramid "MovingGenericImagePyramid")
8
+ (FixedImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1)
9
+ (MovingImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1)
10
+ // (GridSpacingSchedule 10.000000 5.000000 2.000000 1.000000)
11
+
12
+
13
+ (ImpactModelsPath0 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/MRSegmentator_8_Layers.pt")
14
+ (ImpactDimension0 3 3)
15
+ (ImpactNumberOfChannels0 1 1)
16
+ (ImpactPatchSize0 0 0 0 0 0 0)
17
+ (ImpactVoxelSize0 6 6 6 6 6 6)
18
+ (ImpactLayersMask0 "1" "00000001")
19
+ (ImpactSubsetFeatures0 32 64)
20
+ (ImpactPCA0 0 0)
21
+ (ImpactDistance0 "L1" "Dice")
22
+ (ImpactLayersWeight0 0.2 0.8)
23
+
24
+ (ImpactModelsPath1 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/MRSegmentator_8_Layers.pt")
25
+ (ImpactDimension1 3 3)
26
+ (ImpactNumberOfChannels1 1 1)
27
+ (ImpactPatchSize1 0 0 0 0 0 0)
28
+ (ImpactVoxelSize1 3 3 3 3 3 3)
29
+ (ImpactLayersMask1 "1" "00000001")
30
+ (ImpactSubsetFeatures1 32 64)
31
+ (ImpactPCA1 0 0)
32
+ (ImpactDistance1 "L1" "Dice")
33
+ (ImpactLayersWeight1 0.3 0.7)
34
+
35
+ (ImpactModelsPath2 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/MRSegmentator_8_Layers.pt")
36
+ (ImpactDimension2 3 3)
37
+ (ImpactNumberOfChannels2 1 1)
38
+ (ImpactPatchSize2 0 0 0 0 0 0)
39
+ (ImpactVoxelSize2 2 2 3 2 2 3)
40
+ (ImpactLayersMask2 "1" "00000001")
41
+ (ImpactSubsetFeatures2 32 64)
42
+ (ImpactPCA2 0 0)
43
+ (ImpactDistance2 "L1" "Dice")
44
+ (ImpactLayersWeight2 0.7 0.3)
45
+
46
+ (ImpactModelsPath3 "/Data/Model/MIND/R1D2.pt" "/Data/Model/TS/MRSegmentator_8_Layers.pt")
47
+ (ImpactDimension3 3 3)
48
+ (ImpactNumberOfChannels3 1 1)
49
+ (ImpactPatchSize3 0 0 0 0 0 0)
50
+ (ImpactVoxelSize3 2 2 3 2 2 3)
51
+ (ImpactLayersMask3 "1" "00000001")
52
+ (ImpactSubsetFeatures3 32 64)
53
+ (ImpactPCA3 0 0)
54
+ (ImpactDistance3 "L1" "Dice")
55
+ (ImpactLayersWeight3 0.7 0.3)
56
+
57
+
58
+ (ImpactUseMixedPrecision "true")
59
+ (ImpactFeaturesMapUpdateInterval -1)
60
+ (ImpactWriteFeatureMaps "false")
61
+ (ImpactMode "Static")
62
+ (ImpactGPU 0)
63
+
64
+
65
+ (Metric "Impact" "AdvancedMattesMutualInformation" "TransformBendingEnergyPenalty")
66
+ (Metric0Weight 1)
67
+ (Metric1Weight 0.3)
68
+ (Metric2Weight 10)
69
+
70
+ // imageTypes
71
+ (FixedInternalImagePixelType "float")
72
+ (MovingInternalImagePixelType "float")
73
+ (UseDirectionCosines "true")
74
+
75
+ // components
76
+ (Registration "MultiMetricMultiResolutionRegistration")
77
+ (BSplineTransformSplineOrder 3)
78
+ (UseCyclicTransform "false")
79
+
80
+ // transform
81
+ (AutomaticTransformInitialization "false")
82
+ (AutomaticTransformInitializationMethod "GeometricalCenter")
83
+ (AutomaticScalesEstimation "true")
84
+ (HowToCombineTransforms "Compose")
85
+
86
+
87
+ // optimizer
88
+ (Optimizer "AdaptiveStochasticGradientDescent")
89
+ (MaximumNumberOfSamplingAttempts 8)
90
+ (UseAdaptiveStepSizes "true")
91
+ (UseMultiThreadingForMetrics "true")
92
+ (ASGDParameterEstimationMethod "DisplacementDistribution")
93
+ //(MaximumStepLength 0.6602)
94
+ (SigmoidInitialTime 0.0)
95
+ (NoiseCompensation "true")
96
+ (NumberOfSamplesForExactGradient 4096)
97
+
98
+ // automatic
99
+ (AutomaticParameterEstimation "true")
100
+ //(SP_alpha 1)
101
+ //(SP_A 20.0)
102
+ //(SP a 400)
103
+ //(SigmoidMax 1.0)
104
+ //(SigmoidMin -0.8)
105
+ //(SigmoidScale 0.00000001)
106
+ //(NumberOfGradientMeasurements 10)
107
+ //(NumberOfJacobianMeasurements 1000)
108
+
109
+ (FixedKernelBSplineOrder 3)
110
+ (MovingKernelBSplineOrder 3)
111
+ (CheckNumberOfSamples "true")
112
+ (UseRelativeWeights "false")
113
+
114
+
115
+ // several
116
+ (WriteTransformParametersEachIteration "false")
117
+ (WriteTransformParametersEachResolution "false")
118
+ (ShowExactMetricValue "false")
119
+ (ErodeFixedMask "false")
120
+ (ErodeMovingMask "false")
121
+ (UseBinaryFormatForTransformationParameters "false")
122
+
123
+ // imageSampler
124
+ (Interpolator "BSplineInterpolator")
125
+ (ImageSampler "RandomCoordinate")
126
+ (NewSamplesEveryIteration "true")
127
+ (UseRandomSampleRegion "false")
128
+
129
+
130
+ // interpolator and resampler
131
+ (ResampleInterpolator "FinalBSplineInterpolator")
132
+ (FinalBSplineInterpolationOrder 3)
133
+ (BSplineInterpolationOrder 3)
134
+ (Resampler "DefaultResampler")
135
+ (WriteIterationInfo "false")
136
+ (WriteResultImage "false")
137
+ (DefaultPixelValue 0)
138
+ (ResultImageFormat "nii.gz")
ParameterMap_SynthRad2025_MRI_THA.txt ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (MaximumNumberOfIterations 400 300 200 100)
2
+ (NumberOfSpatialSamples 3000)
3
+ (Transform "RecursiveBSplineTransform")
4
+ (NumberOfResolutions 4)
5
+ (FinalGridSpacingInPhysicalUnits 10)
6
+ (FixedImagePyramid "FixedGenericImagePyramid")
7
+ (MovingImagePyramid "MovingGenericImagePyramid")
8
+ (FixedImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1)
9
+ (MovingImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1)
10
+ // (GridSpacingSchedule 10.000000 5.000000 2.000000 1.000000)
11
+
12
+
13
+ (ImpactModelsPath0 "/Data/Model/MIND/R1D2.pt")
14
+ (ImpactDimension0 3 )
15
+ (ImpactNumberOfChannels0 1)
16
+ (ImpactPatchSize0 0 0 0)
17
+ (ImpactVoxelSize0 6 6 6)
18
+ (ImpactLayersMask0 "1")
19
+ (ImpactSubsetFeatures0 32)
20
+ (ImpactPCA0 0)
21
+ (ImpactDistance0 "L1")
22
+ (ImpactLayersWeight0 1)
23
+
24
+ (ImpactModelsPath1 "/Data/Model/MIND/R1D2.pt")
25
+ (ImpactDimension1 3)
26
+ (ImpactNumberOfChannels1 1)
27
+ (ImpactPatchSize1 0 0 0)
28
+ (ImpactVoxelSize1 3 3 3)
29
+ (ImpactLayersMask1 "1")
30
+ (ImpactSubsetFeatures1 32)
31
+ (ImpactPCA1 0)
32
+ (ImpactDistance1 "L1")
33
+ (ImpactLayersWeight1 1)
34
+
35
+ (ImpactModelsPath2 "/Data/Model/MIND/R1D2.pt")
36
+ (ImpactDimension2 3)
37
+ (ImpactNumberOfChannels2 1)
38
+ (ImpactPatchSize2 0 0 0)
39
+ (ImpactVoxelSize2 2 2 3)
40
+ (ImpactLayersMask2 "1")
41
+ (ImpactSubsetFeatures2 32)
42
+ (ImpactPCA2 0)
43
+ (ImpactDistance2 "L1")
44
+ (ImpactLayersWeight2 1)
45
+
46
+ (ImpactModelsPath3 "/Data/Model/MIND/R1D2.pt")
47
+ (ImpactDimension3 3 3)
48
+ (ImpactNumberOfChannels3 1 1)
49
+ (ImpactPatchSize3 0 0 0 0 0 0)
50
+ (ImpactVoxelSize3 1 1 3)
51
+ (ImpactLayersMask3 "1")
52
+ (ImpactSubsetFeatures3 32)
53
+ (ImpactPCA3 0)
54
+ (ImpactDistance3 "L1")
55
+ (ImpactLayersWeight3 1)
56
+
57
+
58
+ (ImpactUseMixedPrecision "true")
59
+ (ImpactFeaturesMapUpdateInterval -1)
60
+ (ImpactWriteFeatureMaps "false")
61
+ (ImpactMode "Static")
62
+ (ImpactGPU 0)
63
+
64
+
65
+ (Metric "Impact" "AdvancedMattesMutualInformation" "TransformBendingEnergyPenalty")
66
+ (Metric0Weight 1)
67
+ (Metric1Weight 0.3)
68
+ (Metric2Weight 50)
69
+
70
+ // imageTypes
71
+ (FixedInternalImagePixelType "float")
72
+ (MovingInternalImagePixelType "float")
73
+ (UseDirectionCosines "true")
74
+
75
+ // components
76
+ (Registration "MultiMetricMultiResolutionRegistration")
77
+ (BSplineTransformSplineOrder 3)
78
+ (UseCyclicTransform "false")
79
+
80
+ // transform
81
+ (AutomaticTransformInitialization "false")
82
+ (AutomaticTransformInitializationMethod "GeometricalCenter")
83
+ (AutomaticScalesEstimation "true")
84
+ (HowToCombineTransforms "Compose")
85
+
86
+
87
+ // optimizer
88
+ (Optimizer "AdaptiveStochasticGradientDescent")
89
+ (MaximumNumberOfSamplingAttempts 8)
90
+ (UseAdaptiveStepSizes "true")
91
+ (UseMultiThreadingForMetrics "true")
92
+ (ASGDParameterEstimationMethod "DisplacementDistribution")
93
+ //(MaximumStepLength 0.6602)
94
+ (SigmoidInitialTime 0.0)
95
+ (NoiseCompensation "true")
96
+ (NumberOfSamplesForExactGradient 4096)
97
+
98
+ // automatic
99
+ (AutomaticParameterEstimation "true")
100
+ //(SP_alpha 1)
101
+ //(SP_A 20.0)
102
+ //(SP a 400)
103
+ //(SigmoidMax 1.0)
104
+ //(SigmoidMin -0.8)
105
+ //(SigmoidScale 0.00000001)
106
+ //(NumberOfGradientMeasurements 10)
107
+ //(NumberOfJacobianMeasurements 1000)
108
+
109
+ (FixedKernelBSplineOrder 3)
110
+ (MovingKernelBSplineOrder 3)
111
+ (CheckNumberOfSamples "true")
112
+ (UseRelativeWeights "false")
113
+
114
+
115
+ // several
116
+ (WriteTransformParametersEachIteration "false")
117
+ (WriteTransformParametersEachResolution "false")
118
+ (ShowExactMetricValue "false")
119
+ (ErodeFixedMask "false")
120
+ (ErodeMovingMask "false")
121
+ (UseBinaryFormatForTransformationParameters "false")
122
+
123
+ // imageSampler
124
+ (Interpolator "BSplineInterpolator")
125
+ (ImageSampler "RandomCoordinate")
126
+ (NewSamplesEveryIteration "true")
127
+ (UseRandomSampleRegion "false")
128
+
129
+
130
+ // interpolator and resampler
131
+ (ResampleInterpolator "FinalBSplineInterpolator")
132
+ (FinalBSplineInterpolationOrder 3)
133
+ (BSplineInterpolationOrder 3)
134
+ (Resampler "DefaultResampler")
135
+ (WriteIterationInfo "false")
136
+ (WriteResultImage "false")
137
+ (DefaultPixelValue 0)
138
+ (ResultImageFormat "nii.gz")
ParameterMap_SynthRad2025_MRI_pelvis.txt ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (MaximumNumberOfIterations 500 500 400 300 200)
2
+ (NumberOfSpatialSamples 3000)
3
+ (Transform "RecursiveBSplineTransform")
4
+ (NumberOfResolutions 5)
5
+ (FinalGridSpacingInPhysicalUnits 10)
6
+ (FixedImagePyramid "FixedGenericImagePyramid")
7
+ (MovingImagePyramid "MovingGenericImagePyramid")
8
+ (FixedImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
9
+ (MovingImagePyramidRescaleSchedule 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
10
+ // (GridSpacingSchedule 10.000000 5.000000 2.000000 1.000000)
11
+
12
+
13
+
14
+ (ImpactModelsPath0 "/Data/Model/TS/M731_8_Layers.pt")
15
+ (ImpactDimension0 3)
16
+ (ImpactNumberOfChannels0 1)
17
+ (ImpactPatchSize0 0 0 0)
18
+ (ImpactVoxelSize0 3 3 3)
19
+ (ImpactLayersMask0 "00000001")
20
+ (ImpactSubsetFeatures0 64)
21
+ (ImpactPCA0 0)
22
+ (ImpactDistance0 "Dice")
23
+ (ImpactLayersWeight0 1)
24
+
25
+ (ImpactModelsPath1 "/Data/Model/TS/M731_8_Layers.pt")
26
+ (ImpactDimension1 3)
27
+ (ImpactNumberOfChannels1 1)
28
+ (ImpactPatchSize1 0 0 0)
29
+ (ImpactVoxelSize1 3 3 3)
30
+ (ImpactLayersMask1 "00000001")
31
+ (ImpactSubsetFeatures1 64)
32
+ (ImpactPCA1 0)
33
+ (ImpactDistance1 "Dice")
34
+ (ImpactLayersWeight1 1)
35
+
36
+ (ImpactModelsPath2 "/Data/Model/TS/M731_8_Layers.pt")
37
+ (ImpactDimension2 3)
38
+ (ImpactNumberOfChannels2 1)
39
+ (ImpactPatchSize2 0 0 0)
40
+ (ImpactVoxelSize2 2 2 3)
41
+ (ImpactLayersMask2 "00000001")
42
+ (ImpactSubsetFeatures2 64)
43
+ (ImpactPCA2 0)
44
+ (ImpactDistance2 "Dice")
45
+ (ImpactLayersWeight2 1)
46
+
47
+ (ImpactModelsPath3 "/Data/Model/TS/M850_8_Layers.pt")
48
+ (ImpactDimension3 3)
49
+ (ImpactNumberOfChannels3 1)
50
+ (ImpactPatchSize3 0 0 0)
51
+ (ImpactVoxelSize3 2 2 3)
52
+ (ImpactLayersMask3 "00000001")
53
+ (ImpactSubsetFeatures3 64)
54
+ (ImpactPCA3 0)
55
+ (ImpactDistance3 "Dice")
56
+ (ImpactLayersWeight3 1)
57
+
58
+ (ImpactModelsPath4 "/Data/Model/TS/M850_8_Layers.pt")
59
+ (ImpactDimension4 3)
60
+ (ImpactNumberOfChannels4 1)
61
+ (ImpactPatchSize4 0 0 0)
62
+ (ImpactVoxelSize4 2 2 3)
63
+ (ImpactLayersMask4 "00000001")
64
+ (ImpactSubsetFeatures4 64)
65
+ (ImpactPCA4 0)
66
+ (ImpactDistance4 "Dice")
67
+ (ImpactLayersWeight4 1)
68
+
69
+
70
+ (ImpactUseMixedPrecision "true")
71
+ (ImpactFeaturesMapUpdateInterval -1)
72
+ (ImpactWriteFeatureMaps "false")
73
+ (ImpactMode "Static")
74
+ (ImpactGPU 0)
75
+
76
+
77
+ (Metric "Impact" "AdvancedMattesMutualInformation" "TransformBendingEnergyPenalty")
78
+ (Metric0Weight 1)
79
+ (Metric1Weight 0.7)
80
+ (Metric2Weight 10)
81
+
82
+ // imageTypes
83
+ (FixedInternalImagePixelType "float")
84
+ (MovingInternalImagePixelType "float")
85
+ (UseDirectionCosines "true")
86
+
87
+ // components
88
+ (Registration "MultiMetricMultiResolutionRegistration")
89
+ (BSplineTransformSplineOrder 3)
90
+ (UseCyclicTransform "false")
91
+
92
+ // transform
93
+ (AutomaticTransformInitialization "false")
94
+ (AutomaticTransformInitializationMethod "GeometricalCenter")
95
+ (AutomaticScalesEstimation "true")
96
+ (HowToCombineTransforms "Compose")
97
+
98
+
99
+ // optimizer
100
+ (Optimizer "AdaptiveStochasticGradientDescent")
101
+ (MaximumNumberOfSamplingAttempts 8)
102
+ (UseAdaptiveStepSizes "true")
103
+ (UseMultiThreadingForMetrics "true")
104
+ (ASGDParameterEstimationMethod "DisplacementDistribution")
105
+ //(MaximumStepLength 0.6602)
106
+ (SigmoidInitialTime 0.0)
107
+ (NoiseCompensation "true")
108
+ (NumberOfSamplesForExactGradient 4096)
109
+
110
+ // automatic
111
+ (AutomaticParameterEstimation "true")
112
+ //(SP_alpha 1)
113
+ //(SP_A 20.0)
114
+ //(SP a 400)
115
+ //(SigmoidMax 1.0)
116
+ //(SigmoidMin -0.8)
117
+ //(SigmoidScale 0.00000001)
118
+ //(NumberOfGradientMeasurements 10)
119
+ //(NumberOfJacobianMeasurements 1000)
120
+
121
+ (FixedKernelBSplineOrder 3)
122
+ (MovingKernelBSplineOrder 3)
123
+ (CheckNumberOfSamples "true")
124
+ (UseRelativeWeights "false")
125
+
126
+
127
+ // several
128
+ (WriteTransformParametersEachIteration "false")
129
+ (WriteTransformParametersEachResolution "false")
130
+ (ShowExactMetricValue "false")
131
+ (ErodeFixedMask "false")
132
+ (ErodeMovingMask "false")
133
+ (UseBinaryFormatForTransformationParameters "false")
134
+
135
+ // imageSampler
136
+ (Interpolator "BSplineInterpolator")
137
+ (ImageSampler "RandomCoordinate")
138
+ (NewSamplesEveryIteration "true")
139
+ (UseRandomSampleRegion "false")
140
+
141
+
142
+ // interpolator and resampler
143
+ (ResampleInterpolator "FinalBSplineInterpolator")
144
+ (FinalBSplineInterpolationOrder 3)
145
+ (BSplineInterpolationOrder 3)
146
+ (Resampler "DefaultResampler")
147
+ (WriteIterationInfo "false")
148
+ (WriteResultImage "false")
149
+ (DefaultPixelValue 0)
150
+ (ResultImageFormat "nii.gz")
Parameters_BSpline.txt ADDED
@@ -0,0 +1,159 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Example parameter file for B-spline registration
2
+ // C-style comments: //
3
+
4
+ // The internal pixel type, used for internal computations
5
+ // Leave to float in general.
6
+ // NB: this is not the type of the input images! The pixel
7
+ // type of the input images is automatically read from the
8
+ // images themselves.
9
+ // This setting can be changed to "short" to save some memory
10
+ // in case of very large 3D images.
11
+ (FixedInternalImagePixelType "float")
12
+ (MovingInternalImagePixelType "float")
13
+
14
+ // **************** Main Components **************************
15
+
16
+ // The following components should usually be left as they are:
17
+ (Registration "MultiResolutionRegistration")
18
+ (Interpolator "BSplineInterpolator")
19
+ (ResampleInterpolator "FinalBSplineInterpolator")
20
+ (Resampler "DefaultResampler")
21
+
22
+ // These may be changed to Fixed/MovingSmoothingImagePyramid.
23
+ // See the manual.
24
+ (FixedImagePyramid "FixedRecursiveImagePyramid")
25
+ (MovingImagePyramid "MovingRecursiveImagePyramid")
26
+
27
+ // The following components are most important:
28
+ // The optimizer AdaptiveStochasticGradientDescent (ASGD) works
29
+ // quite ok in general. The Transform and Metric are important
30
+ // and need to be chosen careful for each application. See manual.
31
+ (Optimizer "AdaptiveStochasticGradientDescent")
32
+ (Transform "BSplineTransform")
33
+ (Metric "AdvancedMattesMutualInformation")
34
+
35
+ // ***************** Transformation **************************
36
+
37
+ // The control point spacing of the bspline transformation in
38
+ // the finest resolution level. Can be specified for each
39
+ // dimension differently. Unit: mm.
40
+ // The lower this value, the more flexible the deformation.
41
+ // Low values may improve the accuracy, but may also cause
42
+ // unrealistic deformations. This is a very important setting!
43
+ // We recommend tuning it for every specific application. It is
44
+ // difficult to come up with a good 'default' value.
45
+ (FinalGridSpacingInPhysicalUnits 16)
46
+
47
+ // Alternatively, the grid spacing can be specified in voxel units.
48
+ // To do that, uncomment the following line and comment/remove
49
+ // the FinalGridSpacingInPhysicalUnits definition.
50
+ //(FinalGridSpacingInVoxels 16)
51
+
52
+ // By default the grid spacing is halved after every resolution,
53
+ // such that the final grid spacing is obtained in the last
54
+ // resolution level. You can also specify your own schedule,
55
+ // if you uncomment the following line:
56
+ //(GridSpacingSchedule 4.0 4.0 2.0 1.0)
57
+ // This setting can also be supplied per dimension.
58
+
59
+ // Whether transforms are combined by composition or by addition.
60
+ // In generally, Compose is the best option in most cases.
61
+ // It does not influence the results very much.
62
+ (HowToCombineTransforms "Compose")
63
+
64
+ //Save composite ITK transform
65
+ (ITKTransformOutputFileNameExtension "h5")
66
+ (WriteITKCompositeTransform "true")
67
+
68
+ // ******************* Similarity measure *********************
69
+
70
+ // Number of grey level bins in each resolution level,
71
+ // for the mutual information. 16 or 32 usually works fine.
72
+ // You could also employ a hierarchical strategy:
73
+ //(NumberOfHistogramBins 16 32 64)
74
+ (NumberOfHistogramBins 32)
75
+
76
+ // If you use a mask, this option is important.
77
+ // If the mask serves as region of interest, set it to false.
78
+ // If the mask indicates which pixels are valid, then set it to true.
79
+ // If you do not use a mask, the option doesn't matter.
80
+ (ErodeMask "false")
81
+
82
+ // ******************** Multiresolution **********************
83
+
84
+ // The number of resolutions. 1 Is only enough if the expected
85
+ // deformations are small. 3 or 4 mostly works fine. For large
86
+ // images and large deformations, 5 or 6 may even be useful.
87
+ (NumberOfResolutions 4)
88
+
89
+ // The downsampling/blurring factors for the image pyramids.
90
+ // By default, the images are downsampled by a factor of 2
91
+ // compared to the next resolution.
92
+ // So, in 2D, with 4 resolutions, the following schedule is used:
93
+ //(ImagePyramidSchedule 8 8 4 4 2 2 1 1 )
94
+ // And in 3D:
95
+ //(ImagePyramidSchedule 8 8 8 4 4 4 2 2 2 1 1 1 )
96
+ // You can specify any schedule, for example:
97
+ //(ImagePyramidSchedule 4 4 4 3 2 1 1 1 )
98
+ // Make sure that the number of elements equals the number
99
+ // of resolutions times the image dimension.
100
+
101
+ // ******************* Optimizer ****************************
102
+
103
+ // Maximum number of iterations in each resolution level:
104
+ // 200-2000 works usually fine for nonrigid registration.
105
+ // The more, the better, but the longer computation time.
106
+ // This is an important parameter!
107
+ (MaximumNumberOfIterations 500)
108
+
109
+ // The step size of the optimizer, in mm. By default the voxel size is used.
110
+ // which usually works well. In case of unusual high-resolution images
111
+ // (eg histology) it is necessary to increase this value a bit, to the size
112
+ // of the "smallest visible structure" in the image:
113
+ //(MaximumStepLength 1.0)
114
+
115
+ // **************** Image sampling **********************
116
+
117
+ // Number of spatial samples used to compute the mutual
118
+ // information (and its derivative) in each iteration.
119
+ // With an AdaptiveStochasticGradientDescent optimizer,
120
+ // in combination with the two options below, around 2000
121
+ // samples may already suffice.
122
+ (NumberOfSpatialSamples 2048)
123
+
124
+ // Refresh these spatial samples in every iteration, and select
125
+ // them randomly. See the manual for information on other sampling
126
+ // strategies.
127
+ (NewSamplesEveryIteration "true")
128
+ (ImageSampler "Random")
129
+
130
+ // ************* Interpolation and Resampling ****************
131
+
132
+ // Order of B-Spline interpolation used during registration/optimisation.
133
+ // It may improve accuracy if you set this to 3. Never use 0.
134
+ // An order of 1 gives linear interpolation. This is in most
135
+ // applications a good choice.
136
+ (BSplineInterpolationOrder 1)
137
+
138
+ // Order of B-Spline interpolation used for applying the final
139
+ // deformation.
140
+ // 3 gives good accuracy; recommended in most cases.
141
+ // 1 gives worse accuracy (linear interpolation)
142
+ // 0 gives worst accuracy, but is appropriate for binary images
143
+ // (masks, segmentations); equivalent to nearest neighbor interpolation.
144
+ (FinalBSplineInterpolationOrder 3)
145
+
146
+ //Default pixel value for pixels that come from outside the picture:
147
+ (DefaultPixelValue 0)
148
+
149
+ // Choose whether to generate the deformed moving image.
150
+ // You can save some time by setting this to false, if you are
151
+ // not interested in the final deformed moving image, but only
152
+ // want to analyze the deformation field for example.
153
+ (WriteResultImage "true")
154
+
155
+ // The pixel type and format of the resulting deformed moving image
156
+ (ResultImagePixelType "short")
157
+ (ResultImageFormat "mhd")
158
+
159
+
Parameters_Rigid.txt ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Example parameter file for rotation registration
2
+ // C-style comments: //
3
+
4
+ // The internal pixel type, used for internal computations
5
+ // Leave to float in general.
6
+ // NB: this is not the type of the input images! The pixel
7
+ // type of the input images is automatically read from the
8
+ // images themselves.
9
+ // This setting can be changed to "short" to save some memory
10
+ // in case of very large 3D images.
11
+ (FixedInternalImagePixelType "float")
12
+ (MovingInternalImagePixelType "float")
13
+
14
+ // **************** Main Components **************************
15
+
16
+ // The following components should usually be left as they are:
17
+ (Registration "MultiResolutionRegistration")
18
+ (Interpolator "BSplineInterpolator")
19
+ (ResampleInterpolator "FinalBSplineInterpolator")
20
+ (Resampler "DefaultResampler")
21
+
22
+ // These may be changed to Fixed/MovingSmoothingImagePyramid.
23
+ // See the manual.
24
+ (FixedImagePyramid "FixedRecursiveImagePyramid")
25
+ (MovingImagePyramid "MovingRecursiveImagePyramid")
26
+
27
+ // The following components are most important:
28
+ // The optimizer AdaptiveStochasticGradientDescent (ASGD) works
29
+ // quite ok in general. The Transform and Metric are important
30
+ // and need to be chosen careful for each application. See manual.
31
+ (Optimizer "AdaptiveStochasticGradientDescent")
32
+ (Transform "EulerTransform")
33
+ (Metric "AdvancedMattesMutualInformation")
34
+
35
+ // ***************** Transformation **************************
36
+
37
+ // Scales the rotations compared to the translations, to make
38
+ // sure they are in the same range. In general, it's best to
39
+ // use automatic scales estimation:
40
+ (AutomaticScalesEstimation "true")
41
+
42
+ // Automatically guess an initial translation by aligning the
43
+ // geometric centers of the fixed and moving.
44
+ (AutomaticTransformInitialization "true")
45
+
46
+ // Whether transforms are combined by composition or by addition.
47
+ // In generally, Compose is the best option in most cases.
48
+ // It does not influence the results very much.
49
+ (HowToCombineTransforms "Compose")
50
+
51
+ //Save composite ITK transform
52
+ (ITKTransformOutputFileNameExtension "h5")
53
+ (WriteITKCompositeTransform "true")
54
+
55
+ // ******************* Similarity measure *********************
56
+
57
+ // Number of grey level bins in each resolution level,
58
+ // for the mutual information. 16 or 32 usually works fine.
59
+ // You could also employ a hierarchical strategy:
60
+ //(NumberOfHistogramBins 16 32 64)
61
+ (NumberOfHistogramBins 32)
62
+
63
+ // If you use a mask, this option is important.
64
+ // If the mask serves as region of interest, set it to false.
65
+ // If the mask indicates which pixels are valid, then set it to true.
66
+ // If you do not use a mask, the option doesn't matter.
67
+ (ErodeMask "false")
68
+
69
+ // ******************** Multiresolution **********************
70
+
71
+ // The number of resolutions. 1 Is only enough if the expected
72
+ // deformations are small. 3 or 4 mostly works fine. For large
73
+ // images and large deformations, 5 or 6 may even be useful.
74
+ (NumberOfResolutions 4)
75
+
76
+ // The downsampling/blurring factors for the image pyramids.
77
+ // By default, the images are downsampled by a factor of 2
78
+ // compared to the next resolution.
79
+ // So, in 2D, with 4 resolutions, the following schedule is used:
80
+ //(ImagePyramidSchedule 8 8 4 4 2 2 1 1 )
81
+ // And in 3D:
82
+ //(ImagePyramidSchedule 8 8 8 4 4 4 2 2 2 1 1 1 )
83
+ // You can specify any schedule, for example:
84
+ //(ImagePyramidSchedule 4 4 4 3 2 1 1 1 )
85
+ // Make sure that the number of elements equals the number
86
+ // of resolutions times the image dimension.
87
+
88
+ // ******************* Optimizer ****************************
89
+
90
+ // Maximum number of iterations in each resolution level:
91
+ // 200-500 works usually fine for rigid registration.
92
+ // For more robustness, you may increase this to 1000-2000.
93
+ (MaximumNumberOfIterations 250)
94
+
95
+ // The step size of the optimizer, in mm. By default the voxel size is used.
96
+ // which usually works well. In case of unusual high-resolution images
97
+ // (eg histology) it is necessary to increase this value a bit, to the size
98
+ // of the "smallest visible structure" in the image:
99
+ //(MaximumStepLength 1.0)
100
+
101
+ // **************** Image sampling **********************
102
+
103
+ // Number of spatial samples used to compute the mutual
104
+ // information (and its derivative) in each iteration.
105
+ // With an AdaptiveStochasticGradientDescent optimizer,
106
+ // in combination with the two options below, around 2000
107
+ // samples may already suffice.
108
+ (NumberOfSpatialSamples 2048)
109
+
110
+ // Refresh these spatial samples in every iteration, and select
111
+ // them randomly. See the manual for information on other sampling
112
+ // strategies.
113
+ (NewSamplesEveryIteration "true")
114
+ (ImageSampler "Random")
115
+
116
+ // ************* Interpolation and Resampling ****************
117
+
118
+ // Order of B-Spline interpolation used during registration/optimisation.
119
+ // It may improve accuracy if you set this to 3. Never use 0.
120
+ // An order of 1 gives linear interpolation. This is in most
121
+ // applications a good choice.
122
+ (BSplineInterpolationOrder 1)
123
+
124
+ // Order of B-Spline interpolation used for applying the final
125
+ // deformation.
126
+ // 3 gives good accuracy; recommended in most cases.
127
+ // 1 gives worse accuracy (linear interpolation)
128
+ // 0 gives worst accuracy, but is appropriate for binary images
129
+ // (masks, segmentations); equivalent to nearest neighbor interpolation.
130
+ (FinalBSplineInterpolationOrder 3)
131
+
132
+ //Default pixel value for pixels that come from outside the picture:
133
+ (DefaultPixelValue 0)
134
+
135
+ // Choose whether to generate the deformed moving image.
136
+ // You can save some time by setting this to false, if you are
137
+ // only interested in the final (nonrigidly) deformed moving image
138
+ // for example.
139
+ (WriteResultImage "true")
140
+
141
+ // The pixel type and format of the resulting deformed moving image
142
+ (ResultImagePixelType "short")
143
+ (ResultImageFormat "mhd")
144
+
145
+
Preprocess.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import SimpleITK as sitk
2
+ import numpy as np
3
+
4
+ def standardize_MRI(image: sitk.Image) -> sitk.Image:
5
+ data = sitk.GetArrayFromImage(image)
6
+ data = (data-data.mean())/data.std()
7
+ result = sitk.GetImageFromArray(data)
8
+ result.CopyInformation(image)
9
+ return result
10
+
11
+ def clip_and_standardize_CT(image: sitk.Image) -> sitk.Image:
12
+ data = sitk.GetArrayFromImage(image)
13
+ data[data < -1024] = -1024
14
+ data[data > 276.0] = 276
15
+ data = (data-(-370.00039267657144))/436.5998675471528
16
+ result = sitk.GetImageFromArray(data)
17
+ result.CopyInformation(image)
18
+ return result
19
+
20
+ def standardize_ImageNet(image: sitk.Image) -> sitk.Image:
21
+ data = sitk.GetArrayFromImage(image)
22
+ data = (data-np.min(data))/(np.max(data)-np.min(data))
23
+ data = (data-0.485)/0.229
24
+ result = sitk.GetImageFromArray(data)
25
+ result.CopyInformation(image)
26
+ return result
PresetDatabase.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "presets": [
3
+ {
4
+ "GENERIC_MI": {
5
+ "display_name": "Generic",
6
+ "parameter_maps": [
7
+ "Parameters_Rigid.txt",
8
+ "Parameters_BSpline.txt"
9
+ ],
10
+ "models": [],
11
+ "preprocess_function": "",
12
+ "iterations": 3000,
13
+ "short_description": "Generic image registration elastix.",
14
+ "description": "blablabla"
15
+ }
16
+ },
17
+ {
18
+ "IMPACT_M850_bspline": {
19
+ "display_name": "M850 bspline",
20
+ "parameter_maps": [
21
+ "ParameterMap_SynthRad2023_MRI_pelvisV3.txt"
22
+ ],
23
+ "models": [
24
+ "TS/M850_8_Layers.pt"
25
+ ],
26
+ "preprocess_function": "Preprocess:standardize_MRI",
27
+ "iterations": 1900,
28
+ "short_description": "Synthrad 2023.",
29
+ "description": "blablabla1"
30
+ }
31
+ }
32
+ ]
33
+ }