-
Notifications
You must be signed in to change notification settings - Fork 14
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
Add spot counting #20
Comments
@clarenceyapp Are the spots are already binary at this point? Should we specify which position they are? Something like: If RNA in the marker.csv perform spot detection? |
@DenisSch the spots will be like a binary mask. Instead of all spots having a value of '1', they will have an intensity that corresponds to the cell it belongs to so you can loop through them. It will be called punctaMask.tif. Can we specify which channels we want to count spots in --quantification-opts? |
@clarenceyapp Why not keeping the spots binary (0/1) and we count them in the quantification step. This way you could redo segmentation and still use the same tiff file? |
If you think it's easier in binary, you can just binarize the spot mask (punctaMask>0) . I thought it was going to be easier for you if they are labelled. The spot detection is affected by segmentation quality such as the spots near the cell membrane, so if segmentation has to be redone, it's better to just detect new spots again |
Hi @clarenceyapp, I would like to add RS-FISH as a module for spot counting. I have a Docker container that runs without issues locally at the moment, which for now simply counts spots without assigning them to cells or nuclei. Since the walkthroughs at Adding Modules only mention segmentation and cell state caller modules, I was wondering how I should go about adding a quantification module that performs spot counting. Thanks for the help and suggestions! |
Dear Florian,
We should be able to modify the quantification module in a way that would
allow us to count spots. What exactly is the output of the RS-FISH module?
…On Wed 9. Feb 2022 at 09:20, Florian Wuennemann ***@***.***> wrote:
Hi @clarenceyapp <https://github.com/clarenceyapp>,
I would like to add RS-FISH <https://github.com/PreibischLab/RS-FISH> as
a module for spot counting. I have a Docker container that runs without
issues locally at the moment, which for now simply counts spots without
assigning them to cells or nuclei.
Since the walkthroughs at Adding Modules
<https://mcmicro.org/tutorials/adding.html> only mention segmentation and
cell state caller modules, I was wondering how I should go about adding a
quantification module that performs spot counting.
Thanks for the help and suggestions!
—
Reply to this email directly, view it on GitHub
<#20 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABVPRBJANPNKNSVBC262HY3U2IWT7ANCNFSM4M4LPGTA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
The output of the standard RS-FISH implementation is a .csv file containing the following measures:
I tried running this with an .ome.tiff file from the registration step of MCMICRO and it seems to currently fail if there are multiple channels in the same image. I have opened an issue on the RS-FISH repo to ask the authors for their thoughts on mutli-channel support : PreibischLab/RS-FISH#8 So currently, we would have to split images into single-channel .tifs before processing with RS-FISH. |
Hi @FloWuenne and @DenisSch @ArtemSokolov can comment on how to add modules to MCMICRO. I know I said 'adding modules is easy' in the tutorial video, but I defer this action to him. Clarence |
Thanks for letting me know about the spot detection in S3segmenter. One of the reasons I used RS-FISH was, that for some images, we don't have good cell segmentations, only nuclear segmentations and we wanted to get all x-y positions for spots instead of only those inside segmented cells. I will see what @ArtemSokolov has to say about adding spot counting modules and whether it would still be interesting to add RS-FISH as an alternative or not. |
@FloWuenne if you want total spot count, you could feed in a mask image that spans the entire image instead of a cell mask into s3segmenter. That would be an image that is all white with a value of '1' so that the entire image is treated as a 'cell'. I have to confirm that this is possible. Use the One issue of not using cell masks that I've encountered is that any debris from non-cell objects will give false positive spots even across different spot detection modules. The cell segmentation masks can help reduce false positives from the background. What cell segmentation method are you currently using? Maybe that can be improved. Clarence |
So far I had tried the Mesmser module and unmicst for segmentation. Mesmer was working for nuclear segmentation out of the box, haven't tried whole cell segmentation inside MCMICRO with it yet. Using Mesmer outside MCMICRO with other RNASCOPE channels as membrane channels did not give good cell segmentation results though. For Unmicst, I haven't been able to get good cell segmentation (or even nuclei) results so far, as I think I have to adjust settings a bit for the confocal images we are dealing with. I just experimented a bit and realized that I probably have to crank up the scaling factor quite a bit. (Our image is 0.1 micron pixel and the default scaling factor is for 0.65 micron pixel, so I guess I should use a I launched that job a while ago but it seems to take quite some time due to the upscaling? Thanks for all the advise and help @clarenceyapp ! |
No problem, @FloWuenne Let me know if you want to try Cypository out. Clarence |
Hi @FloWuenne, What does If that's the case, then maybe Thoughts? |
you are absolutely right, So because How does all that sound? |
Thanks for the pointers, @FloWuenne. I'll have to poke around and see how they are splitting the image. There is a non-trivial amount of "fluff" for a simple operation like that (command-line interface, containerization, Nextflow wrapper), if this not handled by an existing container. |
Thanks @ArtemSokolov ! I have created a working docker container image based on a maven/jdk build that is on dockerhub:
This works locally for me to call spots on a single-channel .tif image. I used bfconvert prior to running RS-FISH to split multi-channel images to single-channels that I wanted to process. The main parameters to use with RS-FISH would be Let me know if you think it makes sense to include RS-FISH as a module and if I can help with the nextflow part or anything else! |
Hi @FloWuenne, Sorry for the slow response. We are all in the middle of an image analysis hackathon this week. Would you be able to share a small example image that you would apply My other thought is whether we could install |
@ArtemSokolov |
@clarenceyapp Can you please verify that |
@clarenceyapp Just pinging here again to check if intensity_sum() adds the desired functionality. Also, I would suggest we add an option to only get desired props and not always force mean intensity (as one doesn't much care about mean intensity in FISH count situations). |
labsyspharm/mcmicro#126
The text was updated successfully, but these errors were encountered: