haesleinhuepf / BioImageAnalysisNotebooks

Python Jupyter notebooks for BioImageAnalysis, GPU-accelerated image processing, bio-image data science and more
https://haesleinhuepf.github.io/BioImageAnalysisNotebooks
BSD 3-Clause "New" or "Revised" License
115 stars 32 forks source link

contributions #5

Open guiwitz opened 2 years ago

guiwitz commented 2 years ago

What an amazing resource @haesleinhuepf ! I had in mind to extend some of my courses in this way but of course never found time. I'm planning a workshop on bioimage processing in the coming months and instead of reinventing the wheel I'm considering to use your material as basis and also use the opportunity contribute to your project. I read that you encourage people to contribute new notebooks and I have a few questions:

I just want to avoid working on something to then find out that you or someone else has worked on the same thing. In general, I'm also curious whether you want to keep tight control on the content (wich would be perfectly fine!) or if you intend this as a collaborative project. In the latter case, maybe potential contributions or proposals for improvement of specific notebooks could be discussed in issues?

haesleinhuepf commented 2 years ago

Hi Guillaume @guiwitz ,

great to hear from you! I took a lot of inspiration from your notebooks and your NEUBIAS academy 2 years ago. Hence, it would be an honor to have you contributing to this repository!

is there any specific topic that you think needs particularly attention?

Yes, the image segmentation / deep-learning chapter is under-developed. It contains some notebooks for applying cellpose and stardist, but no training notebooks. I also didn't want to just replicate the training notebooks from the cellpose, stardist and lowcostDL4mic repositories. My idea was to boil those resources down to the bare minimum and say, "If you want to train networks, these are simple examples. If you want to learn more and train on your own data, go to the github repository of the developers and read the notebooks there". One could also again link to your resources, e.g. here for more detailed explanation.

do you have any roadmap in mind (e.g. things you want to do next)?

Short-term: I would like to fix many tiny things. The notebooks are at the moment more or less just copied in one place. There are gaps between the topics and hardly cross-topic links. Furthermore, I will add/extend two things: optimization and bio-statistics. That's necessary for my lecture starting in April.

Long-term: I would like to focus on two things: tiled image processnig, specifically in the context of 3D+t data. I'm also interested in learning and teaching more data science beyond image data. What to do with measurements once we derived them from label images, UMAPs, clustering etc. I was also planning to ask @arpoe , who did the statistics part of our lecture last year.

are you also happy with people improving the existing notebooks?

Absolutely! I'm pretty sure there are many things that can be improved. You feedback, pull-requests, corrections, additions are very welcome!

potential contributions or proposals for improvement of specific notebooks could be discussed in issues?

Yes, I think that's a good idea. Let's start discussing about chapters in issues. We can then make sure that we're not both working at the same topic at the same time.

I'm also curious whether you want to keep tight control on the content (wich would be perfectly fine!) or if you intend this as a collaborative project

That's a good question. I think it would be better to make this a collaborative project; in general. I do have concerns regarding the content and the target audience. It would be a pitty if this notebook collection turns into a thing that only python-experts understand. I typically write for life-scientists (mostly biologists) with limited to no coding skills. And I try to avoid technical language. For example, I say "table" instead of "DataFrame" whenever I can. I will write a contributors guide to outline those thoughts. Do you have constraints in similar/different aspects I could think about while formulating such a document?

Looking forward to hear what you think!

Best, Robert

haesleinhuepf commented 2 years ago

I just added a CONTRIBUTING guide. Let me know what you think!

guiwitz commented 2 years ago

I think your guide covers pretty much everything I could have thought of and I agree 100% with the goals. The only thing that could be considered in addition to the "short" topic notebooks are examples of complete workflows, including the post-processing part (here's an example on BBBC013: https://github.com/guiwitz/ImagingStats/blob/master/image_processing.ipynb). Those could be collected as an Appendix for example. I often see people struggling to extend their script that works on a single image, so such workflows could be examples of what to do and not to do (e.g. including a lot of code in a notebook). If you don't think this fits, we could also make a separate "companion" repo where specific steps in workflows could be linked to the corresponding topic notebook.

I will take some time to go through the content and see what I can add/improve and then I'll open separate issues! Looking forward to collaborate on this!

haesleinhuepf commented 2 years ago

The only thing that could be considered in addition to the "short" topic notebooks are examples of complete workflows, including the post-processing part (here's an example on BBBC013: https://github.com/guiwitz/ImagingStats/blob/master/image_processing.ipynb). Those could be collected as an Appendix for example.

Yes, great idea! How about we add a chapter like "Workflows" or "Real use cases" (not sure about the name), where we can collect such longer notebooks with the entire spectrum of tools combined?

I will take some time to go through the content and see what I can add/improve and then I'll open separate issues! Looking forward to collaborate on this!

I'm excited! I'm looking forward to work with you on this. 🌞