Skip to content

Commit 29a36a7

Browse files
authored
Merge branch 'master' into improved_superquadrics
2 parents 68bb1aa + 4e4c60c commit 29a36a7

File tree

94 files changed

+1053
-2201
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+1053
-2201
lines changed

src/Core/Algorithms/Base/Variable.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,12 @@ namespace Algorithms {
124124
return vars;
125125
}
126126

127+
template <typename T>
128+
Variable::List makeHomogeneousVariableListFill(const T& value, size_t num)
129+
{
130+
return makeHomogeneousVariableList([value](size_t) { return value; }, num);
131+
}
132+
127133
template <typename T>
128134
std::vector<T> toTypedVector(const Variable::List& list, std::function<T(const Variable&)> convert)
129135
{

src/Core/Algorithms/BrainStimulator/ElectrodeCoilSetupAlgorithm.cc

Lines changed: 28 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -834,8 +834,8 @@ boost::tuple<DenseMatrixHandle, FieldHandle, FieldHandle, VariableHandle> Electr
834834
SplitFieldByDomainAlgo algo_splitfieldbydomain;
835835
algo_splitfieldbydomain.setLogger(getLogger());
836836
FieldList scalp_elc_sphere;
837-
algo_splitfieldbydomain.set(SplitFieldByDomainAlgo::SortBySize, true);
838-
algo_splitfieldbydomain.set(SplitFieldByDomainAlgo::SortAscending, false);
837+
algo_splitfieldbydomain.set(Fields::Parameters::SortBySize, true);
838+
algo_splitfieldbydomain.set(Fields::Parameters::SortAscending, false);
839839
algo_splitfieldbydomain.runImpl(scalp, scalp_elc_sphere);
840840

841841
VMesh::Elem::index_type c_ind = 0;
@@ -853,8 +853,8 @@ boost::tuple<DenseMatrixHandle, FieldHandle, FieldHandle, VariableHandle> Electr
853853
}
854854

855855
SplitFieldByConnectedRegionAlgo algo_splitbyconnectedregion;
856-
algo_splitbyconnectedregion.set(SplitFieldByConnectedRegionAlgo::SortDomainBySize(), true);
857-
algo_splitbyconnectedregion.set(SplitFieldByConnectedRegionAlgo::SortAscending(), false);
856+
algo_splitbyconnectedregion.set(Fields::Parameters::SortDomainBySize, true);
857+
algo_splitbyconnectedregion.set(Fields::Parameters::SortAscending, false);
858858
auto scalp_result = algo_splitbyconnectedregion.run(tmp_fld);
859859

860860
FieldHandle small_scalp_surf;
@@ -875,11 +875,9 @@ boost::tuple<DenseMatrixHandle, FieldHandle, FieldHandle, VariableHandle> Electr
875875

876876
if (!small_scalp_surf->vfield()->is_lineardata())
877877
{
878-
879-
using namespace SCIRun::Core::Algorithms::Fields::Parameters;
880878
{
881-
convert_field_basis.setOption(OutputType, "Linear");
882-
convert_field_basis.set(BuildBasisMapping, false);
879+
convert_field_basis.setOption(Fields::Parameters::OutputType, "Linear");
880+
convert_field_basis.set(Fields::Parameters::BuildBasisMapping, false);
883881
convert_field_basis.runImpl(small_scalp_surf, scalp_linear_data);
884882
}
885883
}
@@ -901,18 +899,18 @@ boost::tuple<DenseMatrixHandle, FieldHandle, FieldHandle, VariableHandle> Electr
901899
if (interpolate_elec_shape)
902900
{
903901
FieldHandle sdf_output_linear;
904-
using namespace SCIRun::Core::Algorithms::Fields::Parameters; /// convert the data values (zero's) to elements
902+
// convert the data values (zero's) to elements
905903
{
906-
convert_field_basis.setOption(OutputType, "Linear");
907-
convert_field_basis.set(BuildBasisMapping, false);
904+
convert_field_basis.setOption(Fields::Parameters::OutputType, "Linear");
905+
convert_field_basis.set(Fields::Parameters::BuildBasisMapping, false);
908906
convert_field_basis.runImpl(sdf_output, sdf_output_linear);
909907
}
910908

911909
/// use clipvolumebyisovalue to get the electrode patch edges right
912910
FieldHandle clipmeshbyisoval_output;
913911
ClipMeshByIsovalueAlgo clipmeshbyisoval_algo;
914-
clipmeshbyisoval_algo.set(ClipMeshByIsovalueAlgo::ScalarIsoValue, 0.0);
915-
clipmeshbyisoval_algo.set(ClipMeshByIsovalueAlgo::LessThanIsoValue, true);
912+
clipmeshbyisoval_algo.set(Fields::Parameters::ScalarIsoValue, 0.0);
913+
clipmeshbyisoval_algo.set(Fields::Parameters::LessThanIsoValue, true);
916914
clipmeshbyisoval_algo.run(sdf_output_linear, clipmeshbyisoval_output);
917915
/// check if we could find the electrode location r that is projected onto the scalp to ensure its the desired surface
918916
bool found_correct_surface = false;
@@ -937,8 +935,8 @@ boost::tuple<DenseMatrixHandle, FieldHandle, FieldHandle, VariableHandle> Electr
937935
}
938936
if (!found_correct_surface)
939937
{
940-
clipmeshbyisoval_algo.set(ClipMeshByIsovalueAlgo::ScalarIsoValue, 0.0);
941-
clipmeshbyisoval_algo.set(ClipMeshByIsovalueAlgo::LessThanIsoValue, false);
938+
clipmeshbyisoval_algo.set(Fields::Parameters::ScalarIsoValue, 0.0);
939+
clipmeshbyisoval_algo.set(Fields::Parameters::LessThanIsoValue, false);
942940
clipmeshbyisoval_algo.run(sdf_output, clipmeshbyisoval_output);
943941
if (clipmeshbyisoval_output)
944942
{
@@ -967,17 +965,17 @@ boost::tuple<DenseMatrixHandle, FieldHandle, FieldHandle, VariableHandle> Electr
967965

968966
}
969967

970-
using namespace SCIRun::Core::Algorithms::Fields::Parameters; /// convert the data values (zero's) to elements
968+
// convert the data values (zero's) to elements
971969
{
972-
convert_field_basis.setOption(OutputType, "Constant");
973-
convert_field_basis.set(BuildBasisMapping, false);
970+
convert_field_basis.setOption(Fields::Parameters::OutputType, "Constant");
971+
convert_field_basis.set(Fields::Parameters::BuildBasisMapping, false);
974972
convert_field_basis.runImpl(clipmeshbyisoval_output, final_electrode_sponge_surf);
975973
}
976974

977975
final_electrode_sponge_surf->vfield()->set_all_values(0.0); /// Precaution: set data values (defined at elements) to zero
978976
SplitFieldByConnectedRegionAlgo algo_splitbyconnectedregion_1;
979-
algo_splitbyconnectedregion_1.set(SplitFieldByConnectedRegionAlgo::SortDomainBySize(), true);
980-
algo_splitbyconnectedregion_1.set(SplitFieldByConnectedRegionAlgo::SortAscending(), false);
977+
algo_splitbyconnectedregion_1.set(Fields::Parameters::SortDomainBySize, true);
978+
algo_splitbyconnectedregion_1.set(Fields::Parameters::SortAscending, false);
981979
result = algo_splitbyconnectedregion_1.run(final_electrode_sponge_surf);
982980
}
983981

@@ -1040,10 +1038,10 @@ boost::tuple<DenseMatrixHandle, FieldHandle, FieldHandle, VariableHandle> Electr
10401038
continue;/// in that case go to the next electrode -> leave the for loop thats iterating over
10411039
}
10421040

1043-
using namespace SCIRun::Core::Algorithms::Fields::Parameters; /// convert the data values (zero's) to elements
1041+
/// convert the data values (zero's) to elements
10441042
{
1045-
convert_field_basis.setOption(OutputType, "Constant");
1046-
convert_field_basis.set(BuildBasisMapping, false);
1043+
convert_field_basis.setOption(Fields::Parameters::OutputType, "Constant");
1044+
convert_field_basis.set(Fields::Parameters::BuildBasisMapping, false);
10471045
convert_field_basis.runImpl(sdf_output, final_electrode_sponge_surf);
10481046
}
10491047

