yunguan-wang / SPROD

SPROD: Spatial expression profiling de-noising
Other
33 stars 4 forks source link

'Spot_radius' value; the parameter `image` is an empty array #42

Open celluwee opened 3 months ago

celluwee commented 3 months ago

While using image batch mode and setting 'Spot_radius' to 0.5, I keep getting an empty spot_img array (spot_mask.shape: (1, 1), spot_img.shape: (0, 1, 3)) and the ValueError:

ERROR::: File "/home/SPROD/sprod.py", line 312, in ERROR:::_ = extract_img_features(input_path, img_type, input_path) ERROR::: File "/home/feature_extraction.py", line 135, in extract_img_features ERROR:::normed=False, ERROR::: File "/home/skimage/feature/texture.py", line 106, in greycomatrix ERROR:::check_nD(image, 2) ERROR::: File "/home/skimage/_shared/utils.py", line 276, in check_nD ERROR:::raise ValueError(msg_empty_array % (arg_name)) ERROR:::ValueError ERROR:::The parameter image cannot be an empty array.

Otherwise, setting 'Spot_radius' to bigger integer values (such as 3, 6, 14) returns (for 'Spot_radius' set to 6) spot_mask.shape: (13, 13), spot_img.shape: (5, 13, 3), and has another error:

ERROR::: File "/home/SPROD/sprod.py", line 312, in ERROR:::_ = extract_img_features(input_path, img_type, input_path) ERROR::: File "/home/SPROD/sprod/feature_extraction.py", line 120, in extract_img_features ERROR:::spot_img = np.einsum("ij,ijk->ijk", spot_mask, spot_img) ERROR::: File "<__array_function__ internals>", line 6, in einsum ERROR::: File "/home/numpy/core/einsumfunc.py", line 1359, in einsum ERROR:::return c_einsum(*operands, **kwargs) ERROR:::ValueError ERROR:::operands could not be broadcast together with remapped shapes [original->remapped]: (13,13)->(13,13,newaxis) (5,13,3)->(5,13,3)

My 'Spot_metadata.csv' file has the shape of (1459, 1475, 3)

By the way, do you plan on adding an alternative input to the .tif image such as an RGB numpy.ndarray for example?

wtwt5237 commented 1 week ago

Hello @celluwee

Please contact Yunguan Wang, [yunguan.wang@cchmc.org] directly for your question. I believe he wrote this part of the codes

Thanks!

Tao