- 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 :meth:`~dicom_parser.header.Header.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 :class:`~dicom_parser.data_elements.integer_string.IntegerString`).
- Added mime option to :class:`~dicom_parser.series.Series`.
- Updated development status classifier to beta.
- Changed :class:`~dicom_parser.data_elements.private_data_element.PrivateDataElement`'s :func:`~dicom_parser.data_elements.private_data_element.PrivateDataElement.parse_value` method to try and call :func:`bytes.decode` on the raw value by default.
- Removed deprecated :class:`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 :mod:`~dicom_parser.utils.code_strings` module. This feature can be disabled by setting the :class:`~dicom_parser.parser.Parser`'s :attr:`~dicom_parser.parser.Parser.verbose_code_strings` attribute to False.
- Added warnings for invalid pixel arrays and invalid Code String (CS) values.
- Updated the :mod:`~dicom_parser.utils.sequence_detector.sequences` module to work with verbose Code String (CS) data element values and renamed known MR sequences.
- Refactored the :class:`~dicom_parser.parser.Parser` class to a bit to improve readability.
- Fixed CSA header bug for headers with a duplicate "### ASCCONV END ###" pattern.
- Created the :class:`~dicom_parser.data_element.DataElement` class as a wrapper around pydicom's :class:`~pydicom.dataelem.DataElement` to support some custom functionality and provide better integration with django_dicom.
- Improved private tags definition so that the :class:`~dicom_parser.header.Header` model's :meth:`~dicom_parser.header.Header.get` method will work using the private tag's keyword.
- Added support for calling :meth:`len` over a :class:`~dicom_parser.series.Series` instance to return the number of images in it.
- Added support for querying header information from a :class:`~dicom_parser.series.Series` instance using the :meth:`~dicom_parser.series.Series.get` method or the indexing operator ([]) using a :obj:`str` or a :obj:`tuple`.
- Added support for indexing the :class:`~dicom_parser.image.Image` instances from a :class:`~dicom_parser.series.Series` using an :obj:`int` or :obj:`slice`.
- Improved support for accessing CSA headers.
- Added auto-decoding for Siemens mosaic encoded data (applies to data extraction in both :class:`~dicom_parser.image.Image` and :class:`~dicom_parser.series.Series` instances).
First release!
- Type correction based on value-representation (VR).
- Simple :class:`~dicom_parser.series.Series` class for reading DICOM series directories.
- Basic support for reading CSA headers using the :class:`~dicom_parser.utils.siemens.csa.header.CsaHeader` class.