User Tools

Site Tools


auto_2d_class_selection

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
auto_2d_class_selection [2019/07/11 14:03]
twagner
auto_2d_class_selection [2020/08/27 15:11] (current)
twagner [Changelog]
Line 1: Line 1:
-====== Cinderella: Automatic 2D class selection ======+====== Cinderella: Deep learning based binary classification tool ======
  
 ---- ----
Line 8: Line 8:
 ---- ----
  
 +Our binary classification  tool (//Cinderella//) is based on a deep learning network to classify class averages, micrographs or subtomograms into good and bad categories.
 +Cinderella supports ''.hdf/.mrcs'' ** files for class averages**, ''.mrc'' **files for micrographs**, and ''.hdf'' **files for subtomograms**.
 +//Cinderella// was written to automate cryo-em data processing.  It's open source and easy to use.
 +We provide a pretrained general model for classifying class averages ([[auto2d_tutorial|see tutorial]]). But you can easily train it with your own set of classes, micrographs, and/or subtomograms.
  
-Our automatic 2d class selection tool (**Cinderella**) is based on a deep learning network to seperate 2D classes from .hdf / .mrcs files into good and bad classes. It uses the same deep neural network as crYOLO and was pretrained on a set good / bad classes. Cinderella was written to automate cryo-em data processing. It's open source and easy to use ([[auto2d_tutorial|see tutorial]]). You can easily train it with your own set of classes. 
 <note> <note>
-  * **License**: MIT +  * **License**: [[https://github.com/MPI-Dortmund/sphire_classes_autoselect/blob/master/LICENSE|MIT]] 
-  * **GitHub repository**: https://github.com/MPI-Dortmund/sphire_classes_autoselect+  * **Repository**: [[https://github.com/MPI-Dortmund/sphire_classes_autoselect|GitHub]]
 </note> </note>
-Here are a couple of examples for good / bad classes in Cinderella: + 
 + 
 +====== 2D class selection model ====== 
 +Our model was trained on a set of 2D classes from both [[https://sphire.mpg.de/wiki/doku.php?id=pipeline:isac:sxisac2|ISAC]] and Relion. During the creation of the training data set, we tried to answer the question, "Which class would I select If I would not know the particle?" when deciding what is a "good" class. Here are a couple of examples for good/bad classes in //Cinderella//
  
 {{ ::cinderellea.png?450 |}} {{ ::cinderellea.png?450 |}}
  
-====== The Model ====== +
-Our model was trained on a set of 2D classes from ISAC. During the creation of the training dataset, I tried to ask myself "Which class would I select If I would not know the particle?" to decide which is a good class. +
-<note important> +
-The training dataset does **not contain any Relion classes**, so it might be that Cinderella will not work with well them. +
-</note>+
 You can easily [[auto_2d_class_selection#contribute|contribute]] your own classes!   You can easily [[auto_2d_class_selection#contribute|contribute]] your own classes!  
  
-Right now our model is trained on **19 datasets**. But we will increase the number often!+Right now our model is trained on **4773 good classes and 5390 bad classes**.
 ====== Download ====== ====== Download ======
 ====Cinderella==== ====Cinderella====
-Version: 0.3.0+Version: 0.7.0
  
-Uploaded: 11July 2019+Uploaded: 27August 2020
  
 [[https://pypi.org/project/cinderella/#files|DOWNLOAD]] [[https://pypi.org/project/cinderella/#files|DOWNLOAD]]
  
-====Pretrained model==== +====Pretrained model (2D classes)==== 
-Uploaded: 11July 2019Datasets19 +Uploaded: 27August 2020Dataset4773 good classes and 5390 bad classes.
- +
-[[ftp://ftp.gwdg.de/pub/misc/sphire/auto2d_models/model_cinderella_20190708.h5|DOWNLOAD]] +
- +
-[[auto2d_tutorial#classify|Valid configuration file]]+
  
 +[[ftp://ftp.gwdg.de/pub/misc/sphire/auto2d_models/gmodel_cinderella07_202008_N10163.h5|DOWNLOAD]]
 ====Archive==== ====Archive====
-Old version of cinderella and the pretrained model can be found in the [[cinderella_archive|archive]]+Old versions of cinderella and the pretrained model can be found in the [[cinderella_archive|archive]].
  
 ====Changelog==== ====Changelog====
 +
 +=== Version 0.7 ===
 +  * Now uses a **circular masks by default**. This allows to use full rotation during data augmentation. Can be deactivated by setting the field ''mask_radius'' in the configuration file to -1. In case you want to use an model trained with Cinderella < 0.7 please set the radius to -1. Otherwise you case specify any radius you want. **By default** (no ''mask_radius'' provided) it will use 0.4*''input_size''.
 +  * The general models now includes **300 new good Relion classes and 2000 new bad Relion classes** (//Thanks to Takanori Nakane and Grigory Sharov//).
 +  * Fixed numerical instability that occurs when you have classes filled with a constant value (//Thanks to Grigory Sharov//).
 +  * Fixed a problem with classes that contain NaN values. NaN values are now replaced with 0. (//Thanks to Grigory Sharov//).
 +  * Fixed an issue when filenames contain more than one point.
 +
 +=== Version 0.6 ===
 +  * Fix an issue for classes in mrcs format
 +  * Minor changes
 +
 +=== Version 0.5 ===
 +  * Add support for subtomograms
 +  * Faster file reading
 +
 +=== Version 0.4 ===
 +  * Balances unbalanced training datasets.
 +  * It is now possible to train Cinderella to select micrographs
 +  * Updated the general model for 2D class selection.
 +
 +=== Version 0.3.1 ===
 +  * Downgrade to tensorflow 1.10.1 again, as user report long initialization times
 +  * Only report the number of good / bad classes + their fraction.
 +
 === Version 0.3.0 === === Version 0.3.0 ===
   * More data augmentation (add rotation)   * More data augmentation (add rotation)
Line 69: Line 93:
 After that, create a new virtual environment: After that, create a new virtual environment:
 <code> <code>
-conda create -n cinderella -c anaconda python=3.6 pyqt=5 cudnn=7.1.2+conda create -n cinderella -c anaconda python=3.6 pyqt=5 cudnn=7.1.2 numpy==1.14.5
 </code> </code>
  
Line 75: Line 99:
 <code> <code>
 source activate cinderella source activate cinderella
-</code> 
- 
-Install fast numpy: 
-<code> 
-conda install numpy==1.15.4 
 </code> </code>
  
Line 93: Line 112:
  
 ====== Tutorial ====== ====== Tutorial ======
-[[auto2d_tutorial|We created a tutorial how to use Cinderella!]]+We created three tutorials: 
 + 
 +  * [[auto2d_tutorial|How to use Cinderella for 2D class selection]] 
 +  * [[cinderella_micrographs|How to use Cinderella for micrograph selection]] 
 +  * [[cinderella_tomograms|How to use Cinderella for subtomogram selection]]  
 + 
auto_2d_class_selection.1562846604.txt.gz · Last modified: 2019/07/11 14:03 by twagner