jsniff / BoutonDetector

0 stars 0 forks source link

Feedback on 4-16-14 visualization #8

Open lukeb546 opened 10 years ago

lukeb546 commented 10 years ago

cell 1: (left-most cell in stack)

second cell ("middle" cell in stack, exists from z13-52):

third cell (right-most in stack, exists from z35-end)

i think it may be worth going back to try a different thresholding scheme as a pre-processing step, and then feeding those images into the matlab script, commenting out the thresholding that you have implemented temporarily, for comparison. that auto local threshold function that we talked about long ago may be better at not breaking up the axon + boutons into so many small pieces, which get treated as unique by the algorithm. i can also play around with this and send you an auto local thresholded stack to play around with

lukeb546 commented 10 years ago

looks like the only way i can get emails about new issues that i didn't create is for you to mention me, like @mention ... so probably @lukeb546 not sure if there are any other options on your end.

lukeb546 commented 10 years ago

I'm putting some different versions of C2 in the following folder: Dropbox\Michele, George, Jacob, & Luke\Pre-processed The operations I did, and the order in which I did them, are documented in the filename, along with any values that were changed from the default, which are listed in order of the fields in the plugin window.

Some of the images have lots of single-pixel noise, but most of this is within the cell body and away from the boutons, so hopefully it's not a problem. Also, since it's mostly single-pixel noise, I think the algorithm already ignores this.

You might try running the bouton ID & counting part of the script on these images, to see if the different type of thresholding that I used makes a difference.

lukeb546 commented 10 years ago

the thresholding step is still the make-or-break it step at the end. even after all of the processing and massaging, the thresholding value used still determines whether or not boutons are lost (if the value is too high) or whether they are joined together when they shouldn't be and connected by bridges of axon (if the thresholding value is too low). the auto local threshold may be a way around this, but it still seems temperamental. i think going with a lower threshold value, so that nothing is lost, and then trying to implement some sort of erosion -> dilation or similar strategy could be useful.

i don't know how successful what i tried today will be, but i think it's worth taking a look.

jsniff commented 10 years ago

@lukeb546 boutons that are inside the cell that should be rejected: 207, 241, 253, 269, 278, 305, 308, 312, 338

I've coded an initial version of this and will deploy it soon.

jsniff commented 10 years ago

@lukeb546 What about pole boutons (when cell comes in vision and outside vision). It seems like you kept early boutons in Cell 1...Should this be the same for other cells?

lukeb546 commented 10 years ago

Yes, I think keeping boutons that appear inside the edges of the cell for the first ~5 z-planes or so will work okay.

jsniff commented 10 years ago

17 is missed. 19 and 21 seem double-marked

screen shot 2014-05-07 at 10 31 16 am

jsniff commented 10 years ago

screen shot 2014-05-07 at 10 42 59 am

42, 44, 10 and 25

jsniff commented 10 years ago

screen shot 2014-05-07 at 10 49 49 am 1

Maybe some double counting

jsniff commented 10 years ago

screen shot 2014-05-07 at 10 51 30 am

191,192, 160, 169. Maybe some double counting.