-
Notifications
You must be signed in to change notification settings - Fork 98
Open
Labels
Description
Description
Hi,
I'm seeing some errors when following Analyze Visium H&E data. In particular, calculate_image_features() returns this error message:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[4], line 4
2 for scale in [1.0, 2.0]:
3 feature_name = f"features_summary_scale{scale}"
----> 4 sq.im.calculate_image_features(
5 adata,
6 img.compute(),
7 features="summary",
8 key_added=feature_name,
9 scale=scale,
10 )
13 # combine features in one dataframe
14 adata.obsm["features"] = pd.concat(
15 [adata.obsm[f] for f in adata.obsm.keys() if "features_summary" in f],
16 axis="columns",
17 )
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/squidpy/im/_feature.py:91, in calculate_image_features(adata, img, layer, library_id, features, features_kwargs, key_added, copy, n_jobs, backend, show_progress_bar, **kwargs)
88 n_jobs = _get_n_cores(n_jobs)
89 start = logg.info(f"Calculating features `{list(features)}` using `{n_jobs}` core(s)")
---> 91 res = parallelize(
92 _calculate_image_features_helper,
93 collection=adata.obs_names,
94 extractor=pd.concat,
95 n_jobs=n_jobs,
96 backend=backend,
97 show_progress_bar=show_progress_bar,
98 )(adata, img, layer=layer, library_id=library_id, features=features, features_kwargs=features_kwargs, **kwargs)
100 if copy:
101 logg.info("Finish", time=start)
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/squidpy/_utils.py:168, in parallelize.<locals>.wrapper(*args, **kwargs)
165 else:
166 pbar, queue, thread = None, None, None
--> 168 res = jl.Parallel(n_jobs=n_jobs, backend=backend)(
169 jl.delayed(runner if use_runner else callback)(
170 *((i, cs) if use_ixs else (cs,)),
171 *args,
172 **kwargs,
173 queue=queue,
174 )
175 for i, cs in enumerate(collections)
176 )
178 if thread is not None:
179 thread.join()
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/joblib/parallel.py:1918, in Parallel.__call__(self, iterable)
1916 output = self._get_sequential_output(iterable)
1917 next(output)
-> 1918 return output if self.return_generator else list(output)
1920 # Let's create an ID that uniquely identifies the current call. If the
1921 # call is interrupted early and that the same instance is immediately
1922 # re-used, this id will be used to prevent workers that were
1923 # concurrently finalizing a task from the previous call to run the
1924 # callback.
1925 with self._lock:
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/joblib/parallel.py:1847, in Parallel._get_sequential_output(self, iterable)
1845 self.n_dispatched_batches += 1
1846 self.n_dispatched_tasks += 1
-> 1847 res = func(*args, **kwargs)
1848 self.n_completed_tasks += 1
1849 self.print_progress()
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/squidpy/im/_feature.py:119, in _calculate_image_features_helper(obs_ids, adata, img, layer, library_id, features, features_kwargs, queue, **kwargs)
107 def _calculate_image_features_helper(
108 obs_ids: Sequence[str],
109 adata: AnnData,
(...)
116 **kwargs: Any,
117 ) -> pd.DataFrame:
118 features_list = []
--> 119 for crop in img.generate_spot_crops(
120 adata, obs_names=obs_ids, library_id=library_id, return_obs=False, as_array=False, **kwargs
121 ):
122 if TYPE_CHECKING:
123 assert isinstance(crop, ImageContainer)
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/squidpy/im/_container.py:830, in ImageContainer.generate_spot_crops(self, adata, spatial_key, library_id, spot_diameter_key, spot_scale, obs_names, as_array, squeeze, return_obs, **kwargs)
828 y = int(y - self.data.attrs[Key.img.coords].y0)
829 x = int(x - self.data.attrs[Key.img.coords].x0)
--> 830 crop = self.crop_center(y=y, x=x, radius=radius, library_id=obs_library_ids[i], **kwargs)
831 crop.data.attrs[Key.img.obs] = obs
832 crop = crop._maybe_as_array(as_array, squeeze=squeeze, lazy=False)
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/squidpy/im/_container.py:661, in ImageContainer.crop_center(self, y, x, radius, **kwargs)
658 _assert_non_negative(yr, name="radius height")
659 _assert_non_negative(xr, name="radius width")
--> 661 return self.crop_corner( # type: ignore[no-any-return]
662 y=y - yr, x=x - xr, size=(yr * 2 + 1, xr * 2 + 1), **kwargs
663 )
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/squidpy/im/_container.py:568, in ImageContainer.crop_corner(self, y, x, size, library_id, scale, cval, mask_circle, preserve_dtypes)
565 else:
566 crop.attrs[Key.img.padding] = _NULL_PADDING
567 return self._from_dataset(
--> 568 self._post_process(
569 data=crop, scale=scale, cval=cval, mask_circle=mask_circle, preserve_dtypes=preserve_dtypes
570 )
571 )
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/squidpy/im/_container.py:602, in ImageContainer._post_process(self, data, scale, cval, mask_circle, preserve_dtypes, **_)
600 attrs = data.attrs
601 library_ids = data.coords["z"]
--> 602 data = data.map(_rescale).assign_coords({"z": library_ids})
603 data.attrs = _update_attrs_scale(attrs, scale)
605 if mask_circle:
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/xarray/core/dataset.py:6931, in Dataset.map(self, func, keep_attrs, args, **kwargs)
6929 if keep_attrs is None:
6930 keep_attrs = _get_keep_attrs(default=False)
-> 6931 variables = {
6932 k: maybe_wrap_array(v, func(v, *args, **kwargs))
6933 for k, v in self.data_vars.items()
6934 }
6935 if keep_attrs:
6936 for k, v in variables.items():
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/xarray/core/dataset.py:6932, in <dictcomp>(.0)
6929 if keep_attrs is None:
6930 keep_attrs = _get_keep_attrs(default=False)
6931 variables = {
-> 6932 k: maybe_wrap_array(v, func(v, *args, **kwargs))
6933 for k, v in self.data_vars.items()
6934 }
6935 if keep_attrs:
6936 for k, v in variables.items():
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/squidpy/im/_container.py:597, in ImageContainer._post_process.<locals>._rescale(arr)
591 shape[-2] = arr.shape[-2]
592 return xr.DataArray(
593 da.from_delayed(delayed(lambda arr: scaling_fn(arr).astype(dtype))(arr), shape=shape, dtype=dtype),
594 dims=arr.dims,
595 )
--> 597 return xr.DataArray(scaling_fn(arr).astype(dtype), dims=arr.dims)
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/skimage/_shared/utils.py:328, in channel_as_last_axis.__call__.<locals>.fixed_func(*args, **kwargs)
324 raise ValueError(
325 "only a single channel axis is currently supported")
327 if channel_axis == (-1,) or channel_axis == -1:
--> 328 return func(*args, **kwargs)
330 if self.arg_positions:
331 new_args = []
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/skimage/transform/_warps.py:289, in rescale(image, scale, order, mode, cval, clip, preserve_range, anti_aliasing, anti_aliasing_sigma, channel_axis)
286 if multichannel: # don't scale channel dimension
287 output_shape[-1] = orig_shape[-1]
--> 289 return resize(image, output_shape, order=order, mode=mode, cval=cval,
290 clip=clip, preserve_range=preserve_range,
291 anti_aliasing=anti_aliasing,
292 anti_aliasing_sigma=anti_aliasing_sigma)
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/skimage/transform/_warps.py:188, in resize(image, output_shape, order, mode, cval, clip, preserve_range, anti_aliasing, anti_aliasing_sigma)
184 zoom_factors = [1 / f for f in factors]
185 out = ndi.zoom(filtered, zoom_factors, order=order, mode=ndi_mode,
186 cval=cval, grid_mode=True)
--> 188 _clip_warp_output(image, out, mode, cval, clip)
190 return out
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/skimage/transform/_warps.py:692, in _clip_warp_output(input_image, output_image, mode, cval, clip)
689 min_val = min(min_val, cval)
690 max_val = max(max_val, cval)
--> 692 np.clip(output_image, min_val, max_val, out=output_image)
File <__array_function__ internals>:180, in clip(*args, **kwargs)
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/numpy/core/fromnumeric.py:2152, in clip(a, a_min, a_max, out, **kwargs)
2083 @array_function_dispatch(_clip_dispatcher)
2084 def clip(a, a_min, a_max, out=None, **kwargs):
2085 """
2086 Clip (limit) the values in an array.
2087
(...)
2150
2151 """
-> 2152 return _wrapfunc(a, 'clip', a_min, a_max, out=out, **kwargs)
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/numpy/core/fromnumeric.py:57, in _wrapfunc(obj, method, *args, **kwds)
54 return _wrapit(obj, method, *args, **kwds)
56 try:
---> 57 return bound(*args, **kwds)
58 except TypeError:
59 # A TypeError occurs if the object does have such a method in its
60 # class, but its signature is not identical to that of NumPy's. This
(...)
64 # Call _wrapit from within the except clause to ensure a potential
65 # exception has a traceback chain.
66 return _wrapit(obj, method, *args, **kwds)
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/numpy/core/_methods.py:159, in _clip(a, min, max, out, casting, **kwargs)
156 return _clip_dep_invoke_with_casting(
157 um.maximum, a, min, out=out, casting=casting, **kwargs)
158 else:
--> 159 return _clip_dep_invoke_with_casting(
160 um.clip, a, min, max, out=out, casting=casting, **kwargs)
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/numpy/core/_methods.py:113, in _clip_dep_invoke_with_casting(ufunc, out, casting, *args, **kwargs)
111 # try to deal with broken casting rules
112 try:
--> 113 return ufunc(*args, out=out, **kwargs)
114 except _exceptions._UFuncOutputCastingError as e:
115 # Numpy 1.17.0, 2019-02-24
116 warnings.warn(
117 "Converting the output of clip from {!r} to {!r} is deprecated. "
118 "Pass `casting=\"unsafe\"` explicitly to silence this warning, or "
(...)
121 stacklevel=2
122 )
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/xarray/core/arithmetic.py:85, in SupportsArithmetic.__array_ufunc__(self, ufunc, method, *inputs, **kwargs)
76 raise NotImplementedError(
77 "xarray objects are not yet supported in the `out` argument "
78 "for ufuncs. As an alternative, consider explicitly "
79 "converting xarray objects to NumPy arrays (e.g., with "
80 "`.values`)."
81 )
83 join = dataset_join = OPTIONS["arithmetic_join"]
---> 85 return apply_ufunc(
86 ufunc,
87 *inputs,
88 input_core_dims=((),) * ufunc.nin,
89 output_core_dims=((),) * ufunc.nout,
90 join=join,
91 dataset_join=dataset_join,
92 dataset_fill_value=np.nan,
93 kwargs=kwargs,
94 dask="allowed",
95 keep_attrs=_get_keep_attrs(default=True),
96 )
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/xarray/core/computation.py:1267, in apply_ufunc(func, input_core_dims, output_core_dims, exclude_dims, vectorize, join, dataset_join, dataset_fill_value, keep_attrs, kwargs, dask, output_dtypes, output_sizes, meta, dask_gufunc_kwargs, on_missing_core_dim, *args)
1265 # feed DataArray apply_variable_ufunc through apply_dataarray_vfunc
1266 elif any(isinstance(a, DataArray) for a in args):
-> 1267 return apply_dataarray_vfunc(
1268 variables_vfunc,
1269 *args,
1270 signature=signature,
1271 join=join,
1272 exclude_dims=exclude_dims,
1273 keep_attrs=keep_attrs,
1274 )
1275 # feed Variables directly through apply_variable_ufunc
1276 elif any(isinstance(a, Variable) for a in args):
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/xarray/core/computation.py:315, in apply_dataarray_vfunc(func, signature, join, exclude_dims, keep_attrs, *args)
310 result_coords, result_indexes = build_output_coords_and_indexes(
311 args, signature, exclude_dims, combine_attrs=keep_attrs
312 )
314 data_vars = [getattr(a, "variable", a) for a in args]
--> 315 result_var = func(*data_vars)
317 out: tuple[DataArray, ...] | DataArray
318 if signature.num_outputs > 1:
File ~/miniconda3/envs/squid/lib/python3.10/site-packages/xarray/core/computation.py:847, in apply_variable_ufunc(func, signature, exclude_dims, dask, output_dtypes, vectorize, keep_attrs, dask_gufunc_kwargs, *args)
845 data = as_compatible_data(data)
846 if data.ndim != len(dims):
--> 847 raise ValueError(
848 "applied function returned data with an unexpected "
849 f"number of dimensions. Received {data.ndim} dimension(s) but "
850 f"expected {len(dims)} dimensions with names {dims!r}, from:\n\n"
851 f"{short_array_repr(data)}"
852 )
854 var = Variable(dims, data, fastpath=True)
855 for dim, new_size in var.sizes.items():
ValueError: applied function returned data with an unexpected number of dimensions. Received 4 dimension(s) but expected 0 dimensions with names (), from:
array([[[[100.5 , ..., 111.375 ]],
...,
[[ 91.75 , ..., 80.6875]]],
...,
[[[116. , ..., 114. ]],
...,
[[120.25 , ..., 112.25 ]]]])This is my environment.yml.
name: squid
channels:
- conda-forge
- defaults
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_gnu
- aiohttp=3.9.5=py310h2372a71_0
- aiosignal=1.3.1=pyhd8ed1ab_0
- anndata=0.8.0=pyhd8ed1ab_1
- anyio=4.3.0=pyhd8ed1ab_0
- aom=3.9.0=hac33072_0
- argon2-cffi=23.1.0=pyhd8ed1ab_0
- argon2-cffi-bindings=21.2.0=py310h2372a71_4
- arpack=3.7.0=hdefa2d7_2
- arrow=1.3.0=pyhd8ed1ab_0
- asciitree=0.3.3=py_2
- asttokens=2.4.1=pyhd8ed1ab_0
- async-lru=2.0.4=pyhd8ed1ab_0
- async-timeout=4.0.3=pyhd8ed1ab_0
- attrs=23.2.0=pyh71513ae_0
- aws-c-auth=0.7.20=h5f1c8d9_0
- aws-c-cal=0.6.12=h2ba76a8_0
- aws-c-common=0.9.17=h4ab18f5_0
- aws-c-compression=0.2.18=h36a0aea_4
- aws-c-event-stream=0.4.2=h161de36_10
- aws-c-http=0.8.1=h63f54a0_13
- aws-c-io=0.14.8=h96d4d28_0
- aws-c-mqtt=0.10.4=hcc7299c_2
- aws-c-s3=0.5.8=h10bd90f_3
- aws-c-sdkutils=0.1.16=h36a0aea_0
- aws-checksums=0.1.18=h36a0aea_4
- aws-crt-cpp=0.26.8=h02fd9b4_10
- aws-sdk-cpp=1.11.267=h51dfee4_8
- babel=2.14.0=pyhd8ed1ab_0
- beautifulsoup4=4.12.3=pyha770c72_0
- bleach=6.1.0=pyhd8ed1ab_0
- blosc=1.21.5=hc2324a3_1
- bokeh=3.4.1=pyhd8ed1ab_0
- brotli=1.1.0=hd590300_1
- brotli-bin=1.1.0=hd590300_1
- brotli-python=1.1.0=py310hc6cd4ac_1
- brunsli=0.1=h9c3ff4c_0
- bzip2=1.0.8=hd590300_5
- c-ares=1.28.1=hd590300_0
- c-blosc2=2.14.4=hb4ffafa_1
- ca-certificates=2024.2.2=hbcca054_0
- cached-property=1.5.2=hd8ed1ab_1
- cached_property=1.5.2=pyha770c72_1
- certifi=2024.2.2=pyhd8ed1ab_0
- cffi=1.16.0=py310h2fee648_0
- charls=2.4.2=h59595ed_0
- charset-normalizer=3.3.2=pyhd8ed1ab_0
- click=8.1.7=unix_pyh707e725_0
- cloudpickle=3.0.0=pyhd8ed1ab_0
- colorama=0.4.6=pyhd8ed1ab_0
- comm=0.2.2=pyhd8ed1ab_0
- contourpy=1.2.1=py310hd41b1e2_0
- cycler=0.12.1=pyhd8ed1ab_0
- cytoolz=0.12.3=py310h2372a71_0
- dask=2024.2.1=pyhd8ed1ab_0
- dask-core=2024.2.1=pyhd8ed1ab_1
- dask-image=2023.3.0=pyhd8ed1ab_0
- dav1d=1.2.1=hd590300_0
- debugpy=1.8.1=py310hc6cd4ac_0
- decorator=5.1.1=pyhd8ed1ab_0
- defusedxml=0.7.1=pyhd8ed1ab_0
- distributed=2024.2.1=pyhd8ed1ab_0
- docrep=0.3.2=pyh44b312d_0
- entrypoints=0.4=pyhd8ed1ab_0
- exceptiongroup=1.2.0=pyhd8ed1ab_2
- executing=2.0.1=pyhd8ed1ab_0
- fasteners=0.17.3=pyhd8ed1ab_0
- fonttools=4.51.0=py310h2372a71_0
- fqdn=1.5.1=pyhd8ed1ab_0
- freetype=2.12.1=h267a509_2
- frozenlist=1.4.1=py310h2372a71_0
- fsspec=2024.3.1=pyhca7485f_0
- gflags=2.2.2=he1b5a44_1004
- giflib=5.2.2=hd590300_0
- glog=0.7.0=hed5481d_0
- glpk=5.0=h445213a_0
- gmp=6.3.0=h59595ed_1
- h11=0.14.0=pyhd8ed1ab_0
- h2=4.1.0=pyhd8ed1ab_0
- h5py=3.11.0=nompi_py310h65828d5_100
- hdf5=1.14.3=nompi_h4f84152_101
- hpack=4.0.0=pyh9f0ad1d_0
- httpcore=1.0.5=pyhd8ed1ab_0
- httpx=0.27.0=pyhd8ed1ab_0
- hyperframe=6.0.1=pyhd8ed1ab_0
- icu=73.2=h59595ed_0
- idna=3.7=pyhd8ed1ab_0
- igraph=0.10.7=h27e60f0_0
- imagecodecs=2024.1.1=py310h06b5df7_6
- imageio=2.34.1=pyh4b66e23_0
- importlib-metadata=7.1.0=pyha770c72_0
- importlib_metadata=7.1.0=hd8ed1ab_0
- importlib_resources=6.4.0=pyhd8ed1ab_0
- inflect=7.2.1=pyhd8ed1ab_0
- ipykernel=6.29.3=pyhd33586a_0
- ipython=8.24.0=pyh707e725_0
- ipywidgets=8.1.2=pyhd8ed1ab_1
- isoduration=20.11.0=pyhd8ed1ab_0
- jedi=0.19.1=pyhd8ed1ab_0
- jinja2=3.1.4=pyhd8ed1ab_0
- joblib=1.4.2=pyhd8ed1ab_0
- json5=0.9.25=pyhd8ed1ab_0
- jsonpointer=2.4=py310hff52083_3
- jsonschema=4.22.0=pyhd8ed1ab_0
- jsonschema-specifications=2023.12.1=pyhd8ed1ab_0
- jsonschema-with-format-nongpl=4.22.0=pyhd8ed1ab_0
- jupyter=1.0.0=pyhd8ed1ab_10
- jupyter-lsp=2.2.5=pyhd8ed1ab_0
- jupyter_client=8.6.1=pyhd8ed1ab_0
- jupyter_console=6.6.3=pyhd8ed1ab_0
- jupyter_core=5.7.2=py310hff52083_0
- jupyter_events=0.10.0=pyhd8ed1ab_0
- jupyter_server=2.14.0=pyhd8ed1ab_0
- jupyter_server_terminals=0.5.3=pyhd8ed1ab_0
- jupyterlab=4.1.8=pyhd8ed1ab_0
- jupyterlab_pygments=0.3.0=pyhd8ed1ab_1
- jupyterlab_server=2.27.1=pyhd8ed1ab_0
- jupyterlab_widgets=3.0.10=pyhd8ed1ab_0
- jxrlib=1.1=hd590300_3
- keyutils=1.6.1=h166bdaf_0
- kiwisolver=1.4.5=py310hd41b1e2_1
- krb5=1.21.2=h659d440_0
- lazy_loader=0.4=pyhd8ed1ab_0
- lcms2=2.16=hb7c19ff_0
- ld_impl_linux-64=2.40=h55db66e_0
- leidenalg=0.10.1=py310hc6cd4ac_1
- lerc=4.0.0=h27087fc_0
- libabseil=20240116.2=cxx17_h59595ed_0
- libaec=1.1.3=h59595ed_0
- libarrow=16.0.0=hefa796f_1_cpu
- libarrow-acero=16.0.0=hac33072_1_cpu
- libarrow-dataset=16.0.0=hac33072_1_cpu
- libarrow-substrait=16.0.0=h7e0c224_1_cpu
- libavif16=1.0.4=hfa3d5b6_3
- libblas=3.9.0=20_linux64_openblas
- libbrotlicommon=1.1.0=hd590300_1
- libbrotlidec=1.1.0=hd590300_1
- libbrotlienc=1.1.0=hd590300_1
- libcblas=3.9.0=20_linux64_openblas
- libcrc32c=1.1.2=h9c3ff4c_0
- libcurl=8.7.1=hca28451_0
- libdeflate=1.20=hd590300_0
- libedit=3.1.20191231=he28a2e2_2
- libev=4.33=hd590300_2
- libevent=2.1.12=hf998b51_1
- libffi=3.4.2=h7f98852_5
- libgcc-ng=13.2.0=h77fa898_7
- libgfortran-ng=13.2.0=h69a702a_7
- libgfortran5=13.2.0=hca663fb_7
- libgomp=13.2.0=h77fa898_7
- libgoogle-cloud=2.23.0=h9be4e54_1
- libgoogle-cloud-storage=2.23.0=hc7a4891_1
- libgrpc=1.62.2=h15f2491_0
- libhwloc=2.10.0=default_h2fb2949_1000
- libhwy=1.1.0=h00ab1b0_0
- libiconv=1.17=hd590300_2
- libjpeg-turbo=3.0.0=hd590300_1
- libjxl=0.10.2=hcae5a98_0
- liblapack=3.9.0=20_linux64_openblas
- libleidenalg=0.11.1=h00ab1b0_0
- libllvm11=11.1.0=he0ac6c6_5
- libnghttp2=1.58.0=h47da74e_1
- libnsl=2.0.1=hd590300_0
- libopenblas=0.3.25=pthreads_h413a1c8_0
- libparquet=16.0.0=h6a7eafb_1_cpu
- libpng=1.6.43=h2797004_0
- libprotobuf=4.25.3=h08a7969_0
- libre2-11=2023.09.01=h5a48ba9_2
- libsodium=1.0.18=h36c2ea0_1
- libsqlite=3.45.3=h2797004_0
- libssh2=1.11.0=h0841786_0
- libstdcxx-ng=13.2.0=hc0a3c3a_7
- libthrift=0.19.0=hb90f79a_1
- libtiff=4.6.0=h1dd3fc0_3
- libutf8proc=2.8.0=h166bdaf_0
- libuuid=2.38.1=h0b41bf4_0
- libwebp-base=1.4.0=hd590300_0
- libxcb=1.15=h0b41bf4_0
- libxcrypt=4.4.36=hd590300_1
- libxml2=2.12.7=hc051c1a_0
- libzlib=1.2.13=hd590300_5
- libzopfli=1.0.3=h9c3ff4c_0
- llvmlite=0.38.1=py310h58363a5_0
- locket=1.0.0=pyhd8ed1ab_0
- lz4=4.3.3=py310h350c4a5_0
- lz4-c=1.9.4=hcb278e6_0
- markupsafe=2.1.5=py310h2372a71_0
- matplotlib-base=3.8.4=py310h62c0568_0
- matplotlib-inline=0.1.7=pyhd8ed1ab_0
- matplotlib-scalebar=0.8.1=pyhd8ed1ab_0
- metis=5.1.0=h59595ed_1007
- mistune=3.0.2=pyhd8ed1ab_0
- more-itertools=10.2.0=pyhd8ed1ab_0
- mpfr=4.2.1=h9458935_1
- msgpack-python=1.0.8=py310h25c7140_0
- multidict=6.0.5=py310h2372a71_0
- munkres=1.1.4=pyh9f0ad1d_0
- natsort=8.4.0=pyhd8ed1ab_0
- nbclient=0.10.0=pyhd8ed1ab_0
- nbconvert=7.16.4=hd8ed1ab_0
- nbconvert-core=7.16.4=pyhd8ed1ab_0
- nbconvert-pandoc=7.16.4=hd8ed1ab_0
- nbformat=5.10.4=pyhd8ed1ab_0
- ncurses=6.5=h59595ed_0
- nest-asyncio=1.6.0=pyhd8ed1ab_0
- networkx=3.3=pyhd8ed1ab_1
- notebook=7.1.3=pyhd8ed1ab_0
- notebook-shim=0.2.4=pyhd8ed1ab_0
- numba=0.55.2=py310ha5257ce_0
- numcodecs=0.12.1=py310h76e45a6_1
- numpy=1.22.4=py310h4ef5377_0
- omnipath=1.0.8=pyhd8ed1ab_0
- openjpeg=2.5.2=h488ebb8_0
- openssl=3.3.0=hd590300_0
- orc=2.0.0=h17fec99_1
- overrides=7.7.0=pyhd8ed1ab_0
- packaging=24.0=pyhd8ed1ab_0
- pandas=1.5.1=py310h769672d_1
- pandoc=3.2=ha770c72_0
- pandocfilters=1.5.0=pyhd8ed1ab_0
- parso=0.8.4=pyhd8ed1ab_0
- partd=1.4.2=pyhd8ed1ab_0
- patsy=0.5.6=pyhd8ed1ab_0
- pexpect=4.9.0=pyhd8ed1ab_0
- pickleshare=0.7.5=py_1003
- pillow=10.3.0=py310hf73ecf8_0
- pims=0.6.1=pyhd8ed1ab_1
- pip=24.0=pyhd8ed1ab_0
- pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1
- platformdirs=4.2.1=pyhd8ed1ab_0
- prometheus_client=0.20.0=pyhd8ed1ab_0
- prompt-toolkit=3.0.42=pyha770c72_0
- prompt_toolkit=3.0.42=hd8ed1ab_0
- psutil=5.9.8=py310h2372a71_0
- pthread-stubs=0.4=h36c2ea0_1001
- ptyprocess=0.7.0=pyhd3deb0d_0
- pure_eval=0.2.2=pyhd8ed1ab_0
- pyarrow=16.0.0=py310h17c5347_0
- pyarrow-core=16.0.0=py310h6f79a3a_0_cpu
- pyarrow-hotfix=0.6=pyhd8ed1ab_0
- pycparser=2.22=pyhd8ed1ab_0
- pygments=2.18.0=pyhd8ed1ab_0
- pynndescent=0.5.7=pyh6c4a22f_0
- pyparsing=3.1.2=pyhd8ed1ab_0
- pysocks=1.7.1=pyha2e5f31_6
- python=3.10.14=hd12c33a_0_cpython
- python-dateutil=2.9.0=pyhd8ed1ab_0
- python-fastjsonschema=2.19.1=pyhd8ed1ab_0
- python-igraph=0.10.2=py310h18f4e01_1
- python-json-logger=2.0.7=pyhd8ed1ab_0
- python_abi=3.10=4_cp310
- pytz=2024.1=pyhd8ed1ab_0
- pywavelets=1.4.1=py310h1f7b6fc_1
- pyyaml=6.0.1=py310h2372a71_1
- pyzmq=26.0.3=py310h6883aea_0
- qtconsole-base=5.5.2=pyha770c72_0
- qtpy=2.4.1=pyhd8ed1ab_0
- rav1e=0.6.6=he8a937b_2
- re2=2023.09.01=h7f4b329_2
- readline=8.2=h8228510_1
- referencing=0.35.1=pyhd8ed1ab_0
- requests=2.31.0=pyhd8ed1ab_0
- rfc3339-validator=0.1.4=pyhd8ed1ab_0
- rfc3986-validator=0.1.1=pyh9f0ad1d_0
- rpds-py=0.18.1=py310he421c4c_0
- s2n=1.4.13=he19d79f_0
- scanpy=1.9.2=pyhd8ed1ab_0
- scikit-image=0.22.0=py310hcc13569_2
- scikit-learn=1.1.3=py310h0c3af53_1
- scipy=1.9.3=py310hdfbd76f_2
- seaborn=0.13.2=hd8ed1ab_2
- seaborn-base=0.13.2=pyhd8ed1ab_2
- send2trash=1.8.3=pyh0d859eb_0
- session-info=1.0.0=pyhd8ed1ab_0
- setuptools=69.5.1=pyhd8ed1ab_0
- six=1.16.0=pyh6c4a22f_0
- slicerator=1.1.0=pyhd8ed1ab_0
- snappy=1.2.0=hdb0a2a9_1
- sniffio=1.3.1=pyhd8ed1ab_0
- sortedcontainers=2.4.0=pyhd8ed1ab_0
- soupsieve=2.5=pyhd8ed1ab_1
- squidpy=1.2.3=pyhd8ed1ab_0
- stack_data=0.6.2=pyhd8ed1ab_0
- statsmodels=0.13.2=py310hde88566_0
- stdlib-list=0.10.0=pyhd8ed1ab_0
- suitesparse=5.10.1=h5a4f163_3
- svt-av1=2.0.0=h59595ed_0
- tbb=2021.12.0=h00ab1b0_0
- tblib=3.0.0=pyhd8ed1ab_0
- terminado=0.18.1=pyh0d859eb_0
- texttable=1.7.0=pyhd8ed1ab_0
- threadpoolctl=3.5.0=pyhc1e730c_0
- tifffile=2024.5.10=pyhd8ed1ab_0
- tinycss2=1.3.0=pyhd8ed1ab_0
- tk=8.6.13=noxft_h4845f30_101
- tomli=2.0.1=pyhd8ed1ab_0
- toolz=0.12.1=pyhd8ed1ab_0
- tornado=6.4=py310h2372a71_0
- tqdm=4.66.4=pyhd8ed1ab_0
- traitlets=5.14.3=pyhd8ed1ab_0
- typeguard=4.2.1=pyhd8ed1ab_0
- types-python-dateutil=2.9.0.20240316=pyhd8ed1ab_0
- typing-extensions=4.11.0=hd8ed1ab_0
- typing_extensions=4.11.0=pyha770c72_0
- typing_utils=0.1.0=pyhd8ed1ab_0
- tzdata=2024a=h0c530f3_0
- umap-learn=0.5.5=py310hff52083_1
- unicodedata2=15.1.0=py310h2372a71_0
- uri-template=1.3.0=pyhd8ed1ab_0
- urllib3=2.2.1=pyhd8ed1ab_0
- validators=0.28.1=pyhd8ed1ab_0
- wcwidth=0.2.13=pyhd8ed1ab_0
- webcolors=1.13=pyhd8ed1ab_0
- webencodings=0.5.1=pyhd8ed1ab_2
- websocket-client=1.8.0=pyhd8ed1ab_0
- wheel=0.43.0=pyhd8ed1ab_1
- widgetsnbextension=4.0.10=pyhd8ed1ab_0
- wrapt=1.16.0=py310h2372a71_0
- xarray=2023.12.0=pyhd8ed1ab_0
- xorg-libxau=1.0.11=hd590300_0
- xorg-libxdmcp=1.1.3=h7f98852_0
- xyzservices=2024.4.0=pyhd8ed1ab_0
- xz=5.2.6=h166bdaf_0
- yaml=0.2.5=h7f98852_2
- yarl=1.9.4=py310h2372a71_0
- zarr=2.17.1=pyhd8ed1ab_0
- zeromq=4.3.5=h75354e8_4
- zfp=1.0.1=h59595ed_0
- zict=3.0.0=pyhd8ed1ab_0
- zipp=3.17.0=pyhd8ed1ab_0
- zlib=1.2.13=hd590300_5
- zlib-ng=2.0.7=h0b41bf4_0
- zstd=1.5.6=ha6fb4c9_0I would have liked to import the environment.yml, but the link to it is broken. I'd appreciate it greatly if anyone could advise.
Version
squidpy==1.2.3