| 138 let base_spread = Gaussian { variance : Variance1 }; |
138 let base_spread = Gaussian { variance : Variance1 }; |
| 139 let spread_cutoff = BallIndicator { r : CutOff1, exponent : Linfinity }; |
139 let spread_cutoff = BallIndicator { r : CutOff1, exponent : Linfinity }; |
| 140 Box::new(Named { name, data : ExperimentV2 { |
140 Box::new(Named { name, data : ExperimentV2 { |
| 141 domain : [[0.0, 1.0]].into(), |
141 domain : [[0.0, 1.0]].into(), |
| 142 sensor_count : [N_SENSORS_1D], |
142 sensor_count : [N_SENSORS_1D], |
| 143 regularisation : Regularisation::Radon(cli.alpha.unwrap_or(0.09)), |
143 regularisation : Regularisation::NonnegRadon(cli.alpha.unwrap_or(0.09)), |
| 144 noise_distr : SerializableNormal::new(0.0, cli.variance.unwrap_or(0.2))?, |
144 noise_distr : SerializableNormal::new(0.0, cli.variance.unwrap_or(0.2))?, |
| 145 dataterm : DataTerm::L2Squared, |
145 dataterm : DataTerm::L2Squared, |
| 146 μ_hat : MU_TRUE_1D_BASIC.into(), |
146 μ_hat : MU_TRUE_1D_BASIC.into(), |
| 147 sensor : BallIndicator { r : SensorWidth1D, exponent : Linfinity }, |
147 sensor : BallIndicator { r : SensorWidth1D, exponent : Linfinity }, |
| 148 spread : Prod(spread_cutoff, base_spread), |
148 spread : Prod(spread_cutoff, base_spread), |
| 155 Experiment1DFast => { |
155 Experiment1DFast => { |
| 156 let base_spread = HatConv { radius : Hat1 }; |
156 let base_spread = HatConv { radius : Hat1 }; |
| 157 Box::new(Named { name, data : ExperimentV2 { |
157 Box::new(Named { name, data : ExperimentV2 { |
| 158 domain : [[0.0, 1.0]].into(), |
158 domain : [[0.0, 1.0]].into(), |
| 159 sensor_count : [N_SENSORS_1D], |
159 sensor_count : [N_SENSORS_1D], |
| 160 regularisation : Regularisation::Radon(cli.alpha.unwrap_or(0.06)), |
160 regularisation : Regularisation::NonnegRadon(cli.alpha.unwrap_or(0.06)), |
| 161 noise_distr : SerializableNormal::new(0.0, cli.variance.unwrap_or(0.2))?, |
161 noise_distr : SerializableNormal::new(0.0, cli.variance.unwrap_or(0.2))?, |
| 162 dataterm : DataTerm::L2Squared, |
162 dataterm : DataTerm::L2Squared, |
| 163 μ_hat : MU_TRUE_1D_BASIC.into(), |
163 μ_hat : MU_TRUE_1D_BASIC.into(), |
| 164 sensor : BallIndicator { r : SensorWidth1D, exponent : Linfinity }, |
164 sensor : BallIndicator { r : SensorWidth1D, exponent : Linfinity }, |
| 165 spread : base_spread, |
165 spread : base_spread, |
| 173 let base_spread = Gaussian { variance : Variance1 }; |
173 let base_spread = Gaussian { variance : Variance1 }; |
| 174 let spread_cutoff = BallIndicator { r : CutOff1, exponent : Linfinity }; |
174 let spread_cutoff = BallIndicator { r : CutOff1, exponent : Linfinity }; |
| 175 Box::new(Named { name, data : ExperimentV2 { |
175 Box::new(Named { name, data : ExperimentV2 { |
| 176 domain : [[0.0, 1.0]; 2].into(), |
176 domain : [[0.0, 1.0]; 2].into(), |
| 177 sensor_count : [N_SENSORS_2D; 2], |
177 sensor_count : [N_SENSORS_2D; 2], |
| 178 regularisation : Regularisation::Radon(cli.alpha.unwrap_or(0.19)), |
178 regularisation : Regularisation::NonnegRadon(cli.alpha.unwrap_or(0.19)), |
| 179 noise_distr : SerializableNormal::new(0.0, cli.variance.unwrap_or(0.25))?, |
179 noise_distr : SerializableNormal::new(0.0, cli.variance.unwrap_or(0.25))?, |
| 180 dataterm : DataTerm::L2Squared, |
180 dataterm : DataTerm::L2Squared, |
| 181 μ_hat : MU_TRUE_2D_BASIC.into(), |
181 μ_hat : MU_TRUE_2D_BASIC.into(), |
| 182 sensor : BallIndicator { r : SensorWidth2D, exponent : Linfinity }, |
182 sensor : BallIndicator { r : SensorWidth2D, exponent : Linfinity }, |
| 183 spread : Prod(spread_cutoff, base_spread), |
183 spread : Prod(spread_cutoff, base_spread), |
| 192 Experiment2DFast => { |
192 Experiment2DFast => { |
| 193 let base_spread = HatConv { radius : Hat1 }; |
193 let base_spread = HatConv { radius : Hat1 }; |
| 194 Box::new(Named { name, data : ExperimentV2 { |
194 Box::new(Named { name, data : ExperimentV2 { |
| 195 domain : [[0.0, 1.0]; 2].into(), |
195 domain : [[0.0, 1.0]; 2].into(), |
| 196 sensor_count : [N_SENSORS_2D; 2], |
196 sensor_count : [N_SENSORS_2D; 2], |
| 197 regularisation : Regularisation::Radon(cli.alpha.unwrap_or(0.12)), |
197 regularisation : Regularisation::NonnegRadon(cli.alpha.unwrap_or(0.12)), |
| 198 noise_distr : SerializableNormal::new(0.0, cli.variance.unwrap_or(0.15))?, //0.25 |
198 noise_distr : SerializableNormal::new(0.0, cli.variance.unwrap_or(0.15))?, //0.25 |
| 199 dataterm : DataTerm::L2Squared, |
199 dataterm : DataTerm::L2Squared, |
| 200 μ_hat : MU_TRUE_2D_BASIC.into(), |
200 μ_hat : MU_TRUE_2D_BASIC.into(), |
| 201 sensor : BallIndicator { r : SensorWidth2D, exponent : Linfinity }, |
201 sensor : BallIndicator { r : SensorWidth2D, exponent : Linfinity }, |
| 202 spread : base_spread, |
202 spread : base_spread, |