Skip to content
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

Improved channel designation #80

Open
jtsauls opened this issue Dec 17, 2018 · 5 comments
Open

Improved channel designation #80

jtsauls opened this issue Dec 17, 2018 · 5 comments

Comments

@jtsauls
Copy link
Collaborator

jtsauls commented Dec 17, 2018

Right now the cross correlation method for designating channels as empty, full, or ignore, leaves a lot to be desired. Improvements desired.

@jwschroeder3
Copy link

I'll work on a deep learning solution to this. It should be fairly trivial. One thing that would help would be to have a directory for a keras image generator to look in for training data. I'll set the directory up in our shared Google drive folder and be in touch with details soon.

@jtsauls
Copy link
Collaborator Author

jtsauls commented Dec 27, 2018

Cool.

I guess it could be easy to just run segmentation looking for cells on a few time points per channel and then just simply check if there are enough pixels with value 1 that warrant analyzing everything.

The params file has first_image and last_image, which are the index of the images to be shown in the GUI/fov.pdf files. So if you wanted to test two time points you could use those. Or honestly 10 time points spaced evenly through the experiment would probably be worth it, and some sort of graph that takes the place of the cross correlation graph could be used (or it could be an and/or choice).

@jtsauls
Copy link
Collaborator Author

jtsauls commented Dec 27, 2018

This is also related to issue #33

@jwschroeder3
Copy link

jwschroeder3 commented Jan 14, 2019

OK....

I wrote and trained a CNN to classify channels as either good, empty, out-of-focus, or defective. I haven't tested it on many scenarios yet, but so far it looks like it is working well. I have a bit more work to do on it to ensure it generalizes well to videos of varying length, since I trained it only on videos that were 210 frames long. Once I am comfortable with its performance on videos of other lengths, I'll do a PR.

The attached pdf shows the current result of running mm3_ChannelPicker.py, using the CNN for channel picking.

The bottom plots are now horizontal bar plots, each bar representing the probability that the given channel is either good, empty, out-of-focus, or defective.

fov_xy001.pdf

@jtsauls
Copy link
Collaborator Author

jtsauls commented Jan 15, 2019

Awesome

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants