Conversation
* delete conda env from rules and default configfile from the workflows * change instance segmentation visualization * exclude landmark plot in this branch for better understanding * make plot format optional: png, pdf or None (set via individual save_path) * move matching plots to plots subfolder * Set test config maxiter to 100 and update matchmaker_vis.svg * update matchmaker visualisation with elastic registration example * update registration visualisation plot * remove redundant visualize_displacement_field * increase max dist again
* Add CPD parameter tuning grid search Optuna GridSampler-based grid search over CPD non-rigid registration parameters (w, beta, lmd, maxiter), evaluated by mean Landmark Registration Error (LRE) between corresponding landmarks. - matchmaker/cpd_parameter_tuning/: optimization, landmark embedding, dataset-specific beta-range suggestion, defaults and README - workflows/cpd_optimization.smk: input_to_n5 -> add_landmarks -> prealignment_with_lm -> rigid_alignment_with_lm -> optimize_cpd - examples/cpd_optimization_config.yaml: example config (nest axis_orientation under prealignment to match the workflow/registration config convention) - matchmaker/utils/vis.py: add plot_landmark_qc and a title param for visualize_displacement_field (used by the tuning trial plots) - environment.yml: enable optuna Stacked on the visualisation branch (#57), which provides the PINK/CYAN colormaps that add_landmarks imports. Target branch: dev. * updaet docstrings * Fix inaccuracies in CPD tuning README - Point the example usage at examples/cpd_optimization_config.yaml (not the cluster-specific data/brain_matching path) - Generalize dataset-specific names (Igor/Seymour) and example paths - Describe landmarks as labeled spheres, not single-voxel labels - Fix a stray/unclosed backtick in the dataset-specific section * update README * save all grid search outputs in subfolder cpd_optimization * update gitignore
* Add matching methods and update configuration for point cloud matching * delete conda env in snakemake rules * delete redundant imports * make hungarian matching the default method * use ILP matching for registration examples
* fix folder typo in gitignore * allow example tif in gitignore * remove rules for git-lfs in gitattributes * remove git-lfs dependent files * add files back to repo without git-lfs * remove lfs dependent folder * add files back
* rename module to `image_matchmaker` * number output folders * refactor pointset alignment keys
* setup readthedocs config and docs folder * fix incorrect path for readthedocs config * fix readthedocs build configuration * fix readthedocs build missing dependency * docs: remove default sphinx text * docs: add overview * docs: complete install instruction * docs: complete quickstart section and add config examples * docs: fix bug & docs format * docs: add prepare inputs in quickstart section * docs: add registration outputs in quickstart * docs: move config reference to new page * docs: add page to explain example data * docs: link example data to quick start * unignore images for docs * docs: add image to illustrate registration workflow * docs: fix image name in overview * docs: move overview to homepage * docs: fix some format issue * update config file descriptions; workflow plot now displays elastic test registration * create documentation for output files * change order of doc pages * further describe what pytest does * add more details to Quick Start, to make it possible to run workflow by only reading this page * further explain how to deform test data * minor update to starting page * `output_name` was replaced with `fixed_name` and `moving_name` * consistent fixed_name and moving_name in registration workflow, config and tests * make fixed_image optional when applying transformations as intended * add a usage and troubleshooting page * main cpd function renamed to `run_cpd` for consistency; docstrings updated * change `match_points` to `run_matching` for consistency; add docstring * rename `run_pointset_registration` for consistency; docstring updated: elasitx_utils updated for consistency * use setup logging function * update docstrings for API reference * add API reference to documentation * also add apply_transform to API reference * make hungarian matching default * integrate new matching algorithms * add cpd parameter tuning to documentation * rename package name to `image_matchmaker` and include new output folder names * also rename project to image_matchmaker * Update documentation for package renaming (#63) * docs: rename package within index * docs: update package name * update readme --------- Co-authored-by: zh320 <[email protected]> Co-authored-by: Buglakova Alyona <[email protected]>
rename conda env from `matchmaker_env` to `imm_env`
Marei33
marked this pull request as draft
July 29, 2026 10:40
* fix itk/numpy axis ordering in elastix_utils * update dependencies of axis reordering in elastix registration pipeline * update axis order in pcd_to_elastix * integrate check parameter map axis in apply transform, to ensure no old axis order convention is used --------- Co-authored-by: Marei Freitag <[email protected]>
* update code so it works with the latest dev changes * add landmark overlay plots * change plots to three panel plots * update documentation accordingly * wire cores and n_jobs * make plotted point clouds rasterized * small name changes for consistency * plot full sample view * check snakemake rule success with plot_overlays.done file * update docs accordingly * added a small testing script for the cpd optimization
* support apply_transform for arbitrary resolution * update apply_transform snakefile with arbitrary resolution * update apply_transform config file * update test for new apply_tranform log_dir * resample fixed image for overlay in apply_transform * move load/save_data funs to utils * rename apply_transform to apply_elastix_transform in elastix_utils * make output resolution optional in apply_transform * update apply_transform snakefile for optional output resolution * drop logging info * update documentation for apply_transform * docs: remove duplicate documentation * create parent dir for apply_transform * fix mismatched axis order in apply_transform * update apply_transform example config with anisotropic output example * update test for apply_transform * add prealigned suffix to distinguish different outputs in apply_transform * update test with new output key * minor docs update * fix axis order mismatch * pass interpolation order argument for prealignment * fix linter issues --------- Co-authored-by: Marei Freitag <[email protected]> Co-authored-by: Marei Freitag <[email protected]>
* support apply_transform for arbitrary resolution * update apply_transform snakefile with arbitrary resolution * update apply_transform config file * update test for new apply_tranform log_dir * resample fixed image for overlay in apply_transform * move load/save_data funs to utils * rename apply_transform to apply_elastix_transform in elastix_utils * make output resolution optional in apply_transform * update apply_transform snakefile for optional output resolution * drop logging info * update documentation for apply_transform * docs: remove duplicate documentation * create parent dir for apply_transform * fix mismatched axis order in apply_transform * update apply_transform example config with anisotropic output example * update test for apply_transform * add prealigned suffix to distinguish different outputs in apply_transform * update test with new output key * minor docs update * fix axis order mismatch * pass interpolation order argument for prealignment * fix linter issues * switch output_resolution and reg_spacing comparison to np.all_close --------- Co-authored-by: zh320 <[email protected]>
Marei33
marked this pull request as ready for review
August 20, 2026 10:39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First full version with new name including documentation, matching options with Hungarian and sinkhorn matching and CPD grid search for hyperparameter tuning.