-
Notifications
You must be signed in to change notification settings - Fork 893
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
added imaging tutorial #1534
added imaging tutorial #1534
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yay for an imaging topic, awesome!
If you could think of some question boxes for learners maybe that could be great? Just to get them to think about the outputs and what they are doing, and to check if they understood the most important points.
and could you add a workflow file? :)
|
||
# Getting data | ||
|
||
The dataset required for this tutorial contains a screen of DAPI stained HeLa nuclei ([more information](https://zenodo.org/record/3358874#.XUQ9oi1XZUM)). We will use a sample image from this dataset for training basic imaging skills in Galaxy. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you give a bit more of an introduction/motivation? what are these images? what is the research/biological question we are trying to answer in this tutorial?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This tutorial is just introductory to image handling there is no research/biological question. "We will use a sample image from this dataset for training basic imaging skills in Galaxy."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it doesn't have to be much, even if it is just "we have an image of cells and want to detect the nuclei and segment the image"
just a thought, is it possible to add a step at the end that counts the number of cells? because that would be a neat little result maybe (but no worries if not possible)
I just ran through the tutorial, it was fun, thanks!
again, very cool, thanks a lot! |
Yes this would be nice! Since, you already have the result images you can maybe just upload them :)
Soon, I will add a second tutorial, which is using the whole dataset and should be teached along with this tutorial. Therefore, I think we can just keep the large dataset. Also makes sense to teach people from the beginning that imaging datasets are often not just single files.
Would be nice if you can add it, since you have it already. Thank you in advance!
You're welcome! Also checkout https://www.denbi.de/training/73-microscopy-image-analysis-course were we will teach a whole course on microscopy imaging and hopefully will use this workflow. |
@ThomasWollmann ok, no problem, I will add the images and workflow on Monday :) and cool about the workshop! have a great weekend! |
Hi @ThomasWollmann I added the images and workflow, could you please check if it looks ok to you? In the final image, I get a yellow label of |
> - {% icon param-file %} *"Input Image"*: `input_smoothed_normalized` file (output of **Histogram equalization** {% icon tool %}) | ||
> - *"Output data type"*: `PNG` | ||
> 6. Rename {% icon galaxy-pencil %} the generated file to `viz_smoothed_normalized` | ||
> 7. Click on the {% icon galaxy-eye %} (eye) icon next to the file name, to look at the file content and compare the result with `viz_normalized`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
here you ask them to compare the two images, could you maybe write a sentence about what they should observe (maybe under the image below)?
Yes, I missed a step. I'll add it to the tutorial and then you can try again ;) |
@shiltemann I changed the description. Can you please try it again and update the results? |
> 3. **Binary 2 Label** {% icon tool %} with the following parameters to segment the image: | ||
> - {% icon param-file %} *"Binary Image File"*: `input_segmented` file (output of **Auto Threshold** {% icon tool %}) | ||
> 4. Rename {% icon galaxy-pencil %} the generated file to `input_segmented_labeled` | ||
> 5. **Convert image** {% icon tool %} with the following parameters to convert the image to PNG: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ThomasWollmann was just testing this to extract the updated workflow, but this image now looks completely black, is that expected?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shiltemann Guess this is the desired output. However, it is not nicely visible due to the low label ids. Try running histogram normalization before converting it. If this works, we can add it to the tutorial.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ThomasWollmann ah yes, that's nicer :) I was thinking, what if we also do a Count objects
step at the end, that would be a nice little result/objective maybe "here is an image, how many cells does it contain"? what do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shiltemann Nice idea. Feel free to add the result, since you already have the files in history. I'll add the text except the number.
@shiltemann I added the extra step and some questions regarding this issue to the tutorial. Do you think 30 minutes is too optimistic for this tutorial? |
@shiltemann I changed the dataset and the description. I think the second tutorial is now more useful for practitioners. Please take a look! |
@bgruening Now, the splitted dataset is small and only two subsets are required for the tutorials. This should solve the issues for EU? |
Did you had issues? I could run the other completely. I would like to keep the old datasets and workflow for testing. I think its a cool example where we can benchmark the system. |
I just took time. The workflow is still the same. Now I splitted the dataset into the different treatments and in the course you can actually compare phenotypes visually or apply machine learning on the extracted features. The full dataset is still on Zenodo. I think it is a good example for preparing Galaxy for large scale imaging datasets. Keep in mind that this dataset is still very small ;) |
thanks a lot @ThomasWollmann :) The second tutorial looks good, I like that they also learn about workflows a bit at the same time :) I reworked the last hands_on section of the first tutorial a bit, because using the normalized image resulted in higher IDs that overlapped in the final image and didnt look as nice so please check that it all still looks ok to you :) |
Hmm since the image contains many objects, we probably should not display the ids. In the overlay tool you can set "Plot Labels" to "No". I think this looks much more useful. @shiltemann What do you think? @shiltemann Thank you for putting so much effort in improving the quality of the tutorials! |
oh, that was just how it looked before, to explain why I changed it back. ..without the histogram equalization step it looks quite ok now: So I just reverted to your original steps, and made the histogram equalization step an exercise to help explain the completely black looking image they get, but use the original image for the segmentation mask overlay. What do you think? |
Sounds good! Now everything looks fine :) |
@shiltemann @bgruening still something missing for this tutorial? |
@@ -95,7 +101,7 @@ The dataset required for this tutorial contains a screen of DAPI stained HeLa nu | |||
> 9. Rename {% icon galaxy-pencil %} the collection to `PLK1` | |||
> 9. Upload {% icon galaxy-upload %} the following segmentation filter rules as a new pasted file (format: `tabular`): | |||
> ``` | |||
> area eccentricity | |||
> area eccentricity |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that looks wrong here. the first one
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why? The file has three columns. The first column has no heading.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are correct. I have seen two ... but it seems to be just one.
👍 from me.
Hi @ThomasWollmann oh, you mentioned you were planning to add more biological motivation so I thought you were still working on this Could you just add some Also: do we need to cite the person who created the dataset somehow? was it part of a publication or project we can refer to? |
@shiltemann The data was created by Manuel Gunkel as part of de.NBI Systematic Phenotyping. I do not think that we need additional citations, since we have the zenodo record. |
@shiltemann Now, I added some more motivation and key_points ;) |
@ThomasWollmann thanks! This looks great! |
Wow, @shiltemann awesome work. Thank you for the support! |
🎉 |
No description provided.