- New formats: Philips TIFF, Ventana TIFF
- Support OpenJPEG 2.1.0
- Improve performance of JPEG and JP2K decoding
- Add
openslide.region[i].*
properties - Improve MATLAB compatibility
- Enable function deprecation warnings with MSVC
- Many portability fixes
- aperio: Detect OpenJPEG chroma subsampling breakage during
open
- aperio: Fill in missing tiles with downsampled data
- aperio: Report MPP for slides scanned in locales with decimal comma
- hamamatsu: Support NDPI files > 4 GB
- hamamatsu: Properly detect NDPI slides produced by NDP.toolkit
- hamamatsu: Support VMS/VMU slides without a
NoLayers
key - hamamatsu: Report MPP for VMS/VMU
- leica: Support slides with
2010/03/10
XML namespace - leica: Base64-decode
leica.barcode
property in2010/10/01
namespace - sakura: Support slides with multiple focal planes
- sakura: Support slides without tile table
- ventana: Support slides with multiple focal planes
- ventana: Improve positioning of AOIs within level
- ventana: Fix failure to recognize macro image on some slides
- Major internal restructuring
- New formats: Hamamatsu NDPI, Sakura SVSLIDE, Ventana BIF (preliminary)
- Add
openslide_detect_vendor()
- Deprecate
openslide_can_open()
(not very useful and often misused) - Document performance considerations for
openslide_open()
- Add properties giving the bounds of the non-empty region of the slide
- leica: Support multiple main images if their levels are coplanar
- leica: Use slide size as level size
- mirax: Support PNG- and BMP-formatted slides
- mirax: Fix
Expected first 0 value
error opening some slides - mirax: Fix incorrect tile placement on some slides without overlaps
- mirax: Never synthesize downsampled levels
- Add
OPENSLIDE_DEBUG
environment variable (OPENSLIDE_DEBUG=?
for help) - Fix some crashes in error paths
- Add tests for many error paths
- Fix inclusion of
openslide.h
with MSVC - Properly handle Aperio JP2K slides with zero-length tiles
- Support Hamamatsu slides with blank
MacroImage
key
- Fix seams in MIRAX 2.2 slides (thanks, Agelos Pappas)
- Fix associated image naming in single-level Aperio slides
- Stop decoding MIRAX tiles outside requested region
- Stop decoding unneeded tiles during tile-aligned accesses
- Increase Hamamatsu VMU tile size to reduce rendering overhead
- Document performance considerations for
openslide_can_open()
- Parallelize concurrent
openslide_read_region
calls on anopenslide_t
- Eliminate background scanning of tile headers in MIRAX
- Scan many fewer tiles during first accesses to Hamamatsu VMS
- Ignore Leica Z-planes other than 0
- Add experimental tile-size properties
- Document API thread safety
- Support Leica SCN format (requires libtiff ≥ 4) (thanks, Agelos Pappas)
- Allow opening MIRAX 2.2 slides (though there are seams, bug #92)
- Add standardized microns-per-pixel and objective-power properties
- Add
macro
associated image in Trestle - Rename
layer
tolevel
throughout the API (deprecatelayer
functions; removelayer
properties) - Report parse errors in
openslide_open()
by returning anopenslide_t
in error state - Deprecate
openslide_get_comment()
- Add
openslide_get_version()
- Improve command-line tools; add manpages
- Support building with MinGW-w64; drop CMake, MSVC, mingw32
- Add tests for many error paths
- Support downsampled MIRAX files
- Improve performance on MIRAX slides without tile overlaps
- Fix
openslide_read_region
for large dimensions on layer > 0 (3.2.5 regression) - Correct subpixel error in MIRAX tile placement
- Fix unlikely use-after-free with Hamamatsu VMU
- Support MIRAX 1.03 files (thanks, Jan Harkes)
- Fix
openslide_read_region
for large dimensions - Use subpixel precision in all backends
- Don't keep associated images in memory
- Disable quickhash-1 for TIFF files with very large top layer
- Various build fixes (thanks, Jan, Marco Feuerstein, and Mathieu Malaterre)
- Fix some unlikely memory leaks
- Support MIRAX files that do not have non-hierarchical data (thanks, Jan Harkes)
- Fix compilation on Windows (thanks Hauke Heibel)
- Work around a bug in
GKeyFile
parser (thanks, Jan)
- Support MIRAX files that use a variant format for tile positions (thanks, Hauke Heibel and Marco Feuerstein)
- Update location of website
- Add background color property, for slides that have it
- Update CMake scripts and other Windows fixes (thanks Hauke and Marco)
- Fix some
test.c
bugs - Fix incorrect MIRAX drawing at certain resolutions (thanks Hauke and Marco)
- Support quickhash-1 on older systems (thanks, Jan Harkes)
- Rework some internals of
openslide_read_region
- Support negative coordinates and zero-sized dimensions in
openslide_read_region
- Clarify the documentation about
openslide_read_region
- Fix Windows build bug with new NGR support
- Enable untested BigTIFF support
- Fix crashes on Windows when trying to read Hamamatsu files
- Fix jpeg 7 problems in
read_from_one_jpeg
- Quiet the error handling system after the first error
- Add experimental CMake support and fixes for building with MSVC (thanks to Hauke Heibel!)
- Enable detecting runtime errors
- Add initial Hamamatsu Nanozoomer VMU support (thanks to Steve Lamont)
- Add
openslide-write-png
tool
- Fix a crash when reading an invalid VMS file
- Fix memory leaks when reading an invalid VMS file
- Accept VMS files that have more than one focal plane (non-0 planes ignored)
- Fix bug that could cause problems with libtiff 4
- Relax the required version of
Microsoft.VC80.CRT
- Enable large file access on Windows (requires
Microsoft.VC80.CRT
) - Support newer Aperio files (compression 33005)
- Be more robust in reading raw TIFF tiles
- Reject invalid TIFF files earlier
- Fix many memory leaks when probing for TIFF files
- Fix nasty artifacts in some MIRAX files (seen at some zoom levels)
- Restore ability to build with glib 2.12, at the expense of not having "quickhash-1" in that configuration
- Fix edge-drawing bug in TIFF backend
- Ship
CHANGELOG.txt
- Switch from GPLv2 to LGPLv2
- Reduce some unlikely memory leaks
- Support of more MIRAX files
- Improve performance of MIRAX rendering, vastly in some cases
- Reduce appearance of seams in MIRAX
- Add "quickhash-1" hash property
- Add
openslide-quickhash1sum
andopenslide-show-properties
tools - Rework the API documentation
- Remove never-implemented prefetch functions from
openslide.h
(but retain with warnings in the library) - Start attempting to figure out Trestle tile position files
- Add some defined property names to the header file
- Eliminate Aperio regression introduced in Version 2.3.0
- Support for generic tiled TIFF format (for InterScope files)
- Bug fixes
- Reduction of some TIFF error messages
- Fixes for some build problems
- Deprecate prefetch functions (never implemented)
- Fixes for thread safety problems in 2.2.0
- Thread safety (lockless with Hamamatsu and MIRAX files)
- Support for MIRAX
mrxs
- Support for image metadata and associated images
- Support Aperio variant
- Internally rework a lot in preparation for MIRAX
- Win32 support
- Remove never-functional generic JPEG 2000 support
- Switch Aperio to use the released version of OpenJPEG
- Be more robust to errors in general
- Greatly speed up Hamamatsu with a tile cache and background scanning thread
- Renamed to "OpenSlide"
- Multi-file Hamamatsu support
- Switch to 64-bit signed integers in public API where possible
- GPLv2 release
- Working Aperio support
- More work on generic JPEG 2000
- Documentation updates
- For Aperio, remove Jasper in lieu of using OpenJPEG
- Preliminary and non-functional generic JPEG 2000 support
- Update simple test program
- Broken and unusably slow Aperio support
- Using glib
- Layers are numbered instead of named
- Actual start of implementation
- Initial Trestle support
- Initial Aperio support (without tile codec)
- Initial slow and incomplete Hamamatsu support
- Initial test program
- Documentation updates
- Unreleased, just documentation and headers (called "Wholeslide")