Changelog
=========

All notable changes to this project will be documented in this file.

The format is based on `Keep a Changelog <http://keepachangelog.com/>`_
and this project adheres to `Semantic Versioning <http://semver.org/>`_

2019-02-15 - 2.1.1
------------------

Added
~~~~~~~
- Several new PREDICT variables to the config.
- Multilabel classification workflow.
- New oversampling strategy.
- RankedSVM multilabel classification and Relief feature selection.


Changed
~~~~~~~
- Major reduction in memory usage, especially due to PREDICT updates.
- Only use first configuration in the classify config.
- Outputs are now in multiple subfolders instead of one big folder.


Fixed
~~~~~
- Minor bug in test workflow: needed str of label in appending to classify.
- There was a bug in using a .ini file as a config.


2.1.0 - 2018-08-09
------------------

Added
~~~~~~~
- Feature imputation settings in WORC config.
- PCA settings in WORC config.
- Dummy file, which can generally be accepted by WORC.
- Preprocessing is now a separate node before the calcfeatures node.
- Started working on a RTStructReader tool.
- Added EditElastixTransformFile node to set FinalBSplineInterpolationOrder to 0
  in Elastix. Neccesary for transforming segmentations.
- Registred image is also saved as a sink.
- Tex, Zip and PNG Datatypes
- Plot ROC tool for PREDICT
- Plot SVM tool for PREDICT
- Plot Barchart tool for PREDICT
- Plot Ranked Scores tool for PREDICT
- Plot statistical test tool for PREDICT
- Tools: Evaluation network. Can currently be run only serparately: future
  work includes the optional addition of the Evaluate network to the WORC network.
- Settings for PREDICT General, which contains the joblib Parallel settings and
  whether a temporary save will be made after each cross validation.


Changed
~~~~~~~
- Separate sinks for the output segmentations of the elastix and segmentix
  nodes.
- Switched from using PXCastConvert to WORCCastConvert, hence ITK is not
  anymore required as well as ITK tools.

Fixed
~~~~~
- Patientclass ID was used for both test and training. Now given separate names.
- When elastix is used but segmentix isn't, there was a bug.
- DataFile dataype is now a TypeGroup instead of an URLType.
- Last transformation output from elastix is passed further to the network.
- Set FinalBSplineInterpolationOrder to 0 before transforming segmentation with
  transformix.
- Bug: when giving multiple feature sources, only the first was used.


2.0.0 - 2018-02-13
------------------

Added
~~~~~~~
- Elastix and transformix as separate workflow in the tools folder. Can be used
  through the WORC.Tools attribute.
- Example data for elastix and transformix tool.
- Workflow for separate training and testing set
- FASTR tool for applying ttest to all features. Works similar to the
  trainclassifier tool in terms of inputs and outputs.


Changed
~~~~~~~
- Option for multiple modalities. Supports infinitely many inputs per object.
- Moved many PREDICT parameters to the configuration file.
- When using a multimodal workflow with only a single segmentation,
  Elastix will automatically be used for registration. Note that you have to
  put the reference segmentation on the first modality!

Fixed
~~~~~
- Proper combining of features from multiple modalities to classify tool.
- Minor bugs in segmentix tool.
- For multiple modalities, add only optional sources like metadata when present.

1.0.0rc1 - 2017-05-08
------------------

First release
