Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -149,3 +149,5 @@ pyproject-sha.toml
#version ignore
grid_apps/_version.py
/_version.json

devtools/conda_env_pylint.bat
7 changes: 5 additions & 2 deletions grid_apps/octree_creation/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,9 +196,12 @@ def collect_refinements_from_dict(data: dict) -> list[dict | None]:
for param in ["object", "levels", "horizon", "distance"]:
name = f"refinement_{param}" if param == "object" else param
refinement_name = f"Refinement {identifier} {param}"
refinement_params[name] = data.get(refinement_name, None)
value = data.get(refinement_name, None)

if refinement_params["refinement_object"] is None:
if value is not None:
refinement_params[name] = value

if refinement_params.get("refinement_object", None) is None:
refinements.append(None)
else:
refinements.append(refinement_params)
Expand Down
19 changes: 18 additions & 1 deletion tests/run_tests/octree_creation/params_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from geoh5py import Workspace
from geoh5py.groups import UIJsonGroup
from geoh5py.objects import Points
from geoh5py.ui_json import InputFile
from geoh5py.ui_json import BaseUIJson, InputFile

from grid_apps import assets_path
from grid_apps.octree_creation.driver import OctreeDriver
Expand Down Expand Up @@ -139,3 +139,20 @@ def test_treemesh_from_params(tmp_path):
assert mesh.u_cell_size == 25.0
assert mesh.v_cell_size == 25.0
assert mesh.w_cell_size == 25.0


def test_params_from_uijson(tmp_path):

uijson = BaseUIJson.read(OctreeOptions.default_ui_json)

with Workspace.create(tmp_path / f"{__name__}.geoh5") as ws:
points = Points.create(ws, name="test", vertices=np.random.rand(100, 3))

kwargs = {
"geoh5": ws,
"objects": points,
"Refinement A object": points,
}
uijson.set_values(**kwargs)
params = OctreeOptions.build(**uijson.to_params(workspace=ws))
assert params.refinements is not None
Loading