Release notes for Valis 1.2.0 #204
Replies: 2 comments
-
|
Thanks for all these updates and improvements. It will certainly come handy in a handful of computations I am trying to run. I have a question though. Did the visualization for displacement fields change in the latest release? It used to be a triangular mesh grid, but now it is dots (I assume same color coding meaning for direction and amplitude). |
Beta Was this translation helpful? Give feedback.
-
|
Hi @simomounir, Best, |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Major improvements to rigid registration by using more modern feature detectors and matchers. More specifically, Disk and DeDoDe feature detectors outperform BRISK and VGG (previous defaults). Different combinations of feature detectors, image sizes, and colorspaces (RGB or grayscale) were benchmarked using the ANHIR dataset. These results indicate that using the DISK feature detector on grayscale images both increases accuracy (i.e. lower TRE) and increase the correlation between VALIS' estimated error and the true error. However, using RGB does have somewhat higher accuracy and slightly faster runtimes. If you'd like to use RGB images, set the
rgb=Truewhen initializing Disk or DeDoDe feature detectors, pass that to the LightGlueMatcher, and then have that be the feature matcher used by Valis. That is:This improved rigid registration should also lead to fewer unwanted non-rigid deformations, and thus better results overall. Below are more details on these and other changes, as well as describing several bug fixes:
feature_detectors.DiskFDandfeature_detectors.DeDoDeFD), as implemented in Kornia. These feature detectors can also work with RGB images instead of the processed grayscale images. This can be accomplished by settingrgb=Truewhen initializing the feature detector. Do note these feature detectors are not rotation invariant, but the rotation angle can be estimated using features matched with a rotation invariant feature detector, such as BRISK. This is automatically done when usingfeature_matcher.LightGlueMatcher(see below).feature_matcher.LightGlueMatcher), which is intended to be used with the DiskFD and DeDoDeFD feature detectors.Valis.register. This makes it possible to set the number of features to detect, whether RGB features should be used, etc... For example,Valis(matcher=feature_matcher.LightGlueMatcher(feature_detectors.DiskFD(rgb=True, num_features=2000)))will use the LightGlueMatcher to match 2000 RGB Disk features for each image pair.non_rigid_registrars.RAFTWarper), as implemented in torchvision. RAFT can also be used with RGB images by settingrgb=Truewhen initializingnon_rigid_registrars.RAFTWarper. Can use RAFT by passing non_rigid_registrars.RAFTWarper()to thenon_rigid_registrar_clswhen initializing theValisobject, e.g.Valis(non_rigid_registrar_cls=non_rigid_registrars.RAFTWarper())`.src_dir. Previously, an error would occur if an attempt at registration was made, followed subsequent attempts using only a subset of images insrc_dir.autocropoption when reading images with OpenSlide (via libvips). Only reads in the specimen area, as opposed to the entire slide, facilitating higher resolution registration.This discussion was created from the release Release notes for Valis 1.2.0.
Beta Was this translation helpful? Give feedback.
All reactions