forked from aramis-lab/clinicadl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
313 lines (216 loc) · 10.2 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
# Changelog
Main changes to this code/ project are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## ClinicaDL 1.2.0
### Changed
** Core: **
* Add ClinicaDL installation with pipx.
* Improve logging.
* Add method argument to the interpret command to choose between the new Grad-CAM method and the gradient method.
* Change `extract` command to `prepare-data`.
* Change output of `get-labels`, `split` and `kfold` commands to one TSV per split instead of one per label.
* Change `tsvtool` command to `tsvtools`.
* Change `tsvtools getlabels` command to `tsvtools get-labels` and remove the progression column in the TSV output.
* Add new commands: `tsvtools get-progression`, `tsvtools get-metadata`, `tsvtools prepare-experiment` (split + kfold), and `tsvtools adapt`.
* Update data CI.
* Add a new model for quality check
### Fixed
- Fix `quality-check t1-linear`
## ClinicaDL 1.1.1
### Changed
** Core: **
- Dependencies versions were updated in order to support Python equal or
greater than 3.8.
- Security updates for some dependencies.
- Include the `--save_tensor` and `--save_nifty` options into the `predict`
sub-command (before `save_tensor` was also subcommand`).
- Update some paper references in the documentation.
- Add a description for the available models.
- Add the flag `--model_layers` to the `clinicadl train list_models` subcommad
to visualize the model layers.
### Fixed
- Fix bug when using the `clinicadl train list_models` command.
## ClinicaDL 1.1.0
### Changed
** Core: **
- Add new VAE models for training.
- Add multiprocessing for the `extract` task.
- Add tests to validate `resume` and `quality-check` functionalities.
- Update minimal version for first level dependencies: clinica, scikit-learn,
scikit-image.
- Add a new Makefile to the root of the repository in order to facilitate
sysadmin frequent tasks. The CI script was also modified.
** Command line:**
- Update of the train command line: now all actions related to training
(resume, list models, tasks…) are sub-commands of the command `clinicadl
train`. Task is now a sub-command, and not an argument.
- Add command to list the available models for the training task and the
details of each model.
- Add an option to the command `save-tensor` to save the reconstruction
outputs as nifti files.
- Add command `clinicadl train from_json` to train again the same experiment
from a JSON file generated by ClinicaDL.
### Fixed
- Allow the user to choose the optimizer and the metric independently of the
performed task.
- Logger does not display output according to the `--verbose` option during
the training tasks. This behavior is fixed.
- Behavior of `resume` was changed.
- Reader to request BIDS/CAPS datasets changed its interface in the recent
version of Clinica (>=0.5.4). Code using these functions was adapted.
- Exceptions raised are now more specific and detailed.
- Documentation was updated.
## ClinicaDL 1.0.4
### Changed
** Core: **
Switch to Poetry to manage production and development requirements.
Update requirements.
Improve metrics for multi-class settings.
Remove NaN values in input data.
Allow to choose the name of the JSON file produced by `extract`.
Improve logs.
** Command line:**
Add `selection_metrics` option in `clinicadl train` (already available in TOML file).
Print help if no argument is given.
### Fixed
Fix label code generation
Remove all occurences of a group in a MAPS when choosing the `overwriting` option.
Fix `resume` when the training.tsv file is empty.
## ClinicaDL 1.0.3 (release bugfix)
### Fixed
- Fix import module for VAE architectures.
## ClinicaDL 1.0.2
### Changed
**Core:**
- Clinica version dependency.
- Update documentation, with proofreading.
- Change the test for `extract`.
### Fixed
- Use the GPU option on the command line interface.
- Fix the train task when invoking the CLI.
- Remplace the `predict` arguments passed through the CLI.
- Fix issue when using multiple cohorts.
## ClinicaDL 1.0.1
### Changed
**Functionalities:**
- `extract` improve this functionality with more expressive and easy to understand flags.
- Change the test for `extract`.
## ClinicaDL 1.0
Welcome in **ClinicaDL 1.0.0** !
This is a new version of ClinicaDL with some major changes in the source code.
All the main pipelines have been refactored. ClinicaDL now used is now working
with classes instead of function for easier maintenance and better
scalability. We introduce in this version our new data structure called MAPS
to unify ClinicaDL outputs.
This release also include a major command line refactoring with the
introduction of [Click](https://click.palletsprojects.com/en/8.0.x/) library.
Major changes in several pipelines interfaces have been implemented. For
instance the preprocessing pipeline has been split. Train pipeline has also
been refactored to reduce the number of options. The goal is to make ClinicaDL
more easy to use, to maintain, and adapt the command line to the MAPS.
ClinicaDL aim for more reproducibility: some configuration files are saved in
the MAPS to reproduce experiments in the same condition (with same
environnement and same parameters). In addition we added some options to fix
the random processes seed and use Pytorch latest enhancement for a
deterministic behavior.
Other improvement and small fix have also been implemented.
Be careful this version breaks the backward compatibility with previous versions.
### Added
**Pipelines:**
- New `extract` pipeline to convert nifti images in Pytorch tensors. This
pipeline now saves a preprocessing json file with all the information needed
for the train pipeline.
**Core:**
- New folder structure: MAPS (Model Analysis and Processing Structure) for ClinicaDL outputs.
- New class MapsManager for MAPS to ease the interface with the MAPS: launch various tasks such as
training and prediction, save outputs, read files...
- Other new classes to make ClinicaDL code more scalable: SplitManager, TaskManager, Network...
- Now takes pet-linear images as possible data modality.
- Possibility to fix the seed for a deterministic behavior.
**Other:**
- New arguments for ROI in random search.
### Changed
**Pipelines:**
- `train` pipeline has now a new command line. Please see the doc for more information.
- `train` now accept a TOML configuration file to simplify the command line.
- `train resume` is now named `resume`.
- `random-search generate` is now named `random-search`
- `random-search`now use TOML configuration file instead of JSON.
- `generate` pipeline to generate synthetic dataset (random, trivial and Shepp-Logan).
- `quality-check` pipeline to perform quality check on Clinica t1-linear and t1-volume outputs.
**Core:**
- Major refactoring of the source code repository organization: now ClinicaDL core
respects the command line hierarchy as is in Clinica repository.
- Command line: we now use [Click](https://click.palletsprojects.com/en/8.0.x/) instead of Argparse.
**Other:**
- Console logs enhancement.
- Replace tensorboardx dependency with torch.utils.tensorboard to remove
tensorboardx from requirement.
- GitHub repository name is now ClinicaDL and not AD-DL anymore.
- We will now use [GitHub
discussion](https://github.com/aramis-lab/clinicadl/discussions) instead of
[Google Group](https://groups.google.com/g/clinica-user).
### Deprecated
### Removed
**Pipelines:**
- `clinicadl preprocessing` pipelines have been removed. They now have new names (see above).
- `clinicadl preprocessing run` has now completely been removed. Please use Clinica for preprocessing.
- `train_from_json` pipeline has been replaced with TOML configuration file.
- `clinicadl random-search analysis` pipeline has been removed.
**Core:**
- T1-extensive preprocessing is not supported by ClinicaDL anymore.
### Fixed
- Fix multi-class classification.
- Fix classification when only one ROI is given.
- Fix tsvtools when diagnosis column value is not identical to tsv file name.
- Fix `clinicadl tsvtool split` when n_test is 1.
- Fix ROI when user provides 3D tensor for ROI.
- Fix the use of GPU on a machine with more than ong GPU (such a computer cluster).
ClinicaDL will now select a free GPU that as permission.
- Fix an error where diagnosis column was automatically overwritten
by the name of the file during split or kfold.
### Security
## ClinicaDL 0.2.2
### Added
- New functionality `clinicadl random-search analysis` to obtain the histogram
of the balanced accuracy over a random search folder.
- New functionality `clinicadl train from_json` to train a model with
parameters defined in a JSON file.
- New functionality `clinicadl train resume` to resume a prematurely stopped
training task.
- Possibility to learn the gray matter intensities with the binary
classification during training, based on `t1-volume` outputs.
- Refactor code style using Black tool.
### Changed
- Previous `clinicadl random-search` is now `clinicadl random-search generate`
- Cross-validation and computational arguments of `clinicadl random-search
generate` are now defined in `random_search.json`.
- Remove tensorboardx dependency.
## ClinicaDL 0.2.1
### Added
- the `multi_cohort` flag in train allows to train on several CAPS at the same time.
### Changed
- `clinicadl train roi` now allows any ROI defined by a mask.
- Update README.md to avoid duplicates.
- JSON files are added for `clinicadl classify` and `clinicadl tsvtool getlabels|split|kfold`
### Removed
- Scripts and data related to MedIA publication.
## ClinicaDL 0.2.0
### Added
- New functionality `clinicadl interpret` to generate saliency maps linked
to pretrained models based on groups of individual images.
- New functionality `clinicadl random-search` to sample random networks from a
predefined hyperparameter space.
- Slice subparsers for `autoencoder`/`cnn`/`multicnn` to be homogeneous with other
parsers.
- roi parser has now `multicnn` option.
- Add generic options to command line: `--verbose`, `--version` and
`--logname`.
### Changed
- Behaviour of `clinicadl quality-check t1-volume`.
- Simplify `clinicadl tsvtools` behaviour when using getlabels, split and
analysis.
- Update documentation.
### Fixed
- Fix broken file when running preprocessing in t1-extensive.