anmartinezs / pyseg_system

De novo analysis for cryo-electron tomography
Other
20 stars 4 forks source link

how to make particle picking with pyseg #4

Open zhuzhenxi opened 4 years ago

zhuzhenxi commented 4 years ago

@anmartinezs I'm wondering how to make particle picking on my own '.mrc' or '.rec' file (density map tomogram)? I tried to replace https://github.com/anmartinezs/pyseg_system/blob/master/data/tutorials/exp_ssmb/tracing/mb_single/in/in_graph.star#L13 with my own file path and executed './code/tests/tracing.sh', but it didn't work. Besides, I don't understand what 'Segmentation tomogram' refers to so I just removed the second file path in 'in_graph.star'. Is it necessary for particle picking? Could you tell me how to make particle picking with pyseg? Thanks a lot!

anmartinezs commented 4 years ago

PySeg has been designed for picking particles associated to membranes, consequently you need to have a "Segmentation tomogram" (column _psSegImage) associated to each tomogram (rows for the input star file) with the membrane, or similar structure, segmented.

PD use nightly branch to have access to latest development an bugs corrections.

Please let me know if you still have questions or need more help.

zhuzhenxi commented 4 years ago

Thank you for your replay! I tried some methods to generate "Segmentation tomogram" from the demo membrane (tomo22_z50_ves_4.mrc). However, the result seems not as good as 'tomo22_z50_ves_4_seg.mrc' when visualized with imod. Did you manually label the data or what other method did you use?

anmartinezs commented 4 years ago

No, the membrane segmentation is done by the scripts provided, you should not expect a perfect results. Did you change the parameters for the scripts gen_micorsomes.py or mb_segmentation.m? The synthetic tomogram generation is an stochastic process with some varibility in terms of SNR to emulate a real dataset, therefore the segmentation output may be sensitive to the difference among the instances simulated. Consequently, it is normal to have a bit worse results for some tomograms but the result should be acceptable for further processing. Could you send me a picture in order to see how your bad segmentation looks like? How many instances have you generated? How good is the segmentation in each of these tomograms? In addtion, a perfect sementation is not needed to continue, some holes and finger artificats due to low SNR or Missing wedge are acceptable. There is available a Google Q&A group to discuss about how to use PySeg that may be useful for you: https://groups.google.com/forum/#!forum/pyseg

zhuzhenxi commented 4 years ago

1 2 3 My bad segmentation (image 3)is just the result of my own methods, so I'm wondering how to get the better result (image 2)?

zhuzhenxi commented 4 years ago

Suppose I have a mrc file (tomogram or subtomgram like the tomo22_z50_ves_4.mrc) and I want to pick particles associated to membranes. What should I do?

anmartinezs commented 4 years ago

I see, you're processing an experimental dataset already. You can make usage of TomoSegMemTV (https://sites.google.com/site/3demimageprocessing/tomosegmemtv) for membrane segmentation, but you don't need to install it seperatedly, it is already included in PySeg. Actually, the scritpt mb_segmentation.m is actually a wrapping of TomoSegMemTV to process microsomes (or vesicles like you have). If in your previous comment image 2 is the output of mb_segmentation.m then your output is fine you can proced to next scripts tracing "Membrane bound densities tracing", which includes membrane associated particles picking.