@@ -1087,8 +1085,8 @@ boost::tuple<DenseMatrixHandle, FieldHandle, FieldHandle, VariableHandle> Electr
10871085
SplitFieldByDomainAlgo algo_splitfieldbydomain;
10881086
algo_splitfieldbydomain.setLogger(getLogger());
10891087
FieldList final_electrode_sponge_surf_domainsplit;
1090-
algo_splitfieldbydomain.set(SplitFieldByDomainAlgo::SortBySize, true);
1091-
algo_splitfieldbydomain.set(SplitFieldByDomainAlgo::SortAscending, false);
1088+
algo_splitfieldbydomain.set(Fields::Parameters::SortBySize, true);
1089+
algo_splitfieldbydomain.set(Fields::Parameters::SortAscending, false);
10921090
algo_splitfieldbydomain.runImpl(final_electrode_sponge_surf, final_electrode_sponge_surf_domainsplit);
10931091
found_elc_surf = false;
10941092
FieldHandle find_elc_surf;
@@ -1115,8 +1113,8 @@ boost::tuple<DenseMatrixHandle, FieldHandle, FieldHandle, VariableHandle> Electr
11151113
}
11161114

11171115
SplitFieldByConnectedRegionAlgo algo_splitbyconnectedregion;
1118-
algo_splitbyconnectedregion.set(SplitFieldByConnectedRegionAlgo::SortDomainBySize(), true);
1119-
algo_splitbyconnectedregion.set(SplitFieldByConnectedRegionAlgo::SortAscending(), false);
1116+
algo_splitbyconnectedregion.set(Fields::Parameters::SortDomainBySize, true);
1117+
algo_splitbyconnectedregion.set(Fields::Parameters::SortAscending, false);
11201118
result = algo_splitbyconnectedregion.run(find_elc_surf);
11211119
}
11221120

@@ -1391,21 +1389,9 @@ boost::tuple<VariableHandle, DenseMatrixHandle, FieldHandle, FieldHandle, FieldH
13911389
/// check GUI inputs:
13921390
/// 1) Is there any valid row in the GUI table, so at least one row where both ComboBoxes are set
13931391
///
1394-
std::vector<double> elc_prototyp_map;
1395-
std::vector<double> elc_thickness;
1396-
std::vector<double> elc_angle_rotation;
1397-
std::vector<double> elc_x;
1398-
std::vector<double> elc_y;
1399-
std::vector<double> elc_z;
1400-
1401-
std::vector<double> coil_prototyp_map;
1402-
std::vector<double> coil_angle_rotation;
1403-
std::vector<double> coil_x;
1404-
std::vector<double> coil_y;
1405-
std::vector<double> coil_z;
1406-
std::vector<double> coil_nx;
1407-
std::vector<double> coil_ny;
1408-
std::vector<double> coil_nz;
1392+
std::vector<double> elc_prototyp_map, elc_thickness, elc_angle_rotation, elc_x, elc_y, elc_z;
1393+
1394+
std::vector<double> coil_prototyp_map, coil_angle_rotation, coil_x, coil_y, coil_z, coil_nx, coil_ny, coil_nz;
14091395

14101396
/// The rest of the run function checks the validity of the GUI inputs. If there are not valid (="???") it tries to use the prototype inputs and if valid it calls functions make_tdcs_electrodes or make_tms
14111397
for (int i = 0; i < table.size(); i++)

src/Core/Algorithms/BrainStimulator/SetConductivitiesToTetMeshAlgorithm.cc

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#include <Core/Datatypes/Legacy/Field/VField.h>
3939
#include <Core/Datatypes/Legacy/Field/VMesh.h>
4040
#include <Core/Algorithms/Base/AlgorithmPreconditions.h>
41+
#include <Core/Algorithms/Base/AlgorithmVariableNames.h>
4142
#include <Core/Datatypes/Legacy/Field/VField.h>
4243
#include <Core/Datatypes/Legacy/Field/FieldInformation.h>
4344
#include <Core/GeometryPrimitives/Vector.h>
@@ -63,9 +64,6 @@ ALGORITHM_PARAMETER_DEF(BrainStimulator, WM);
6364
ALGORITHM_PARAMETER_DEF(BrainStimulator, Electrode);
6465
ALGORITHM_PARAMETER_DEF(BrainStimulator, InternalAir);
6566

66-
AlgorithmInputName SetConductivitiesToMeshAlgorithm::InputField("InputField");
67-
AlgorithmOutputName SetConductivitiesToMeshAlgorithm::OutputField("OutputField");
68-
6967
SetConductivitiesToMeshAlgorithm::SetConductivitiesToMeshAlgorithm()
7068
{
7169
ElemLabelLookup += 1,2,3,4,5,6,7,8;
@@ -84,13 +82,13 @@ SetConductivitiesToMeshAlgorithm::SetConductivitiesToMeshAlgorithm()
8482

8583
AlgorithmOutput SetConductivitiesToMeshAlgorithm::run(const AlgorithmInput& input) const
8684
{
87-
auto mesh = input.get<Field>(InputField);
85+
auto mesh = input.get<Field>(Variables::InputField);
8886

8987
AlgorithmOutput output;
9088

9189
FieldHandle output_field = run(mesh);
9290

93-
output[OutputField] = output_field;
91+
output[Variables::OutputField] = output_field;
9492

9593
return output;
9694
}

src/Core/Algorithms/BrainStimulator/SetConductivitiesToTetMeshAlgorithm.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,8 @@ namespace BrainStimulator {
6565
FieldHandle run(FieldHandle fh) const;
6666

6767
AlgorithmOutput run(const AlgorithmInput& input) const override;
68-
static AlgorithmInputName InputField;
69-
static AlgorithmOutputName OutputField;
7068

7169
std::vector<int> ElemLabelLookup; /// this module checks for those label data stored on the elements
72-
7370
};
7471

7572
}}}}

src/Core/Algorithms/BrainStimulator/SetupRHSforTDCSandTMSAlgorithm.cc

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -277,8 +277,8 @@ boost::tuple<DenseMatrixHandle, DenseMatrixHandle, DenseMatrixHandle, DenseMatri
277277
}
278278

279279
SplitFieldByConnectedRegionAlgo algo;
280-
algo.set(SplitFieldByConnectedRegionAlgo::SortDomainBySize(), false);
281-
algo.set(SplitFieldByConnectedRegionAlgo::SortAscending(), false);
280+
algo.set(Fields::Parameters::SortDomainBySize, false);
281+
algo.set(Fields::Parameters::SortAscending, false);
282282
std::vector<FieldHandle> result = algo.run(elc_tri_surf);
283283

284284
if (result.size()<=0)
@@ -625,8 +625,8 @@ boost::tuple<DenseMatrixHandle, DenseMatrixHandle, DenseMatrixHandle, DenseMatri
625625
SplitFieldByDomainAlgo algo2;
626626
algo2.setLogger(getLogger());
627627
FieldList output;
628-
algo2.set(SplitFieldByDomainAlgo::SortBySize, true);
629-
algo2.set(SplitFieldByDomainAlgo::SortAscending, false);
628+
algo2.set(Fields::Parameters::SortBySize, true);
629+
algo2.set(Fields::Parameters::SortAscending, false);
630630
algo2.runImpl(result[k], output);
631631

