denisecailab / minian

miniscope analysis pipeline with interactive visualizations
GNU General Public License v3.0
91 stars 35 forks source link

ContainsArrayError: path '' contains an array #270

Closed skisurfer13 closed 4 months ago

skisurfer13 commented 4 months ago

Hello!

I was running the following cell on the Minian Jupyter Notebook (first temporal update):

image

However, I am met with the following error:


ContainsArrayError Traceback (most recent call last) File :21

File ~\minian\minian\cnmf.py:986, in update_temporal(A, C, b, f, Y, YrA, noise_freq, p, add_lag, jac_thres, sparse_penal, bseg, med_wd, zero_thres, max_iters, use_smooth, normalize, warm_start, post_scal, scs_fallback, concurrent_update) 977 with da.config.set(array_optimize=arr_opt): 978 da.compute( 979 [ 980 save_minian( (...) 984 ] 985 ) --> 986 int_ds = open_minian(intpath, return_dict=True) 987 C_new, S_new, b0_new, c0_new, g = ( 988 int_ds["C_new"], 989 int_ds["S_new"], (...) 992 int_ds["g"], 993 ) 994 mask = (S_new.sum("frame") > 0).compute()

File ~\minian\minian\utilities.py:333, in open_minian(dpath, post_process, return_dict) 331 arr_path = pjoin(dpath, d) 332 if isdir(arr_path): --> 333 arr = list(xr.open_zarr(arr_path).values())[0] 334 arr.data = darr.from_zarr( 335 os.path.join(arr_path, arr.name), inline_array=True 336 ) 337 dslist.append(arr)

File ~.conda\envs\minian\lib\site-packages\xarray\backends\zarr.py:675, in open_zarr(store, group, synchronizer, chunks, decode_cf, mask_and_scale, decode_times, concat_characters, decode_coords, drop_variables, consolidated, overwrite_encoded_chunks, chunk_store, decode_timedelta, use_cftime, **kwargs) 664 raise TypeError( 665 "open_zarr() got unexpected keyword arguments " + ",".join(kwargs.keys()) 666 ) 668 backend_kwargs = { 669 "synchronizer": synchronizer, 670 "consolidated": consolidated, 671 "overwrite_encoded_chunks": overwrite_encoded_chunks, 672 "chunk_store": chunk_store, 673 } --> 675 ds = open_dataset( 676 filename_or_obj=store, 677 group=group, 678 decode_cf=decode_cf, 679 mask_and_scale=mask_and_scale, 680 decode_times=decode_times, 681 concat_characters=concat_characters, 682 decode_coords=decode_coords, 683 engine="zarr", 684 chunks=chunks, 685 drop_variables=drop_variables, 686 backend_kwargs=backend_kwargs, 687 decode_timedelta=decode_timedelta, 688 use_cftime=use_cftime, 689 ) 691 return ds

File ~.conda\envs\minian\lib\site-packages\xarray\backends\api.py:572, in open_dataset(filename_or_obj, group, decode_cf, mask_and_scale, decode_times, autoclose, concat_characters, decode_coords, engine, chunks, lock, cache, drop_variables, backend_kwargs, use_cftime, decode_timedelta) 567 overwrite_encoded_chunks = backend_kwargs.pop( 568 "overwrite_encoded_chunks", None 569 ) 571 opener = _get_backend_cls(engine) --> 572 store = opener(filename_or_obj, extra_kwargs, backend_kwargs) 574 with close_on_error(store): 575 ds = maybe_decode_store(store, chunks)

File ~.conda\envs\minian\lib\site-packages\xarray\backends\zarr.py:296, in ZarrStore.open_group(cls, store, mode, synchronizer, group, consolidated, consolidate_on_close, chunk_store, append_dim, write_region) 294 zarr_group = zarr.open_consolidated(store, open_kwargs) 295 else: --> 296 zarr_group = zarr.open_group(store, open_kwargs) 297 return cls(zarr_group, consolidate_on_close, append_dim, write_region)

File ~.conda\envs\minian\lib\site-packages\zarr\hierarchy.py:1525, in open_group(store, mode, cache_attrs, synchronizer, path, chunk_store, storage_options, zarr_version, meta_array) 1523 if not contains_group(store, path=path): 1524 if contains_array(store, path=path): -> 1525 raise ContainsArrayError(path) 1526 raise GroupNotFoundError(path) 1528 elif mode == "w":

ContainsArrayError: path '' contains an array

This did not occur in previous iterations of the pipeline. Any help on solving this error will be greatly appreciated!

Thank you!

skisurfer13 commented 4 months ago

This was solved by simply deleting the intermediate path folder and restarting the jupyter notebook. Thank you again Austin :)