-
Notifications
You must be signed in to change notification settings - Fork 45
Open
Description
Hi,
My error log looks like this:
IndexError Traceback (most recent call last)
File <timed exec>:1
File ~\minian\minian\cnmf.py:858, 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)
856 YrA = compute_trace(Y, A, b, C, f).persist()
857 Ymask = (YrA > 0).any("frame").compute()
--> 858 A, C, YrA = A.sel(unit_id=Ymask), C.sel(unit_id=Ymask), YrA.sel(unit_id=Ymask)
859 print("grouping overlaping units")
860 A_sps = (A.data.map_blocks(sparse.COO) > 0).compute().astype(np.float32)
File ~\.conda\envs\minian\lib\site-packages\xarray\core\dataarray.py:1202, in DataArray.sel(self, indexers, method, tolerance, drop, **indexers_kwargs)
1121 def sel(
1122 self,
1123 indexers: Mapping[Hashable, Any] = None,
(...)
1127 **indexers_kwargs: Any,
1128 ) -> "DataArray":
1129 """Return a new DataArray whose data is given by selecting index
1130 labels along the specified dimension(s).
1131
(...)
1200
1201 """
-> 1202 ds = self._to_temp_dataset().sel(
1203 indexers=indexers,
1204 drop=drop,
1205 method=method,
1206 tolerance=tolerance,
1207 **indexers_kwargs,
1208 )
1209 return self._from_temp_dataset(ds)
File ~\.conda\envs\minian\lib\site-packages\xarray\core\dataset.py:2185, in Dataset.sel(self, indexers, method, tolerance, drop, **indexers_kwargs)
2181 indexers = either_dict_or_kwargs(indexers, indexers_kwargs, "sel")
2182 pos_indexers, new_indexes = remap_label_indexers(
2183 self, indexers=indexers, method=method, tolerance=tolerance
2184 )
-> 2185 result = self.isel(indexers=pos_indexers, drop=drop)
2186 return result._overwrite_indexes(new_indexes)
File ~\.conda\envs\minian\lib\site-packages\xarray\core\dataset.py:2032, in Dataset.isel(self, indexers, drop, missing_dims, **indexers_kwargs)
2030 indexers = either_dict_or_kwargs(indexers, indexers_kwargs, "isel")
2031 if any(is_fancy_indexer(idx) for idx in indexers.values()):
-> 2032 return self._isel_fancy(indexers, drop=drop, missing_dims=missing_dims)
2034 # Much faster algorithm for when all indexers are ints, slices, one-dimensional
2035 # lists, or zero or one-dimensional np.ndarray's
2036 indexers = drop_dims_from_indexers(indexers, self.dims, missing_dims)
File ~\.conda\envs\minian\lib\site-packages\xarray\core\dataset.py:2090, in Dataset._isel_fancy(self, indexers, drop, missing_dims)
2087 continue # drop this variable
2089 if name in self.indexes:
-> 2090 new_var, new_index = isel_variable_and_index(
2091 name, var, self.indexes[name], var_indexers
2092 )
2093 if new_index is not None:
2094 indexes[name] = new_index
File ~\.conda\envs\minian\lib\site-packages\xarray\core\indexes.py:106, in isel_variable_and_index(name, variable, index, indexers)
101 if len(variable.dims) > 1:
102 raise NotImplementedError(
103 "indexing multi-dimensional variable with indexes is not supported yet"
104 )
--> 106 new_variable = variable.isel(indexers)
108 if new_variable.dims != (name,):
109 # can't preserve a index if result has new dimensions
110 return new_variable, None
File ~\.conda\envs\minian\lib\site-packages\xarray\core\variable.py:1120, in Variable.isel(self, indexers, missing_dims, **indexers_kwargs)
1117 indexers = drop_dims_from_indexers(indexers, self.dims, missing_dims)
1119 key = tuple(indexers.get(dim, slice(None)) for dim in self.dims)
-> 1120 return self[key]
File ~\.conda\envs\minian\lib\site-packages\xarray\core\variable.py:768, in Variable.__getitem__(self, key)
755 def __getitem__(self: VariableType, key) -> VariableType:
756 """Return a new Variable object whose contents are consistent with
757 getting the provided key from the underlying data.
758
(...)
766 array `x.values` directly.
767 """
--> 768 dims, indexer, new_order = self._broadcast_indexes(key)
769 data = as_indexable(self._data)[indexer]
770 if new_order:
File ~\.conda\envs\minian\lib\site-packages\xarray\core\variable.py:609, in Variable._broadcast_indexes(self, key)
606 if all(isinstance(k, BASIC_INDEXING_TYPES) for k in key):
607 return self._broadcast_indexes_basic(key)
--> 609 self._validate_indexers(key)
610 # Detect it can be mapped as an outer indexer
611 # If all key is unlabeled, or
612 # key can be mapped as an OuterIndexer.
613 if all(not isinstance(k, Variable) for k in key):
File ~\.conda\envs\minian\lib\site-packages\xarray\core\variable.py:652, in Variable._validate_indexers(self, key)
650 if k.dtype.kind == "b":
651 if self.shape[self.get_axis_num(dim)] != len(k):
--> 652 raise IndexError(
653 "Boolean array size {:d} is used to index array "
654 "with shape {:s}.".format(len(k), str(self.shape))
655 )
656 if k.ndim > 1:
657 raise IndexError(
658 "{}-dimensional boolean indexing is "
659 "not supported. ".format(k.ndim)
660 )
IndexError: Boolean array size 10 is used to index array with shape (820,).
I don't know what it means or how to fix it. I greatly appreciate your help.
Metadata
Metadata
Assignees
Labels
No labels