omnigisto_pkg 0.1.5
omnigisto_pkg: ^0.1.5 copied to clipboard
A lightweight Flutter/Dart library for reading Aperio SVS and Hamamatsu NDPI/VMS/VMU metadata, extracting tiles and associated images.
0.0.1-alfa.1 #
- Initial, read about it in README.md
0.0.1-alfa.3 #
- new function extractSvsImageAsImage, extractSvsImageAsJpeg, extractSvsTileAsImage added
- Export changes
- Example added
- bug fixes
0.0.2-alfa.1 #
- Async upload of the tiles, without mutex
0.1.0-beta #
- Increased reading speed of the tiles
- Added full BigTIFF support for reading slides > 4 GB
- Added JPEG 2000 decompression support
- Added SubIFD traversal for multi-resolution pyramid levels.
- Added main library export
package:omnigisto_pkg/omnigisto_pkg.dart - Added comprehensive test suite for BigTIFF and JPEG 2000 parsing and extraction
- Extra tests on iOs and Android
- Bug fixes
0.1.1 #
- First release
- Fixed SubIFD (tag 330) handling in
readFullSvsMetadatafor consistent pyramid level count withextractSvsTile - Improved associated image detection (
label,macro,thumbnail) in_determineImageType - Removed hardcoded resolution check (687x687) for label images to support various Aperio scanner models (AT2, GT450, CS2, etc.)
- Added aspect ratio and keyword-based heuristics for slide labels, macro overviews, and thumbnails
0.1.2 #
- Some packages updated
0.1.4 #
- Added
DisplayColorsupport: automatic extraction and parsing of AperioDisplayColorparameter inSvsMetadataandSvsImageInfo. - Added pixel tinting and color mapping according to
DisplayColorin tile and associated image extraction pipelines. - Added
applyDisplayColorand optionaldisplayColoroverride parameters toextractSvsTileAsImage,extractSvsImageAsImage, andextractSvsImageAsJpeg. - Exported
parseDisplayColorutility function for parsing decimal and hexadecimal color formats. - Added
downsampleproperty toSvsImageInforepresenting resolution pyramid layer downsampling factor inreadFullSvsMetadata. - Added file descriptor pooling (
RandomAccessFile) inSvsFilefor high-throughput parallel asynchronous tile reading without I/O serialization bottlenecks. - Added
maxConcurrencyparameter toopenSvsFile(default: 4) andSvsFile, allowing fine-tuned I/O scaling for slow HDDs (1-2) up to fast SSDs/NVMe (4-8). - Added dynamic concurrency level adjustment via
SvsFile.maxConcurrencysetter with automatic idle handle cleanup and pool shrinking. - Enhanced
SvsFile.synchronizedwith re-entrancy support and exclusive primary handle locking, keeping metadata scans thread-safe without blocking parallel tile reads. - Added graceful degradation when hitting OS file descriptor limits (
EMFILE) and safe cleanup of all pooled handles inSvsFile.close(). - Added
CancellationTokenclass for cooperative cancellation of asynchronous I/O and image decoding tasks. - Added
cancelTokensupport toSvsFiledescriptor pool (_acquireHandleandreadBytesAt) with automatic waiter removal and zero descriptor leaks upon cancellation. - Added
cancelTokenparameter toextractSvsTileandextractSvsTileAsImagewith cancellation checks before heavy operations (I/O, LZW, JPEG 2000 decompressions, ICC and color map processing).
0.1.5 #
- Added Hamamatsu NDPI, VMS and VMU support through the existing SVS API, preserving metadata models, field types and string output formats.
- Added NDPI extended 64-bit IFD/strip offsets, focal-plane filtering, objective/MPP properties and macro image extraction.
- Added on-demand JPEG restart-interval extraction without recompression, with cancellation and fallback scanning for missing or unreliable NDPI indexes.
- Added Virtual Tiling (micro-tile aggregation) for Hamamatsu NDPI: aggregates vertical MCU intervals (e.g. 32 or 64 MCU rows, 256x256 or 512x512) to eliminate UI rendering lag caused by 8-pixel micro-tiles.
- Added OpenSlide-compatible arbitrary region decoding:
readRegion(svs, layerIndex, x, y, width, height)andextractSvsRegion/extractSvsRegionAsImageacross both SVS and Hamamatsu formats. - Added
enableVirtualTilinganddisableVirtualTilingfunctions and configuration parameters inopenSvsFile(virtualTiling,virtualTileWidth,virtualTileHeight,mcuRowsPerTile). - Added VMS JPEG mosaics and VMU/NGR column reads with 12-bit to 8-bit RGB conversion, map thumbnails and optional macro images.
Note
Comprehensive compatibility tests have been conducted for all three formats. The evaluation successfully covers scenarios featuring sparse offsets above 4 GiB, malformed data handling, as well as concurrent reads and cancellation. NDPI correctness has been additionally validated against public samples.