scverse / scverse/spatialdata-plot

3D visualize

Abierto
#385 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Python
Estrellas
86
Forks
21
Merge medio
14 h 50 min
PR fusionados (30 d)
3

Descripción

Hi developer.

Thanks alot for the useful tools and sorry for keep bothering.

I need a 3D visualiza on my xenium dataset. Now I can correctly load my xenium data and check the transcripts point on 2D shape.
I'm wondering if there is any plan to add the 3D visualize feature.

I also try to subset my sdata["transcripts"] based on the z value. however, after subset, I try to construct the sdata, it's not working. and showed error code. ValueError('Unable to coerce to Series, length must be 11: given 2')

Please also let me know if you have better recommendation on 3D visualization of xenium data.


ValueError Traceback (most recent call last)
d:\Yifan_Wang\Software\envs\SP\lib\site-packages\dask\dataframe\utils.py in ?(funcname, udf)
214 )
215 msg = msg.format(f" in {funcname}" if funcname else "", repr(e), tb)
--> 216 raise ValueError(msg) from e

d:\Yifan_Wang\Software\envs\SP\lib\site-packages\dask\dataframe\core.py in ?(op, meta, out, transform_divisions, *args, **kwargs)
6624 for d in dasks
6625 ]
-> 6626 with raise_on_meta_error(funcname(op)):
6627 meta = partial_by_order(*parts, function=op, other=other)

d:\Yifan_Wang\Software\envs\SP\lib\site-packages\dask\utils.py in ?(*args, **kwargs)
1474 for i, arg in other:
1475 args2.insert(i, arg)
-> 1476 return function(*args2, **kwargs)

d:\Yifan_Wang\Software\envs\SP\lib\site-packages\pandas\core\ops\common.py in ?(self, other)
74 other = item_from_zerodim(other)
75
---> 76 return method(self, other)

d:\Yifan_Wang\Software\envs\SP\lib\site-packages\pandas\core\arraylike.py in ?(self, other)
80 @unpack_zerodim_and_defer("ror")
81 def ror(self, other):
---> 82 return self.logical_method(other, roperator.ror)

d:\Yifan_Wang\Software\envs\SP\lib\site-packages\pandas\core\frame.py in ?(self, other, op)
7908 other = ops.maybe_prepare_scalar_for_op(other, (self.shape[axis],))
7909
-> 7910 self, other = self._align_for_op(other, axis, flex=True, level=None)
7911

d:\Yifan_Wang\Software\envs\SP\lib\site-packages\pandas\core\frame.py in ?(self, other, axis, flex, level)
8185 )
8186 # GH#17901
-> 8187 right = to_series(right)
8188

d:\Yifan_Wang\Software\envs\SP\lib\site-packages\pandas\core\frame.py in ?(right)
8131 else:
8132 if len(left.columns) != len(right):
-> 8133 raise ValueError(
8134 msg.format(req_len=len(left.columns), given_len=len(right))

ValueError: Unable to coerce to Series, length must be 11: given 2

The above exception was the direct cause of the following exception:

ValueError Traceback (most recent call last)
Cell In[46], line 1
----> 1 merged_dict_crop = my_images | my_labels | filtered_data | my_shapes | my_tables
2 print(merged_dict.keys())

File d:\Yifan_Wang\Software\envs\SP\lib\site-packages\dask\dataframe\core.py:2124, in _Frame._get_binary_operator..(self, other)
2121 @classmethod
2122 def _get_binary_operator(cls, op, inv=False):
2123 if inv:
-> 2124 return lambda self, other: elemwise(op, other, self)
2125 else:
2126 return lambda self, other: elemwise(op, self, other)

File d:\Yifan_Wang\Software\envs\SP\lib\site-packages\dask\dataframe\core.py:6626, in elemwise(op, meta, out, transform_divisions, *args, **kwargs)
6617 # For broadcastable series, use no rows.
6618 parts = [
6619 d._meta
6620 if _is_broadcastable(d)
(...)
6624 for d in dasks
6625 ]
-> 6626 with raise_on_meta_error(funcname(op)):
6627 meta = partial_by_order(*parts, function=op, other=other)
6629 result = new_dd_object(graph, _name, meta, divisions)

File d:\Yifan_Wang\Software\envs\SP\lib\contextlib.py:153, in _GeneratorContextManager.exit(self, typ, value, traceback)
151 value = typ()
152 try:
--> 153 self.gen.throw(typ, value, traceback)
154 except StopIteration as exc:
155 # Suppress StopIteration unless it's the same exception that
156 # was passed to throw(). This prevents a StopIteration
157 # raised inside the "with" statement from being suppressed.
158 return exc is not value

File d:\Yifan_Wang\Software\envs\SP\lib\site-packages\dask\dataframe\utils.py:216, in raise_on_meta_error(funcname, udf)
207 msg += (
208 "Original error is below:\n"
209 "------------------------\n"
(...)
213 "{2}"
214 )
215 msg = msg.format(f" in {funcname}" if funcname else "", repr(e), tb)
--> 216 raise ValueError(msg) from e

ValueError: Metadata inference failed in or_.

Original error is below:

ValueError('Unable to coerce to Series, length must be 11: given 2')

Traceback:

File "d:\Yifan_Wang\Software\envs\SP\lib\site-packages\dask\dataframe\utils.py", line 195, in raise_on_meta_error
yield
File "d:\Yifan_Wang\Software\envs\SP\lib\site-packages\dask\dataframe\core.py", line 6627, in elemwise
meta = partial_by_order(*parts, function=op, other=other)
File "d:\Yifan_Wang\Software\envs\SP\lib\site-packages\dask\utils.py", line 1476, in partial_by_order
return function(*args2, **kwargs)
File "d:\Yifan_Wang\Software\envs\SP\lib\site-packages\pandas\core\ops\common.py", line 76, in new_method
return method(self, other)
File "d:\Yifan_Wang\Software\envs\SP\lib\site-packages\pandas\core\arraylike.py", line 82, in ror
return self.logical_method(other, roperator.ror)
File "d:\Yifan_Wang\Software\envs\SP\lib\site-packages\pandas\core\frame.py", line 7910, in _arith_method
self, other = self._align_for_op(other, axis, flex=True, level=None)
File "d:\Yifan_Wang\Software\envs\SP\lib\site-packages\pandas\core\frame.py", line 8187, in _align_for_op
right = to_series(right)
File "d:\Yifan_Wang\Software\envs\SP\lib\site-packages\pandas\core\frame.py", line 8133, in to_series
raise ValueError(

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza reproduciendo la operación de notebook informada que combina my_images, my_labels, filtered_data, my_shapes y my_tables después de aplicar un subconjunto a sdata["transcripts"] mediante z. Lee los puntos de entrada existentes para la visualización 2D de Xenium e inspecciona cómo se reconstruyen los datos de transcripción; el issue no menciona ningún archivo fuente ni ninguna prueba. El trabajo estaría terminado cuando exista una ruta de visualización 3D definida o una limitación documentada, junto con la resolución o un aislamiento más claro del ValueError informado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
pandas, python
Área
data-visualization
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.