This is a library for creating bi-level monochrome TIFF images.
The baseline image compression options are available:
- No Compression
- CCITT Group 3 1-Dimensional
- PackBits
The following dithering options are available:
- Fixed (50%)
- Dispersed 2x2
- Dispersed 4x4
- Dispersed 8x8
- Clustered 2x2
- Clustered 4x4
- Clustered 6x6
- Clustered 8x8
- Basic
- False Floyd–Steinberg
- Floyd–Steinberg
- Jarvis-Judice-Ninke
- Stucki
- Burkes
- Sierra 3-Row
- Sierra 2-Row
- Sierra Lite
- Atkinson
- Zhigang Fan
- Shiau-Fan 1
- Shiau-Fan 2
Custom dithering options can also be applied by providing a user-defined threshold matrix or error diffusion filter definition.
- ITU-T Recommendation T.4 - Group 3 Compression
- ITU-T Recommendation T.6 - Group 4 Compression
- ITU-T Recommendation T.82 - JBIG Compression
- Apple Technical Note TN2013 - PackBits Compression
- Wolfgang Kowalk - CCITT Facsmile Compression Standards
- Mike Kohn - Huffman/CCITT Compression In TIFF
- Tanner Helland - Image Dithering
- Tanner Helland - Grayscale Conversion
- Libcaca Study - Halftoning
- Libcaca Study - Error Diffusion
- Lee Crocker et al. - Digital Halftoning
- Michalis Zervos - Image Dithering in Matlab
Here are some enhancements that can be made to this project:
- Improve performance of the compression module
- Parameterize the photometric interpretation
- Parameterize the resolution unit
- Parameterize the byte order
- Support multi-strip images
- Support multi-page documents
- Support CCITT Group 3 two dimensional compression
- Support CCITT Group 4 two dimensional compression
- Create NuGet package