crYOLO 1.2
 - Switch to Python3!
 - (Hopefully) fixed that crYOLO sometimes freezes during/after training (hard to reproduce, so I'm not 100% sure if it is fixed.)
 - Fix that training with multiple GPUs did not speed up small datasets
 - Low-pass filtering is now integrated into crYOLO (see LINK)
 - Fix two bugs in cryolo_evaluation that lead to an underestimation the performance parameters
 - cryolo_evaluation is now multithreaded if your training data is organised in subfolders
 - cryolo_evaluation now contains a better method for optimal picking threshold estimation
 - Refactoring
 - Minor bug fixes




 crYOLO 1.3.0
 - Fine tune the general network to your data using the new fine tune option with --fine_tune (https://1n.pm/x8rUH)
 - One-the-fly micrograph filtering during particle picking (don't double your dataset during picking) (https://1n.pm/goXAa)
 - Interactive threshold adjustment after prediction using the new cbox-files and the crYOLO boxmanager 1.2 (https://1n.pm/k7HoI)
 - Pick only fully immersed particles
 - Improved filament mode
  - Almost rewrote tracing
  - Rewrote and speed up merging of filaments
  - Fixed parallelisation of the filament mode
 - Add tifffile as dependency, as imageio throws a lot of warning for some tif files.
 - Add conversion for uint16 images, as pillow cannot work with them.
 - Add option --skip_augmentation to deactivate augmentation during training (requested by some users). (https://1n.pm/goXAa)
 - Add option --num_cpu to specify the number of CPUs used during training and during prediction. (https://1n.pm/goXAa)
 - Add option to limit the amount of GPU memory reserved by crYOLO with --gpu_fraction (https://1n.pm/goXAa)
 - Save anchor size in model every time you write a new model during training (not only at the end)
 - In case of using --min_distance, only the particle with lower confidence is removed (Thanks to Yilai Li)
 - (Fix issue 1)

crYOLO 1.3.2:
 - Speedup prediction: Vectorized some parts of the code and optimized the creation of the cbox files.
 30% speed up picking compared to 1.3.1/1.3.0. 15% faster training compared to 1.3.1/1.3.0.
 - Bug fix in merging of filaments that sometimes throw "IndexError: list index out of range"
 - Fix in cryolo_evaluation: If the validation data is specified with -b instead of runfiles, all datasets with only one box file were ignored.
 - Change library requirement to PILLOW version 6.0.0
 - Fix issue 16

 crYOLO 1.3.3
 - Fix broken prediction

 crYOLO 1.3.4
 - Fix crash when --otf was specified without the filtering in config file
 - Fix filtering for absolute output paths
 - Changed the minimum threshold for cbox files from 0.01 to 0.1. Much faster in many cases but still low enough. If -t is lower than 0.1, it is used as new minimum.
 - Support for SPHIRE 1.2
 - Installation now checks if python 3 is used.
 - Support for ".mrcs" file ending

 - Add 3 internal datasets
 - Add SCIENCE PAPER training data

crYOLO 1.3.5
 - Add seed
 - Remove dependencies
 - Fix normalization bug
 - Add __version__ to __init__.py for easy access to package version.

 crYOLO 1.3.6
 - Changed filament search radius factor from 0.8 to 1.41
 - Add search radius as parameter
 - Improved error message in case of corrupted config file
 - Fix problem in case of absolute paths in config file
 - Add 6 new datasets to general model

 crYOLO 1.4.0
 - Support for JANNI (Neural Network Denoising)
 - Add mask_width for filament mode
 - update to tensorflow-gpu 1.12.3
 - update to numpy 1.15.4
 - Add JANNI as dependency

 crYOLO 1.4.1
 - Downgrade tensorflow and dependency

 After 1.5.0:
 - Add rotation as data augmentation technique
 - Added GUI
 - Set patch in argument parser as deprecated (training + prediction)
 - Remove warmup from config file
 - Use --num_cpu argument when filtering during training
 - Write results of evaluation script into html file.
 - Number of layers for fine tuning are now parameteriseable
 - Monitor mode in prediction

crYOLO 1.5.1:
 - Download backend weights during setup. Especially if crYOLO is installed globally on a cluster this is important.
 - Fix memory issue introduced with 1.5.0
 - Fix multiprocessing mode when using GUI.


crYOLO 1.5.2
 - Fix problem when downlading pretrained weights
 - Fix problem when opening the GUI on a computer without a GPU it crashes. This is especially problematic for clusters with GPU nodes.

 crYOLO Boxmanager 1.2.1:
 - Press "h" for hiding the boxes
 - Fix for loading different box sets with different colors

crYOLO 1.5.4
 - Fix systematic offset when picking K3 images
 - Fix crash when minimum distance filter is used (Thanks to Peter Van Blerkom)
 - Add "Print cmd" button to GUI. The command can then be copied to a submission script.
 - Fix problem that crYOLO does not work if no filtering is used.

crYOLO 1.5.5
 - Add use multiprocessing option
 - Refactoring lowpass filter

crYOLO 1.5.6
 - Resolve installation issues because of new library versions

crYOLO 1.5.7
 - Write commands to folder
 - Fix problems with filmant mode and unblur corrected micrographs
 - --write_empty now works in filament mode
 - Fix low pass filter for K3 images in box manager
 - Fix inburn of box files in box manager.
 - Fix minimum distance filter for cbox files
 - Fix evaluation script of some thresholds could not be found
 - All log files (runfiles, commands, tensorflow) are now written in the log folder
 - Additional print where the runfile is saved to
 - Intermediate models during training now have the suffix "_tmp". After training finished they
 are renamed to the specified name in the config.
 - Don't write filements with size 0.
 - Allow not to use anchor size
 - Write size distribution to disk
 - Write confidence distribution to disk
 - Add option for minimum and maximum size during prediction
 - Box manager: Show size distribution (cbox)
 - Box manager: Show confidence distibution (cbox)
 - Box manager: Show number of boxes

crYOLO 1.8 changes
 - New tomography mode for single particles
 - New tomography mode for filaments
 - new straightness method

crYOLO 1.8 b25
 - z is not an integer anymore. this is especially important for binned data.

crYOLO 1.8 b26
 - directions can be learned
 - directional_method option in prediction
 - ignore directions option for training in training

crYOLO 1.8 b27:
 - Fix a problem filament nms. Sometimes it still produced overlapping filaments
 - Add new rotational data augmentation

 crYOLO 1.8 b28:
 - Expose angle_delta as option for filament tracing

 crYOLO 1.8b32:
 - Reimplemented merging
 - Add -mn3d as filter parameter