632632
bool found_sponge_surface=false;
@@ -656,16 +656,16 @@ boost::tuple<DenseMatrixHandle, DenseMatrixHandle, DenseMatrixHandle, DenseMatri
656656
} else
657657
{
658658
SplitFieldByConnectedRegionAlgo algo3;
659-
algo3.set(SplitFieldByConnectedRegionAlgo::SortDomainBySize(), true);
660-
algo3.set(SplitFieldByConnectedRegionAlgo::SortAscending(), false);
659+
algo3.set(Fields::Parameters::SortDomainBySize, true);
660+
algo3.set(Fields::Parameters::SortAscending, false);
661661
std::vector<FieldHandle> result3 = algo3.run(output[electrode_surface]);
662662
if (result3.size()>1)
663663
{
664-
remark(" This module found two electrode sponge surfaces that are not connected and took the one that has more elements. Visualize the 8th (Field) output to make sure otherwise the simulation could be wrong!");
664+
remark(" This module found two electrode sponge surfaces that are not connected and took the one that has more elements. Visualize the 8th (Field) output to make sure otherwise the simulation could be wrong!");
665665
}
666666
if (result3.size()==0)
667667
{
668-
THROW_ALGORITHM_PROCESSING_ERROR("Internal error: Cannot find any electrode sponge surface. ");
668+
THROW_ALGORITHM_PROCESSING_ERROR("Internal error: Cannot find any electrode sponge surface. ");
669669
}
670670

671671
/// create eightht output
@@ -723,7 +723,7 @@ boost::tuple<DenseMatrixHandle, DenseMatrixHandle, DenseMatrixHandle, DenseMatri
723723
mesh_vmesh->find_closest_node(distance,q,node_ind,p);
724724
if (node_ind==refnode_number) /// check if ref_node is part of electrode definition throw error, first triangle node of definition
725725
{
726-
THROW_ALGORITHM_PROCESSING_ERROR("Reference node is part of electrode definition. Choose another reference node for given electrode surface mesh. ");
726+
THROW_ALGORITHM_PROCESSING_ERROR("Reference node is part of electrode definition. Choose another reference node for given electrode surface mesh. ");
727727
}
728728
(*elc_elem_def)(l,0)=node_ind;
729729
Point pos;
@@ -734,7 +734,7 @@ boost::tuple<DenseMatrixHandle, DenseMatrixHandle, DenseMatrixHandle, DenseMatri
734734
mesh_vmesh->find_closest_node(distance,q,node_ind,p);
735735
if (node_ind==refnode_number) /// check if ref_node is part of electrode definition throw error, second triangle node of definition
736736
{
737-
THROW_ALGORITHM_PROCESSING_ERROR("Reference node is part of electrode definition. Choose another reference node for given electrode surface mesh. ");
737+
THROW_ALGORITHM_PROCESSING_ERROR("Reference node is part of electrode definition. Choose another reference node for given electrode surface mesh. ");
738738
}
739739
(*elc_elem_def)(l,1)=node_ind;
740740
mesh_vmesh->get_point(pos, node_ind);

src/Core/Algorithms/Field/RefineTetMeshLocallyAlgorithm.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -928,8 +928,8 @@ FieldHandle RefineTetMeshLocallyAlgorithm::RefineMesh(FieldHandle input, SparseR
928928

929929
JoinFieldsAlgo joinfields_algo; /// use joinfields to get rid of extra nodes and duplicated elements
930930

931-
joinfields_algo.set(JoinFieldsAlgo::MergeNodes, true);
932-
joinfields_algo.set(JoinFieldsAlgo::MergeElems, true);
931+
joinfields_algo.set(Parameters::merge_nodes, true);
932+
joinfields_algo.set(Parameters::merge_elems, true);
933933
FieldList input_list; /// need input_list only for joinfields
934934
input_list.push_back(result);
935935
input_list.push_back(result);

src/Core/Algorithms/Field/Tests/ClipVolumeByIsovalueTests.cc

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,13 @@ TEST(ClipVolumeByIsovalueAlgoTest, ClipVolumeByIsovalue_Triangles_DataOnNodes)
6767
ClipMeshByIsovalueAlgo algo;
6868
FieldHandle input_tiangle, output;
6969
input_tiangle=LoadTriangles();
70-
algo.set(ClipMeshByIsovalueAlgo::ScalarIsoValue, 1.5);
71-
algo.set(ClipMeshByIsovalueAlgo::LessThanIsoValue, true);
70+
algo.set(Parameters::ScalarIsoValue, 1.5);
71+
algo.set(Parameters::LessThanIsoValue, true);
7272
algo.run(input_tiangle,output);
7373
EXPECT_EQ(output->vmesh()->num_nodes(),65);
7474
EXPECT_EQ(output->vmesh()->num_elems(),116);
7575
EXPECT_EQ(output->vfield()->num_values(),65);
76-
algo.set(ClipMeshByIsovalueAlgo::LessThanIsoValue, false);
76+
algo.set(Parameters::LessThanIsoValue, false);
7777
algo.run(input_tiangle,output);
7878
EXPECT_EQ(output->vmesh()->num_nodes(),15);
7979
EXPECT_EQ(output->vmesh()->num_elems(),16);
@@ -86,13 +86,13 @@ TEST(ClipVolumeByIsovalueAlgoTest, ClipVolumeByIsovalue_Tetrahedrals_DataOnNodes
8686
ClipMeshByIsovalueAlgo algo;
8787
FieldHandle input_tets, output;
8888
input_tets=LoadTetrahedrals();
89-
algo.set(ClipMeshByIsovalueAlgo::ScalarIsoValue, 0.0);
90-
algo.set(ClipMeshByIsovalueAlgo::LessThanIsoValue, false);
89+
algo.set(Parameters::ScalarIsoValue, 0.0);
90+
algo.set(Parameters::LessThanIsoValue, false);
9191
algo.run(input_tets,output);
9292
EXPECT_EQ(output->vmesh()->num_nodes(),104);
9393
EXPECT_EQ(output->vmesh()->num_elems(),247);
9494
EXPECT_EQ(output->vfield()->num_values(),104);
95-
algo.set(ClipMeshByIsovalueAlgo::LessThanIsoValue, true);
95+
algo.set(Parameters::LessThanIsoValue, true);
9696
algo.run(input_tets,output);
9797
EXPECT_EQ(output->vmesh()->num_nodes(),236);
9898
EXPECT_EQ(output->vmesh()->num_elems(),610);
@@ -105,14 +105,14 @@ TEST(ClipVolumeByIsovalueAlgoTest, DISABLED_ClipVolumeByIsovalue_LatVol_DataOnNo
105105
ClipMeshByIsovalueAlgo algo;
106106
FieldHandle input_latvol, output;
107107
input_latvol=LoadLatVol();
108-
algo.set(ClipMeshByIsovalueAlgo::ScalarIsoValue, 0.0);
109-
algo.set(ClipMeshByIsovalueAlgo::LessThanIsoValue, false);
108+
algo.set(Parameters::ScalarIsoValue, 0.0);
109+
algo.set(Parameters::LessThanIsoValue, false);
110110
//TODO: this run call triggers an invalid bounding box assertion. Let's fix the code
111111
algo.run(input_latvol,output);
112112
EXPECT_EQ(output->vmesh()->num_nodes(),0);
113113
EXPECT_EQ(output->vmesh()->num_elems(),0);
114114
EXPECT_EQ(output->vfield()->num_values(),0);
115-
algo.set(ClipMeshByIsovalueAlgo::LessThanIsoValue, true);
115+
algo.set(Parameters::LessThanIsoValue, true);
116116
algo.run(input_latvol,output);
117117
EXPECT_EQ(output->vmesh()->num_nodes(),8);
118118
EXPECT_EQ(output->vmesh()->num_elems(),1);

src/Core/Algorithms/Field/Tests/ConvertMeshToTetVolTests.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include <Core/Algorithms/Legacy/Fields/FieldData/SetFieldData.h>
3535
#include <Core/Algorithms/Legacy/Fields/ConvertMeshType/ConvertMeshToTetVolMesh.h>
3636
#include <Core/Algorithms/Base/AlgorithmPreconditions.h>
37+
#include <Core/Algorithms/Base/AlgorithmVariableNames.h>
3738
#include <Core/Datatypes/Legacy/Field/VField.h>
3839
#include <Core/Datatypes/Legacy/Field/FieldInformation.h>
3940
#include <Core/Datatypes/MatrixComparison.h>
@@ -87,7 +88,7 @@ TEST_F(ConvertMeshToTetVolTest, ConvertLatVolToTetVol_ScalarDataDefinedOnElement
8788

8889
MapFieldDataFromNodeToElemAlgo algo1;
8990

90-
algo1.setOption(MapFieldDataFromNodeToElemAlgo::Method, "Min");
91+
algo1.setOption(Variables::Method, "Min");
9192

9293
FieldHandle latVol_data_on_ele = algo1.runImpl(latVol);
9394

0 commit comments

Comments
 (0)