Release Notes


  • Fixed Siemens CSA ASCCONV header parsing (#85).



  • Added Codacity and CodeFactor integrations to improve code quality and implemented suggestions.

  • Added issue templates, code of conduct, and RTD configuration file.

  • Added documentation building and test execution instructions in the project’s README.


  • Updated project structure and packaging to conform with PEP517 and PEP518.

  • Migrated CI to GitHub Actions.

  • Fixed dcm generation by mime-type bug (#30) for nested directories.

  • Improved tests and increased coverage.


  • Fixed ImportError bug upon importing the python-magic library in a non-Linux OS.


  • Improved test coverage and added more docstrings.


  • Added the keyword_contains() method to easily look for data elements using a substring of the keyword.

  • Increased tests coverage.


  • Lots of documentation updates and linting fixes.

  • Integrated isort.

  • Changed invalid integer strings (“IS” data elements) to return None (see IntegerString).

  • Added mime option to Series.

  • Updated development status classifier to beta.


  • Changed PrivateDataElement’s parse_value() method to try and call bytes.decode() on the raw value by default.

  • Removed deprecated dicom_parser.parser.Parser class.

  • Fixed some linting and docstring issues.


  • Changed the return type of data elements with a value multiplicity greater than 1 from list to tuple.


  • Changed Code String (CS) parsing to return verbose value or set of values using the code_strings module. This feature can be disabled by setting the Parser’s verbose_code_strings attribute to False.

  • Added warnings for invalid pixel arrays and invalid Code String (CS) values.

  • Updated the sequences module to work with verbose Code String (CS) data element values and renamed known MR sequences.

  • Refactored the Parser class to a bit to improve readability.

  • Fixed CSA header bug for headers with a duplicate “### ASCCONV END ###” pattern.

  • Created the DataElement class as a wrapper around pydicom's DataElement to support some custom functionality and provide better integration with django_dicom.


  • Improved private tags definition so that the Header model’s get() method will work using the private tag’s keyword.

  • Added support for calling len() over a Series instance to return the number of images in it.

  • Added support for querying header information from a Series instance using the get() method or the indexing operator ([]) using a str or a tuple.

  • Added support for indexing the Image instances from a Series using an int or slice.


  • Improved support for accessing CSA headers.

  • Added auto-decoding for Siemens mosaic encoded data (applies to data extraction in both Image and Series instances).

    • The decoding method also changes the orientation of the stacked arrays to match the product of conversion to NIfTI using dcm2niix.


First release!