Table of Contents

crYOLO 1.1.0 release notes

Changes crYOLO

Changes crYOLO Boxmanager

Picking filaments - Using a model trained for your data

Since version 1.1.0 crYOLO supports picking filaments.

Data preparation

As described previously, filtering your image using a low-pass filter is probably a good idea.

After this is done, you have to prepare training data for your model. Right now, you have to use the e2helixboxer.py to generate the training data:

e2helixboxer.py --gui my_images/*.mrc

After tracing your training data in e2helixboxer, export them using File → Save. Make sure that you export particle coordinates as this the only format supported right now (see screenshot). In the following example, it is expected that you exported into a folder called “train_annot”.

Configuration

You can configure it the same way as for a “normal” project. We recommend to use patch mode.

Training

In principle, there is not much difference in training crYOLO for filament picking and particle picking. For project with roughly 20 filaments per image we successfully trained on 40 images (⇒ 800 filaments). However, in our experience the warm-up phase and training need a little bit more time:

1. Warm up your network

cryolo_train.py -c config.json -w 10

2. Train your network

cryolo_train.py -c config.json -w 0 -e 10

The final model will be called model.h5

Picking

The biggest difference in picking filaments with crYOLO is during prediction. However, there are just three additional parameters needed:

Let's assume you want to pick a filament with a width of 100 pixels. The box size is 200×200 and you want a 90% overlap, than the picking command would be:

cryolo_predict.py -c config.json -w model.h5 --filament -fw 100 -bd 20 -o boxes/ -g 0

The directory boxes will be created and all results are saved there. The format is the eman2 helix format with particle coordinates.

Visualize the results

You can use the boxmanager as described previously.

Evaluate your results

The new evaluation tool allows you, based on your validation data, to get statistics about your training. If you followed the tutorial, the validation data are selected randomly. With crYOLO 1.1.0 a run file for each training is created and saved into the folder runfiles/ in your project directory. This run file contains which files were selected for validation, and you can run your evaluation as follows:

cryolo_evaluation.py -c config.json -w model.h5 -r runfiles/run_20180821-144617.json 

The result looks like this:

The table contains several statistics:

If the training data consists of multiple folders, then evaluation will be done for each folder separately.

General model

Increase the number of hand picked datasets to 25 by adding: