Image Processing Error HoughCircle

I’m trying to use the HoughCircle Component and get the foilowing error:
ERROR Python Script (1⇒2) (deprecated) 3:7:0:19 Execute failed: No module named ‘skimage’
Traceback (most recent call last):
File “”, line 4, in
ModuleNotFoundError: No module named ‘skimage’

I have scikit-image installed in my python environment. When HoughCircle was released scikit-image was at 0.15. I have version 0.29 installed. Could that be the problem?

Hi @rfeigel,

you are using a node which is deprecated and its environment should be set in Preferences -> KNIME -> Python (legacy) and not in ... -> Python (assuming that you are not using a Conda Environment Propagation node).

Can you verify that you have the environment containing scikit-image selected in the preferences of Python (legacy)? And, please, can you send me a screenshot of the description of that node? I assume that it is misleading and not pointing to Python (legacy). Thanks!

Best regards
Steffen

Screenshot 2023-08-17 at 13.58.26

1 Like

Thanks for the prompt reply. Made the change you suggested and get the following srror:

ERROR Python Script (1⇒2) (deprecated) 3:7:0:19 Execute failed: cannot import name ‘circle’ from ‘skimage.draw’ (C:\Users\genef\anaconda3\envs\py39\lib\site-packages\skimage\draw_init_.py)
Traceback (most recent call last):
File “”, line 6, in
ImportError: cannot import name ‘circle’ from ‘skimage.draw’ (C:\Users\genef\anaconda3\envs\py39\lib\site-packages\skimage\draw_init_.py)

I’m not a Python expert, but it appears that scikit-image 0.29 is not backward compatible to v. 0.15.

Problem solved using a Python 3.6 environment with scikit-images 0.17. The HoughCircle compoent doesn’t seem to work very well but it runs.

Dear @rfeigel,

thanks for investigating!
I also had a look and found this: scikit-image/skimage/draw/draw.py at 79cb22aef09dc8c03cb60f1f9d74e11a71abc17f · scikit-image/scikit-image · GitHub

This function is deprecated and will be removed in scikit-image 0.19.
Please use the function named disk instead.

Could you replace skimage.draw by skimage.disk in the import and also the occurrences within the Python snippet and see whether that works? (And maybe re-upload this component? That would be awesome :slight_smile: )

Best regards
Steffen

1 Like

I searched in my Python 3.9 environment which has scikit-image 0.21 and can’t find a skimage-disk function. I’m thorughly confused.

Hi @rfeigel,

my fault! So, here is what I did:

  1. Create an up to date environment (you did that already)
conda create --name houghcircle_environment -c knime -c conda-forge knime-python-scripting=5.1 python=3.11 scikit-image
  1. Set the environment in the Python (legacy) preferences (you did that already)

  2. Copy the corresponding node outside the component to alter it because I have no idea which input for this component is needed (If you want to, upload a workflow demonstrating the use-case of this component maybe?)

  3. I changed in line six the last word: circle to disk. That was my error, I did not check thoroughly and thought the module is changed, but it is only the method circle which disappeared and which is replaced by disk. If you change just this line, at least I do not get any other import errors.

Does that help (and if yes, would you mind uploading the updated component :slight_smile: )?

Best regards
Steffen

Thanks for the prompt reply. My currrent workflow is posted in JKISeason2-21. I point you to that since the post has some further explanation. I’ll try your suggestion and get back to you.

1 Like

Edited the HoughCircle node, but couldn’t save the edit. Env Python 3.9 scikit-image 0.21.
Executed the node inside the node and got the following error:
Center(x,y) Radius(pixels) Accumulator ImageName
0 (2694, 2055) 193 0.250912
1 (2292, 952) 193 0.240876
2 (1132, 754) 193 0.239964
3 (3462, 662) 193 0.235401
4 (4384, 1463) 193 0.234489
5 (3452, 666) 193 0.231752
6 (1142, 749) 193 0.230839
7 (3665, 2652) 193 0.229927
8 (1546, 2452) 193 0.227190
‘DataFrame’ object has no attribute ‘append’
Traceback (most recent call last):
File “”, line 36, in
File “C:\Users\genef\anaconda3\envs\py39\lib\site-packages\pandas\core\generic.py”, line 5989, in getattr
return object.getattribute(self, name)
AttributeError: ‘DataFrame’ object has no attribute ‘append’

Hi @rfeigel,

now we’re doing a real update of that component :smiley:
According to StackOverflow, pandas removed the append method. See the link on how to replace it with concat. I can only do Fernwartung (German: remote maintenance) here as long as I have no example workflow (do you have a link to the JKISeason post you mentioned?). But I hope this is the last issue now :slight_smile:

It makes sense then in the components description to mention besides scikit-image==0.21 also pandas>=2.0 (or the exact version).

Does that help?

Best regards
Steffen

Here you go. Its not executed, since the executed workflow as too large to upload to the HUB.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.