https://github.com/rageworx/libtinydicom
A DICOM tag library for C++/STL
https://github.com/rageworx/libtinydicom
c-plus-plus dcim dcm dicom dicom-tag dictionaries library stl tiny
Last synced: about 1 year ago
JSON representation
A DICOM tag library for C++/STL
- Host: GitHub
- URL: https://github.com/rageworx/libtinydicom
- Owner: rageworx
- License: other
- Created: 2014-03-14T06:05:05.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2023-08-04T08:42:29.000Z (almost 3 years ago)
- Last Synced: 2023-08-19T00:43:13.149Z (almost 3 years ago)
- Topics: c-plus-plus, dcim, dcm, dicom, dicom-tag, dictionaries, library, stl, tiny
- Language: C++
- Size: 983 KB
- Stars: 8
- Watchers: 3
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# libtinydicom
## Version
- 0.5.5.153
## Introduce
- A DICOM tag read/write library for using standard C++.
- Following DICOM standard part of "Media Interchange/DICOM Basic File Service" of 2023b.
- Related in DICOM tag file (.DCM) read and write library is too far to get free in light size. So I made this to read and write DCM files for free and tiny ! It is still prototype and need to be enhanced.
## Project target
- Basically this project targeted to has non-platform-dependency, designed for POSIX.
- Just build it with your gcc or MinGW-W64 in shell (or MSYS2) via make. Maybe there's no platform dependency.
## License
- MIT License.
- You can use my source code whatever you want.
- But no warranty, just remember this please.
## Known VR (WORD)
- See source code of dicomdictinary.cpp.
- I have gathering more VR information, but it is really narrow to know. Absolutely limited.
- Still making it keep updated for latest version, but too many VR and dictionaries may need more time for only myself.
## Updated news
### 2023-07-30
- Updated some library codes.
- Fixed some bugs in src_test/dicomtaglist, also updated to export raw and meta info by `-e` argument.
### 2023-04-28
- DICOM standard 2023b VR, Dictionary updated.
- DicomDictionary::GetMediaMimeFromUID() included.
### 2023-04-27
- Removed `BYTE`, `WORD`, `DWORD` types, and then replaced to cstdint types.
- `BYTE` to `uint8_t`, `WORD` to `uint16_t` and `DWORD` to `uint32_t`.
- Limit of reading size depends on platform `size_t` type size.
- More buffer allocation check routines.
### 2023-04-26
- Supporting -1 size of Pixel Data case, it guess actual size to left file size to actual pixel data length.
- Added some more MBCS support APIs.
### 2021-04-28
- libtinydicom now supports MacOS 11 (Big Sur) in universal libraray on Apple Silicon (M1).
### 2019-12-03
- Moved all Makefiles into makes directory.
- Moved all cbp project files into cbp directory.
- VR type OB fixed to has 2 bytes padding.
### 2017-03-10
- Fixed read and processing some unrecognized DICOM tag related in Pixel Data.
### 2017-03-04
- Fixed windows dependency codes for other platforms like MAC OS and Linux.
### 2017-02-14
- Fixed some bugs for reading compatibilities.
### 2017-02-13
- Fixed a bug sometimes wrong pointer returns in FindElement();
- Included FindElementIndex();
### 2017-02-09
- Added some functions to supporting ANSI, UTF-8 base files.
- Also inserted some macro to keep same method name.
### 2017-02-08
- Enhanced to read bad VR and UUID tags.
- Some DCM file contains bad VR, or UUID. Made it possible to read.
### 2016-12-15
- Now supporting Makefile ( I didn't know this file not included... )
- Make has two different options, `make` and `make debug`.
- Removed some platform dependency issues.
### 2016-09-12
- Working for latest dictionary for 3.6 (2016c) now.
- Tagged to 'dictionaryworking' until it complete written all dictionaries.
- Added some tag state as like 'retired, trial, dicos, diconde'.
### 2014-11-06
- updated dicom dictionary.
- updated pixel information writing.
- added dll project for exporting fuctions.
- added dll testing project.