Releases: knaw-huc/laypa
2.2.4
Release Notes for Laypa Version 2.2.4
Date: 2025-2-5
Overview
Large release with many refactors to facilitate the new features.
New Features
- None
Enhancements
- Make the confidence conform to pageXML 2019 standard: Previous iteration was not valid pageXML, which caused issues with the loghi-tooling when using the 2019 standard instead of the default 2013 standard
- Added YOLO instructions: Added some documentation on how to train/use the YOLO models (even if it is not fully supported yet)
Deprecations and Removals
- None
Known Issues
- Reusing the tmp dir with the
--keep_tmp_dir
fails: Solved, will be present in next release
Docker Image
The Docker image for version 2.2.4 can be obtained using the following command:
docker pull loghi/docker.laypa:2.2.4
Contributors
- @stefanklut: All
Full Changelog: 2.2.3...2.2.4
2.2.3
Release Notes for Laypa Version 2.2.3
Date: 2025-1-27
Overview
Large release with many refactors to facilitate the new features.
New Features
- GPU preprocessing: Preprocessing augmentations and loading of images done using pytorch
- Alternative preprocessing outputs: Preprocessing output torch or numpy arrays on disk, or use alternate image formats to save arrays
- Torch Transforms/Augmentation: Torch equivalent to the numpy augmentation and transforms
- Separate XML converters: Create separate converters from pageXML to e.g. segmentation, instances, etc.
- Beta Binary segmentation: Binary segmentation model, capable of multiple outputs for a single input pixel
- Beta confidence: Confidence score for the semantic segmentation
- Beta YOLO instance segmentation: YOLOv11 package intergration so that it works with pageXML and other parts of the laypa framework
- Beta PageXML COCO conversion for YOLO: To train YOLO have the preprocessing step output available as COCO
Enhancements
- Seperate mapper for each task: Use a separate mapper for each task so only the data needed will be loaded
- Model evaluation without training: Add a function to trainer to run eval without running training
- Timing for Transforms/Augmentations: Timing functions as a wrapper on existing transforms and augmentations
- Updates to docstrings: Update many docstring to reflect their actual use
- Crop Resize: If you are resizing and cropping combine them into a single operation to save computing power
- Link preprocessing using paths in json: Do not explicitly name all paths in the preprocessed json instead have all paths and preform actions based on the suffix
- Access correct converter based on attributes: Refactor parts of the code to check if an attribute is present in order to run a function instead of having a long if else
- Save image size preprocessing in
.size
files: Instead of reading out the header of an image file, just read a separate.size
file - Miniforge docker: Replace the docker base with
miniforge3
- Ability to edit loaded PageXML: After loading a pageXML file edits can be made to the loaded file. Important if information is already present in pageXML
- Check for txt loaded files: If files are provided through a txt file, check if they exist and are available
Deprecations and Removals
- None
Known Issues
- None
Docker Image
The Docker image for version 2.2.3 can be obtained using the following command:
docker pull loghi/docker.laypa:2.2.3
Contributors
- @stefanklut: All
Full Changelog: 2.1.3...2.2.3
2.1.3
Release Notes for Laypa Version 2.1.3
Date: 2024-9-17
Overview
Docker updates and citation
New Features
- CITATION.cff: You can now get citation info directly from github
Enhancements
- TMP dir docker: Create TMP dir so running build scripts just works without needing to move a bunch of files around
- Correct status code API: Previously status code was not set correctly
- Scale factor now matches the index of pixel: subtract 1 from the number of pixels because arrays start at 0
Deprecations and Removals
- Micromamba Docker: This build was not really recommended and did not result in significantly smaller docker images anyways
Known Issues
- JPEG2000: loading jpeg 2000 does not work in python 3.11, some code is written specifically for 3.12. Waiting on pillow to release a version that plays nicely with 3.12 and jpeg2000 with embedded color profile
Docker Image
The Docker image for version 2.1.3 can be obtained using the following command:
docker pull loghi/docker.laypa:2.1.3
Contributors
- @stefanklut: All
Full Changelog: 2.1.0...2.1.3
2.1.0
Release Notes for Laypa Version 2.1.0
Date: 2024-6-26
Overview
Small fixes and moving of code
New Features
- Argument for number of workers: Allow for setting number of workers for the dataloader during inference (default 4)
Enhancements
- Seperate tools folder: Split tools from utils
- Comments in extra defaults: Explain what all of the added options of the extra default do
Deprecations and Removals
- None
Known Issues
- Temp downgrade of numpy: Prevent problems caused by numpy 2
Docker Image
The Docker image for version 2.1.0 can be obtained using the following command:
docker pull loghi/docker.laypa:2.1.0
Contributors
- @stefanklut: All
Full Changelog: 2.0.5...2.1.0
2.0.5
Release Notes for Laypa Version 2.0.5
Date: 2024-6-6
Overview
Refactor and validation tool
New Features
- Validation tool: Get validation values for models without training
Enhancements
- Fixed README info: Link to zenodo,
- Turn off augmentations by default: Make sure you turn on the ones you want
- Refactor: to remove some import
Deprecations and Removals
- None
Known Issues
- None
Docker Image
The Docker image for version 2.0.5 can be obtained using the following command:
docker pull loghi/docker.laypa:2.0.5
Contributors
- @stefanklut: All
Full Changelog: 2.0.4...2.0.5
2.0.4
Release Notes for Laypa Version 2.0.4
Date: 2024-4-29
Overview
Fix training being broken due to typo
New Features
- None
Enhancements
- Training is working again: Typo prevented training from running, got past manual test because of making the same typo twice
- Fixed size validation Use correct scaling when running the validation with fixed size rescaling
Deprecations and Removals
- None
Known Issues
- None
Docker Image
The Docker image for version 2.0.4 can be obtained using the following command:
docker pull loghi/docker.laypa:2.0.4
Contributors
- @stefanklut: All
Full Changelog: 2.0.3...2.0.4
2.0.3
Release Notes for Laypa Version 2.0.3
Date: 2024-4-25
Overview
New augmentations, and finally fixing training
New Features
- New Augmentations: Invert, JPEG compression, Noise, Hue
Enhancements
- Output used augments when testing:
datasets/augmentations.py
now shows the images as well as the used transformations. - Update some docs: Doc strings are updated
- Fix Edge size not set: Preprocessing of images using the older method of having one size length be the same for all images is now fixed. Training with
PREPROCESS.RESIZE.RESIZE_MODE longest_edge
orPREPROCESS.RESIZE.RESIZE_MODE shortest_edge
should work again. - Use np.uint8 wherever possible for Augmentations: For augmentations that don't require high precision use the unsigned integers in hopes of speeding up. May not produce the exact same numbers compared to the float32 version previously used.
Deprecations and Removals
- None
Known Issues
- Training broke due to typo: See 2.0.4 for fix
Docker Image
The Docker image for version 2.0.3 can be obtained using the following command:
docker pull loghi/docker.laypa:2.0.3
Contributors
- @stefanklut: All
Full Changelog: 2.0.2...2.0.3
2.0.2
Release Notes for Laypa Version 2.0.2
Date: 2024-4-18
Overview
Minor bug fixes
New Features
- None
Enhancements
- Remove /encrypted/ from configs: This folder only existed on a specific server, now all configs should be usable without changing this manually
- Not longer wrong augmentations: Using the wrong augmentation for validation resulted in resizing twice, thus outputting the wrong metrics
- Better augmentation visualization: Use real configs to show the effect of augmentations
- Docs update: update
eval.py
docs
Deprecations and Removals
- None
Known Issues
- Edge size not set: Preprocessing of images using the older method of having one size length be the same for all images is broken. Therefore training cannot start with
PREPROCESS.RESIZE.RESIZE_MODE longest_edge
orPREPROCESS.RESIZE.RESIZE_MODE shortest_edge
Docker Image
The Docker image for version 2.0.2 can be obtained using the following command:
docker pull loghi/docker.laypa:2.0.2
Contributors
- @stefanklut: All
Full Changelog: 2.0.1...2.0.2
2.0.1
Release Notes for Laypa Version 2.0.1
Date: 2024-4-10
Overview
Classes for baselines, and some minor bug fixes
New Features
- Baseline with classes: Create a hybrid between baselines and regions. Where the baselines get the class of the region they are assigned to. The drawing in is also done with this class
Enhancements
- DPI Preprocess: Also apply DPI rescaling during the preprocessing step. Get the DPI without opening the full image using
imagesize
package. - Resume training: Bug fix to properly resume training after something killed the process
- Move model to device: Move model to device without explicitly checking. No-op if already on device
Deprecations and Removals
- None
Known Issues
- Edge size not set: Preprocessing of images using the older method of having one size length be the same for all images is broken. Therefore training cannot start with
PREPROCESS.RESIZE.RESIZE_MODE longest_edge
orPREPROCESS.RESIZE.RESIZE_MODE shortest_edge
Docker Image
The Docker image for version 2.0.1 can be obtained using the following command:
docker pull loghi/docker.laypa:2.0.1
Contributors
- @stefanklut: All
Full Changelog: 2.0.0...2.0.1
2.0.0
Release Notes for Laypa Version 2.0.0
Date: 2024-4-4
Overview
DPI, CPU fallback, AugInput refactor, Docker file update
New Features
- DPI adjustment: allow (automatic) adjustment of the images size based on the DPI read from the image
- CPU fallback: On OOM try again but on CPU (when using the API)
Enhancements
- AugInput: Now using AugInput as a standard to more easily allow changes/additions to the augmentation and input
- Configurable: Make classes configurable so that they can automatically load in values from the config to their args/kwargs
- Remove new line from git hash: Bug with git hash should be resolved when using the docker image
- Smaller Docker images: smaller docker images by removing nsight packages
- Typehints and docstrings: Update to outdated and new functions
Deprecations and Removals
- None
Known Issues
- None
Docker Image
The Docker image for version 2.0.0 can be obtained using the following command:
docker pull loghi/docker.laypa:2.0.0
Contributors
- @TimKoornstra: CPU fallback
- @stefanklut: All other
Full Changelog: 1.3.12...2.0.0