Skip to content

Releases: nipy/heudiconv

v0.8.0: [0.8.0] - 2020-04-15

22 Apr 03:15
v0.8.0

Choose a tag to compare

Enhancements

- Centralized saving of .json files.  Indentation of some files could
 change now from previous versions where it could have used `3`
 spaces. Now indentation should be consistently `2` for .json files
 we produce/modify ([#436][]) (note: dcm2niix uses tabs for indentation)
- ReproIn heuristic: support SBRef and phase data ([#387][])
- Set the "TaskName" field in .json sidecar files for multi-echo data
 ([#420][])
- Provide an informative exception if command needs heuristic to be
 specified ([#437][])

Refactored

- `embed_nifti` was refactored into `embed_dicom_and_nifti_metadata`
 which would no longer create `.nii` file if it does not exist
 already ([#432][])

Fixed

- Skip datalad-based tests if no datalad available ([#430][])
- Search heuristic file path first so we do not pick up a python
 module if name conflicts ([#434][])

v0.7.0: [0.7.0] - 2020-03-20

20 Mar 20:21
v0.7.0

Choose a tag to compare

 Removed

- Python 2 support/testing

 Enhancement

- `-g` option obtained two new modes: `all` and `custom`. In case of `all`,
  all provided DICOMs will be treated as coming from a single scanning session.
  `custom` instructs to use `.grouping` value (could be a DICOM attribute or
  a callable)provided by the heuristic ([#359][]).
- Stop before reading pixels data while gathering metadata from DICOMs ([#404][])
- reproin heuristic:
  - In addition to original "md5sum of the study_description" `protocols2fix`
    could now have (and applied after md5sum matching ones)
    1). a regular expression searched in study_description,
    2). an empty string as "catch all".
    This features could be used to easily provide remapping into reproin
    naming (documentation is to come to http://github.com/ReproNim/reproin)
    ([#425][])

 Fixed

- Use nan, not None for absent echo value in sorting
- reproin heuristic: case seqinfos into a list to be able to modify from
  overloaded heuristic ([#419][])
- No spurious errors from the logger upon a warning about `etelemetry`
  absence ([#407][])

v0.6.0: [0.6.0] - 2019-12-16

16 Dec 20:16
v0.6.0

Choose a tag to compare

This is largely a bug fix.  Metadata and order of `_key-value` fields in BIDS
could change from the result of converting using previous versions, thus minor
version boost.
14 people contributed to this release -- thanks
[everyone](https://github.com/nipy/heudiconv/graphs/contributors)!

Enhancement

- Use [etelemetry](https://pypi.org/project/etelemetry) to inform about most
  recent available version of heudiconv. Please set `NO_ET` environment variable
  if you want to disable it ([#369][])
- BIDS:
  - `--bids` flag became an option. It can (optionally) accept `notop` value
    to avoid creation of top level files (`CHANGES`, `dataset_description.json`,
    etc) as a workaround during parallel execution to avoid race conditions etc.
    ([#344][])
  - Generate basic `.json` files with descriptions of the fields for
    `participants.tsv` and `_scans.tsv` files ([#376][])
  - Use `filelock` while writing top level files. Use
    `HEUDICONV_FILELOCK_TIMEOUT` environment to change the default timeout value
    ([#348][])
  - `_PDT2` was added as a suffix for multi-echo (really "multi-modal")
    sequences ([#345][])
- Calls to `dcm2niix` would include full output path to make it easier to
  discern in the logs what file it is working on ([#351][])
- With recent [datalad]() (>= 0.10), created DataLad dataset will use
  `--fake-dates` functionality of DataLad to not leak data conversion dates,
  which might be close to actual data acquisition/patient visit ([#352][])
- Support multi-echo EPI `_phase` data ([#373][] fixes [#368][])
- Log location of a bad .json file to ease troubleshooting ([#379][])
- Add basic pypi classifiers for the package ([#380][])

Fixed

- Sorting `_scans.tsv` files lacking valid dates field should not cause a crash
  ([#337][])
- Multi-echo files detection based number of echos ([#339][])
- BIDS
  - Use `EchoTimes` from the associated multi-echo files if `EchoNumber` tag is
    missing ([#366][] fixes [#347][])
  - Tolerate empty ContentTime and/or ContentDate in DICOMs ([#372][]) and place
    "n/a" if value is missing ([#390][])
  - Do not crash and store original .json file is "JSON pretification" fails
    ([#342][])
- ReproIn heuristic
  - tolerate WIP prefix on Philips scanners ([#343][])
  - allow for use of `(...)` instead of `{...}` since `{}` are not allowed
    ([#343][])
  - Support pipolar fieldmaps by providing them with `_epi` not `_magnitude`.
    "Loose" BIDS `_key-value` pairs might come now after `_dir-` even if they
    came first before ([#358][] fixes [#357][])
- All heuristics saved under `.heudiconv/` under `heuristic.py` name, to avoid
  discrepancy during reconversion ([#354][] fixes [#353][])
- Do not crash (with TypeError) while trying to sort absent file list ([#360][])
- heudiconv requires nipype >= 1.0.0 ([#364][]) and blacklists `1.2.[12]` ([#375][])

v0.5.4: [0.5.4] - 2019-04-29

29 Apr 15:54

Choose a tag to compare

[0.5.4] - 2019-04-29

This release includes fixes to BIDS multi-echo conversions, the
re-implementation of queuing support (currently just SLURM), as well as
some bugfixes.

Starting today, we will push versioned releases to DockerHub.
Finally, to more accurately reflect on-going development, the latest
tag has been renamed to unstable. We encourage users to check
https://hub.docker.com/r/nipy/heudiconv/tags to ensure you are using the
most up-to-date version.

Added

  • Readthedocs documentation ([#327])

Changed

  • Update Docker dcm2niix to v.1.0.20190410 ([#334])
  • Allow usage of --files with basic heuristics. This requires
    use of --subject flag, and is limited to one subject. ([#293])

Deprecated

Fixed

  • Improve support for multiple --queue-args ([#328])
  • Fixed an issue where generated BIDS sidecar files were missing additional
    information - treating all conversions as if the --minmeta flag was
    used ([#306])
  • Re-enable SLURM queuing support ([#304])
  • BIDS multi-echo support for EPI + T1 images ([#293])
  • Correctly handle the case when outtype of heuristic has "dicom"
    before '.nii.gz'. Previously would have lead to absent additional metadata
    extraction etc ([#310])

Removed

  • --sbargs argument was renamed to --queue-args ([#304])

Security

v0.5.3: [0.5.3] - 2019-01-12

12 Jan 15:51
v0.5.3

Choose a tag to compare

Minor hot bugfix release

Fixed
- Do not shorten spaces in the dates while pretty printing .json

v0.5.2: [0.5.2] - 2019-01-04

05 Jan 04:43
v0.5.2

Choose a tag to compare

A variety of bugfixes

Changed
- Reproin heuristic: `__dup` indices would now be assigned incrementally
  individually per each sequence, so there is a chance to properly treat
  associate for multi-file (e.g. `fmap`) sequences
- Reproin heuristic: also split StudyDescription by space not only by ^
- `tests/` moved under `heudiconv/tests` to ease maintenance and facilitate
  testing of an installed heudiconv
- Protocol name will also be accessed from private Siemens
  csa.tProtocolName header field if not present in public one
- nipype>=0.12.0 is required now

Fixed
- Multiple files produced by dcm2niix are first sorted to guarantee
  correct order e.g. of magnitude files in fieldmaps, which otherwise
  resulted in incorrect according to BIDS ordering of them
- Aggregated top level .json files now would contain only the fields
  with the same values from all scanned files. In prior versions,
  those files were not regenerated after an initial conversion
- Unicode handling in anonimization scripts

Heudiconv v0.5.1

05 Jul 15:00
95b9f73

Choose a tag to compare

[0.5.1] - 2018-06-29

Bugfix release

Added

  • Video tutorial / updated slides
  • Helper to set metadata restrictions correctly
  • Usage is now shown when run without arguments
  • New fields to Seqinfo
    • series_uid
  • Reproin heuristic support for xnat

Changed

  • Dockerfile updated to use dcm2niix v1.0.20180622
  • Conversion table will be regenerated if heurisic has changed
  • Do not touch existing BIDS files
    • events.tsv
    • task JSON

Fixed

  • Python 2.7.8 and older installation
  • Support for updated packages
    • Datalad 0.10
    • pydicom 1.0.2
  • Later versions of pydicom are prioritized first
  • JSON pretty print should not remove spaces
  • Phasediff fieldmaps behavior
    • ensure phasediff exists
    • support for single magnitude acquisitions

v0.4: A "usable" release!

15 Oct 21:08
v0.4

Choose a tag to compare

Since v0.3 a number of fixes (permissions settings, handling of datalad
support, etc).

TODO: We need to establishg a ChangeLog ;)