Skip to content

Commit 269ecea

Browse files
committed
Updates submodule and build
1 parent 16e53d1 commit 269ecea

File tree

9 files changed

+19
-82
lines changed

9 files changed

+19
-82
lines changed
-34 KB
Binary file not shown.

RATapi/outputs.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -324,8 +324,6 @@ class DreamOutput(RATResult):
324324
The runtime of the DREAM algorithm in seconds.
325325
iteration : float
326326
The number of iterations performed.
327-
modelOutput : float
328-
Unused. Will always be 0.
329327
AR : np.ndarray
330328
A two-column array where ``DreamOutput.AR[i, 0]`` is an iteration number
331329
and ``DreamOutput.AR[i, 1]`` is the average acceptance rate of chain step
@@ -345,7 +343,6 @@ class DreamOutput(RATResult):
345343
outlierChains: np.ndarray
346344
runtime: float
347345
iteration: float
348-
modelOutput: float
349346
AR: np.ndarray
350347
R_stat: np.ndarray
351348
CR: np.ndarray
@@ -484,7 +481,6 @@ def make_results(
484481
outlierChains=bayes_results.dreamOutput.outlierChains,
485482
runtime=bayes_results.dreamOutput.runtime,
486483
iteration=bayes_results.dreamOutput.iteration,
487-
modelOutput=bayes_results.dreamOutput.modelOutput,
488484
AR=bayes_results.dreamOutput.AR,
489485
R_stat=bayes_results.dreamOutput.R_stat,
490486
CR=bayes_results.dreamOutput.CR,

cpp/RAT

Submodule RAT updated 172 files

cpp/includes/defines.h

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -237,8 +237,6 @@ runtime : float
237237
The runtime of the DREAM algorithm in seconds.
238238
iteration : float
239239
The number of iterations performed.
240-
modelOutput : float
241-
Unused. Will always be 0.
242240
AR : np.ndarray[np.float]
243241
A two-column array where ``DreamOutput.AR[i, 0]`` is an iteration number
244242
and ``DreamOutput.AR[i, 1]`` is the average acceptance rate of chain step
@@ -259,7 +257,6 @@ struct DreamOutput
259257
py::array_t<real_T> outlierChains;
260258
real_T runtime;
261259
real_T iteration;
262-
real_T modelOutput;
263260
py::array_t<real_T> AR;
264261
py::array_t<real_T> R_stat;
265262
py::array_t<real_T> CR;
@@ -354,12 +351,12 @@ backgrounds : list
354351
The background for each contrast defined over the simulation range.
355352
resolutions : list
356353
The resolution for each contrast defined over the simulation range.
357-
layerSlds : list
358-
The array of layer parameter values for each contrast.
359354
sldProfiles : list
360355
The SLD profiles for each contrast.
356+
layers : list
357+
The array of layer parameter values for each contrast.
361358
resampledLayers : list
362-
If resampling is used, the SLD for each contrast after resampling has been performed.
359+
If resampling is used, the array of layer parameter values for each contrast after resampling has been performed.
363360
calculationResults : RATapi.rat_core.Calculation
364361
The chi-squared fit results from the final calculation and fit.
365362
contrastParams : RATapi.rat_core.ContrastParams
@@ -377,8 +374,8 @@ struct OutputResult {
377374
py::list shiftedData;
378375
py::list backgrounds;
379376
py::list resolutions;
380-
py::list layerSlds;
381377
py::list sldProfiles;
378+
py::list layers;
382379
py::list resampledLayers;
383380
Calculation calculationResults {};
384381
ContrastParams contrastParams {};

cpp/rat.cpp

Lines changed: 12 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -301,21 +301,6 @@ RAT::b_ProblemDefinition createProblemDefinitionStruct(const ProblemDefinition&
301301
}
302302

303303

304-
RAT::ProblemLimits createProblemLimitsStruct(const Limits& limits)
305-
{
306-
RAT::ProblemLimits limits_struct;
307-
limits_struct.params = customCaller("Limits.params", pyArrayToRatArray2d, limits.params);
308-
limits_struct.backgroundParams = customCaller("Limits.backgroundParams", pyArrayToRatArray2d, limits.backgroundParams);
309-
limits_struct.scalefactors = customCaller("Limits.scalefactors", pyArrayToRatArray2d, limits.scalefactors);
310-
limits_struct.bulkIns = customCaller("Limits.bulkIns", pyArrayToRatArray2d, limits.bulkIns);
311-
limits_struct.bulkOuts = customCaller("Limits.bulkOuts", pyArrayToRatArray2d, limits.bulkOuts);
312-
limits_struct.resolutionParams = customCaller("Limits.resolutionParams", pyArrayToRatArray2d, limits.resolutionParams);
313-
limits_struct.domainRatios = customCaller("Limits.domainRatios", pyArrayToRatArray2d, limits.domainRatios);
314-
315-
return limits_struct;
316-
}
317-
318-
319304
RAT::Controls createControlsStruct(const Control& control)
320305
{
321306
RAT::Controls control_struct;
@@ -391,26 +376,26 @@ OutputResult OutputResultFromStruct(const RAT::Results result)
391376
output_result.resolutions.append(array);
392377
}
393378

394-
for (int32_T idx0{0}; idx0 < result.layerSlds.size(0); idx0++) {
379+
for (int32_T idx0{0}; idx0 < result.sldProfiles.size(0); idx0++) {
395380
py::list inner_list;
396-
for (int32_T idx1{0}; idx1 < result.layerSlds.size(1); idx1++) {
397-
auto tmp = result.layerSlds[idx0 + result.layerSlds.size(0) * idx1];
381+
for (int32_T idx1{0}; idx1 < result.sldProfiles.size(1); idx1++) {
382+
auto tmp = result.sldProfiles[idx0 + result.sldProfiles.size(0) * idx1];
398383
auto array = py::array_t<real_T, py::array::f_style>({tmp.f1.size(0), tmp.f1.size(1)});
399384
std::memcpy(array.request().ptr, tmp.f1.data(), array.nbytes());
400385
inner_list.append(array);
401386
}
402-
output_result.layerSlds.append(inner_list);
387+
output_result.sldProfiles.append(inner_list);
403388
}
404389

405-
for (int32_T idx0{0}; idx0 < result.sldProfiles.size(0); idx0++) {
390+
for (int32_T idx0{0}; idx0 < result.layers.size(0); idx0++) {
406391
py::list inner_list;
407-
for (int32_T idx1{0}; idx1 < result.sldProfiles.size(1); idx1++) {
408-
auto tmp = result.sldProfiles[idx0 + result.sldProfiles.size(0) * idx1];
392+
for (int32_T idx1{0}; idx1 < result.layers.size(1); idx1++) {
393+
auto tmp = result.layers[idx0 + result.layers.size(0) * idx1];
409394
auto array = py::array_t<real_T, py::array::f_style>({tmp.f1.size(0), tmp.f1.size(1)});
410395
std::memcpy(array.request().ptr, tmp.f1.data(), array.nbytes());
411396
inner_list.append(array);
412397
}
413-
output_result.sldProfiles.append(inner_list);
398+
output_result.layers.append(inner_list);
414399
}
415400

416401
for (int32_T idx0{0}; idx0 < result.resampledLayers.size(0); idx0++) {
@@ -548,7 +533,6 @@ BayesResults bayesResultsFromStruct(const RAT::BayesResults results)
548533
bayesResults.dreamOutput.outlierChains = pyArray2dFromBoundedArray<coder::bounded_array<real_T, 2000U, 2U>>(results.dreamOutput.outlierChains);
549534
bayesResults.dreamOutput.runtime = results.dreamOutput.runtime;
550535
bayesResults.dreamOutput.iteration = results.dreamOutput.iteration;
551-
bayesResults.dreamOutput.modelOutput = results.dreamOutput.modelOutput;
552536
bayesResults.dreamOutput.R_stat = pyArrayFromRatArray2d(results.dreamOutput.R_stat);
553537
bayesResults.dreamOutput.CR = pyArrayFromRatArray2d(results.dreamOutput.CR);
554538
bayesResults.dreamOutput.AR = pyArray2dFromBoundedArray<coder::bounded_array<real_T, 2000U, 2U>>(results.dreamOutput.AR);
@@ -582,8 +566,6 @@ Parameters
582566
----------
583567
problem_def : Rat.rat_core.ProblemDefinition
584568
The project input for the RAT calculation.
585-
limits : RATapi.rat_core.Limits
586-
Min and max values for each parameter defined in the problem definition.
587569
control : RATapi.rat_core.Control
588570
The controls object for the RAT calculation.
589571
@@ -597,16 +579,15 @@ bayes_result : Rat.rat_core.BayesResults
597579
The extra results if RAT calculation is Bayesian.
598580
)";
599581

600-
py::tuple RATMain(const ProblemDefinition& problem_def, const Limits& limits, const Control& control)
582+
py::tuple RATMain(const ProblemDefinition& problem_def, const Control& control)
601583
{
602584
RAT::b_ProblemDefinition problem_def_struct = createProblemDefinitionStruct(problem_def);
603-
RAT::ProblemLimits limits_struct = createProblemLimitsStruct(limits);
604585
RAT::Controls control_struct = createControlsStruct(control);
605586
// Output
606587
RAT::Results results;
607588
RAT::BayesResults bayesResults;
608589
// Call the entry-point
609-
RAT::RATMain(&problem_def_struct, &limits_struct, &control_struct, &results, &bayesResults);
590+
RAT::RATMain(&problem_def_struct, &control_struct, &results, &bayesResults);
610591
// Copy result to output
611592
auto out_problem_def = problemDefinitionFromStruct(problem_def_struct);
612593
out_problem_def.customFiles = problem_def.customFiles.attr("copy")();
@@ -802,7 +783,6 @@ PYBIND11_MODULE(rat_core, m) {
802783
.def_readwrite("outlierChains", &DreamOutput::outlierChains)
803784
.def_readwrite("runtime", &DreamOutput::runtime)
804785
.def_readwrite("iteration", &DreamOutput::iteration)
805-
.def_readwrite("modelOutput", &DreamOutput::modelOutput)
806786
.def_readwrite("AR", &DreamOutput::AR)
807787
.def_readwrite("R_stat", &DreamOutput::R_stat)
808788
.def_readwrite("CR", &DreamOutput::CR);
@@ -836,8 +816,8 @@ PYBIND11_MODULE(rat_core, m) {
836816
.def_readwrite("shiftedData", &OutputResult::shiftedData)
837817
.def_readwrite("backgrounds", &OutputResult::backgrounds)
838818
.def_readwrite("resolutions", &OutputResult::resolutions)
839-
.def_readwrite("layerSlds", &OutputResult::layerSlds)
840819
.def_readwrite("sldProfiles", &OutputResult::sldProfiles)
820+
.def_readwrite("layers", &OutputResult::layers)
841821
.def_readwrite("resampledLayers", &OutputResult::resampledLayers)
842822
.def_readwrite("calculationResults", &OutputResult::calculationResults)
843823
.def_readwrite("contrastParams", &OutputResult::contrastParams)
@@ -912,39 +892,6 @@ PYBIND11_MODULE(rat_core, m) {
912892
return chk;
913893
}));
914894

915-
py::class_<Limits>(m, "Limits", docsLimits.c_str())
916-
.def(py::init<>())
917-
.def_readwrite("params", &Limits::params)
918-
.def_readwrite("backgroundParams", &Limits::backgroundParams)
919-
.def_readwrite("scalefactors", &Limits::scalefactors)
920-
.def_readwrite("bulkIns", &Limits::bulkIns)
921-
.def_readwrite("bulkOuts", &Limits::bulkOuts)
922-
.def_readwrite("resolutionParams", &Limits::resolutionParams)
923-
.def_readwrite("domainRatios", &Limits::domainRatios)
924-
.def(py::pickle(
925-
[](const Limits &lim) { // __getstate__
926-
/* Return a tuple that fully encodes the state of the object */
927-
return py::make_tuple(lim.params, lim.backgroundParams, lim.scalefactors, lim.bulkIns, lim.bulkOuts,
928-
lim.resolutionParams, lim.domainRatios);
929-
},
930-
[](py::tuple t) { // __setstate__
931-
if (t.size() != 7)
932-
throw std::runtime_error("Encountered invalid state unpickling Limits object!");
933-
934-
/* Create a new C++ instance */
935-
Limits lim;
936-
937-
lim.params = t[0].cast<py::array_t<real_T>>();
938-
lim.backgroundParams = t[1].cast<py::array_t<real_T>>();
939-
lim.scalefactors = t[2].cast<py::array_t<real_T>>();
940-
lim.bulkIns = t[3].cast<py::array_t<real_T>>();
941-
lim.bulkOuts = t[4].cast<py::array_t<real_T>>();
942-
lim.resolutionParams = t[5].cast<py::array_t<real_T>>();
943-
lim.domainRatios = t[6].cast<py::array_t<real_T>>();
944-
945-
return lim;
946-
}));
947-
948895
py::class_<Control>(m, "Control", docsControl.c_str())
949896
.def(py::init<>())
950897
.def_readwrite("parallel", &Control::parallel)
@@ -1150,7 +1097,7 @@ PYBIND11_MODULE(rat_core, m) {
11501097
return p;
11511098
}));
11521099

1153-
m.def("RATMain", &RATMain, docsRATMain.c_str(), py::arg("problem_def"), py::arg("limits"), py::arg("control"));
1100+
m.def("RATMain", &RATMain, docsRATMain.c_str(), py::arg("problem_def"), py::arg("control"));
11541101

11551102
m.def("makeSLDProfileXY", &makeSLDProfileXY, docsMakeSLDProfileXY.c_str(),
11561103
py::arg("bulk_in"), py::arg("bulk_out"), py::arg("ssub"), py::arg("layers"), py::arg("number_of_repeats") = DEFAULT_NREPEATS);

tests/conftest.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3984,7 +3984,6 @@ def dream_bayes():
39843984
bayes.dreamOutput.outlierChains = np.array([[0.0, 0.0]])
39853985
bayes.dreamOutput.runtime = 2.6e-06
39863986
bayes.dreamOutput.iteration = 2.0
3987-
bayes.dreamOutput.modelOutput = 0.0
39883987
bayes.dreamOutput.AR = np.array([[1.0, np.nan]])
39893988
bayes.dreamOutput.R_stat = np.array(
39903989
[
@@ -6463,7 +6462,6 @@ def dream_results():
64636462
outlierChains=np.array([[0.0, 0.0]]),
64646463
runtime=2.6e-06,
64656464
iteration=2.0,
6466-
modelOutput=0.0,
64676465
AR=np.array([[1.0, np.nan]]),
64686466
R_stat=np.array(
64696467
[

tests/test_inputs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ def custom_xy_controls():
397397
controls = Control()
398398
controls.procedure = Procedures.Calculate
399399
controls.parallel = Parallel.Single
400-
controls.calcSldDuringFit = True
400+
controls.calcSldDuringFit = False
401401
controls.resampleMinAngle = 0.9
402402
controls.resampleNPoints = 50.0
403403
controls.display = Display.Iter

tests/test_outputs.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,6 @@ def dream_str():
119119
"\toutlierChains = Data array: [1 x 2],\n"
120120
"\truntime = 2.6e-06,\n"
121121
"\titeration = 2.0,\n"
122-
"\tmodelOutput = 0.0,\n"
123122
"\tAR = Data array: [1 x 2],\n"
124123
"\tR_stat = Data array: [1 x 19],\n"
125124
"\tCR = Data array: [1 x 4],\n"

tests/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def check_bayes_fields_equal(actual_results, expected_results) -> None:
109109
"IO",
110110
"storeOutput",
111111
],
112-
"dreamOutput": ["runtime", "iteration", "modelOutput"],
112+
"dreamOutput": ["runtime", "iteration"],
113113
"nestedSamplerOutput": ["logZ"],
114114
}
115115

0 commit comments

Comments
 (0)