Skip to content

Commit

Permalink
Sc 50 disk backed operations (#94)
Browse files Browse the repository at this point in the history
* SC_50 disk backed operations

* SC_50 update comment

* SC50 disk backed operations, reload

* SC_50 disk backed, delete before load
  • Loading branch information
ArneDefauw authored Feb 14, 2025
1 parent 72c603a commit 5ff9d74
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions src/harpy/image/_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,8 +154,8 @@ def add_to_sdata(
sdata[output_layer] = spatial_element
if sdata.is_backed():
sdata.write_element(output_layer)
sdata_temp = read_zarr(sdata.path, selection=["images"])
del sdata[output_layer]
sdata_temp = read_zarr(sdata.path, selection=["images"])
sdata[output_layer] = sdata_temp[output_layer]
del sdata_temp

Expand Down Expand Up @@ -224,8 +224,8 @@ def add_to_sdata(
sdata[output_layer] = spatial_element
if sdata.is_backed():
sdata.write_element(output_layer)
sdata_temp = read_zarr(sdata.path, selection=["labels"])
del sdata[output_layer]
sdata_temp = read_zarr(sdata.path, selection=["labels"])
sdata[output_layer] = sdata_temp[output_layer]
del sdata_temp

Expand Down
2 changes: 1 addition & 1 deletion src/harpy/image/pixel_clustering/_clustering.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,8 +223,8 @@ def _fix_name(layer: str | Iterable[str]):
_labels_flowsom_name = f"labels_flowsom_{uuid.uuid4()}"
sdata.images[_labels_flowsom_name] = se_intermediate
sdata.write_element(_labels_flowsom_name)
sdata_temp = read_zarr(sdata.path, selection=["images"])
del sdata[_labels_flowsom_name]
sdata_temp = read_zarr(sdata.path, selection=["images"])
sdata[_labels_flowsom_name] = sdata_temp[_labels_flowsom_name]
del sdata_temp
_labels_flowsom = _get_spatial_element(sdata, layer=_labels_flowsom_name).data
Expand Down
2 changes: 1 addition & 1 deletion src/harpy/points/_points.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ def add_points_layer(
sdata[output_layer] = points
if sdata.is_backed():
sdata.write_element(output_layer)
sdata_temp = read_zarr(sdata.path, selection=["points"])
del sdata[output_layer]
sdata_temp = read_zarr(sdata.path, selection=["points"])
sdata[output_layer] = sdata_temp[output_layer]
del sdata_temp
return sdata
2 changes: 1 addition & 1 deletion src/harpy/shape/_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,8 @@ def add_to_sdata(
sdata[output_layer] = spatial_element
if sdata.is_backed():
sdata.write_element(output_layer)
sdata_temp = read_zarr(sdata.path, selection=["shapes"])
del sdata[output_layer]
sdata_temp = read_zarr(sdata.path, selection=["shapes"])
sdata[output_layer] = sdata_temp[output_layer]
del sdata_temp

Expand Down
2 changes: 1 addition & 1 deletion src/harpy/table/_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ def add_table(
sdata[output_layer] = adata
if sdata.is_backed():
sdata.write_element(output_layer)
sdata_temp = read_zarr(sdata.path, selection=["tables"])
del sdata[output_layer]
sdata_temp = read_zarr(sdata.path, selection=["tables"])
sdata[output_layer] = sdata_temp[output_layer]
del sdata_temp

Expand Down
2 changes: 1 addition & 1 deletion src/harpy/utils/_io.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ def _incremental_io_on_disk(
sdata.write_element(output_layer)
# b2. reload the new data into memory (because it has been written but in-memory it still points
# from the backup location)
del sdata[output_layer]
sdata_materialized = read_zarr(sdata.path, selection=[element_type])
# to make sdata point to layer that is materialized, and keep object id.
del sdata[output_layer]
sdata[output_layer] = sdata_materialized[output_layer]
# c. remove the backup copy
del sdata_materialized[new_output_layer]
Expand Down

0 comments on commit 5ff9d74

Please sign in to comment.