Hi Juan:
Thanks for your advice, It's true that ImagePy is quickly hacked together and unprofessional(The main framework is build in 2 months). And that's why I didnot push it on pypi. I will so some clean up in 2018. But some different opinions:

1. about the "promotion" category, I think sometimes it is needed. Especially, I need to got more user, and some of them should be programer, when they use, they help me to do some test. I will test the interactive framework, but I have no time to test every algrithsm and function.

2. ImagePy's concept is borrow and integrate, the key is the interactive ui framework and the plugin system, not algrithsm. I wrote some in ipyalg, that's because something I must wrote:

eg: https://github.com/Image-Py/imagepy/blob/master/imagepy/ipyalg/graph/skel2d.py
I found scikit-image's medial_axis function has some bug:https://github.com/scikit-image/scikit-image/issues/2550
the scikit-image's medial_axis make holes when thin. And sometimes we donot need many branch. So I wrote the check you saw.

I need a skeleton analysis function, thanks for your skan, But I think a faster and a cleaner network is better, so I wrote it.

eg: scikit-image's h_minima, h_maxima, watershed function is too slow, and when I process a large image, it would run death.
so I wrote some function with numba. That's just temporary, I will replace with scikit-image's function when it's OK.

thanks for your advice, I will learn the PEP8 and numpy style.

----- 原始邮件 -----
发件人:Juan Nunez-Iglesias <jni.soma@gmail.com>
收件人:scikit-image <scikit-image@python.org>, imagepy@sina.com
主题:Re: [scikit-image] ImagePy 2018
日期:2018年01月26日 08点50分

Hi Yan,

Good to hear from you again! Responses inline below.

On 22 Jan 2018, 3:43 PM +1100, imagepy@sina.com, wrote:
Hi everyone:
I wrote ImagePy in the last year. It's a plugin framework, like ImageJ, but based on Python and Numpy.

I wrote a ImageJ style ui at first, but now I wrote a more powerful ui, with a toolbox, many widgets, and a developer sute: macros recorder, python console, command finder... and we can extend the tools, commands, widgets by Python plugins. 

I had test it on Windows, Mac, Linux, you can try it here:https://github.com/Image-Py/imagepy. and a snapshot attached! And I had wrote many documents(in Chinese), and have some users in my country. There is some plan in 2018, please give me some advice. 

ImagePy is a very cool concept and execution. Actually the amount of work you’ve done so far seems incredible. Congratulations on a great project!

1. I will write more documents, and translate it in English (I need help) 

Yes, English-language documentation is a necessity if you want to be “mainstream”.

2. I will try to do some lecture in local college.
3. I am writting a book, introduce some skill in image-processing, not aimed at program, but with many example in biology and material. And show how to do this using ImagePy.
4. I want to publish some paper (many  users use ImagePy, and ask me how to quote ImagePy. But I do not know well how to write and where to publish) 

These three goals, to me, should be secondary. They fall in the “promotion” category, and need to come after ImagePy has reached a certain level of stability and maturity. I’ve browsed a bit through the code-base, and I think that you should spend some time cleaning up the code and adding tests before pushing ImagePy too hard. For example, here, it looks like you return n < 2 and the rest of the code is ignored:


Additionally, the function should have a name that is less context-dependent. ie instead of “check(n)”, one could do, “pixel_in_skeleton(neighbor_sum)”.

Functions should also be documented in the NumPy style:

Code should adhere to PEP8:

Your package should be pip-installable:

There’s nothing wrong with writing code quickly to get stuff done. As I mentioned, the amount of functionality in ImagePy already is extremely impressive. But, for me, the authority problem for ImagePy is not because it’s not well-known, but because the code looks quickly hacked together and unprofessional. As I said: nothing wrong with that at the start of a project, but before people will place confidence on it, it needs to be polished.

Tests don’t guarantee correctness — we have many bugs in skimage — but they help very much to protect against bugs. Since most of the code in ImagePy is untested (that “check” function for example), it’s likely that there are many bugs hiding in there.

5. Many user say that they like ImagePy, but they worry about the authority. For ImagePy is not as known as ImageJ or ImagePro Plus now. And If they use ImagePy in there paper, they also worry the paper checker did not trust in ImagePy. But Infact, ImageJ is just a plugin framework, and the plugins are wrote by many people, in good/bad quality.- 

This is definitely true. But many of the plugins (the most cited) are very well tested and documented. Actually I don’t know whether it’s a requirement to have tests to be included in Fiji by default, but I think it probably is.

But ImagePy are a wrapper for scipy.ndimage, scikit-image, opencv... Scikit-image are in BSD License, So I want to know if I can say, ImagePy has a core of scikit-image, And most algorithm are supported by scikit-image? 

The wording and imagery should not suggest that ImagePy is endorsed by scikit-image. However, it is perfectly fine for you to say that ImagePy is built on top of SciPy, scikit-image, opencv. This is just a true statement, and we don’t forbid making true statements. =) If you want to increase confidence in specific functions, if a menu item simply calls a scikit-image function, you could add a little greyed-out “skimage” note next to the menu item.

6. If possible If there is some way to get little economic support? I just wrote it in my spare time, If there is some support, I can devote more time. 

Unfortunately this is a very hard unsolved problem in open-source. Currently even skimage itself has no financial support, and is purely volunteer-driven. Even NumPy just got its first ever direct funding last year. So unfortunately we don’t have a good answer for you. You should check whether there are any government granting agencies in China that might support open-source development.

I think ImagePy is an excellent idea and would love to revisit it. I don’t have time right now (I’m not even contributing to the skimage 0.14 release currently!), but keep pinging us as you make progress! Best of luck,