{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/fast-3d-registration-with-accurate","title":"Fast 3D registration with accurate optimisation and little learning for Learn2Reg 2021","arxiv_id":"2112.03053","date":"2021-12-06","proceeding":null,"authors":["Hanna Siebert","Lasse Hansen","Mattias P. Heinrich"],"abstract":"Current approaches for deformable medical image registration often struggle to fulfill all of the following criteria: versatile applicability, small computation or training times, and the being able to estimate large deformations. Furthermore, end-to-end networks for supervised training of registration often become overly complex and difficult to train. For the Learn2Reg2021 challenge, we aim to address these issues by decoupling feature learning and geometric alignment. First, we introduce a new very fast and accurate optimisation method. By using discretised displacements and a coupled convex optimisation procedure, we are able to robustly cope with large deformations. With the help of an Adam-based instance optimisation, we achieve very accurate registration performances and by using regularisation, we obtain smooth and plausible deformation fields. Second, to be versatile for different registration tasks, we extract hand-crafted features that are modality and contrast invariant and complement them with semantic features from a task-specific segmentation U-Net. With our results we were able to achieve the overall Learn2Reg2021 challenge's second place, winning Task 1 and being second and third in the other two tasks.","url_abs":"https://arxiv.org/abs/2112.03053v1","url_pdf":"https://arxiv.org/pdf/2112.03053v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"fast-3d-registration-with-accurate","repo_url":"https://github.com/multimodallearning/convexadam","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"deformable-medical-image-registration","task_name":"Deformable Medical Image Registration"},{"task_slug":"image-registration","task_name":"Image Registration"},{"task_slug":"medical-image-registration","task_name":"Medical Image Registration"}],"methods":[{"method_slug":"concatenated-skip-connection","method_name":"Concatenated Skip Connection"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"u-net","method_name":"U-Net"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2112.03053","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2112.03053"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/multimodallearning/convexadam","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":16},"by_repo_kind":{"official":{"samples":16,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"ccc9566aa49ed5d7","entry":"MINDSSC","repo":"multimodallearning/convexadam","repo_kind":"official","path":"l2r_2020_convexAdam_CuRIOUS.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/l2r_2020_convexAdam_CuRIOUS.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ccc9566aa49ed5d7"}},{"code_sha256_prefix":"4838aced847d3cea","entry":"MINDSSC","repo":"multimodallearning/convexadam","repo_kind":"official","path":"src/convexAdam/convex_adam_utils.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/src/convexAdam/convex_adam_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4838aced847d3cea"}},{"code_sha256_prefix":"3db9b39d05951b6a","entry":"convert_crop_field","repo":"multimodallearning/convexadam","repo_kind":"official","path":"l2r_2021_convexAdam_task1_docker.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/l2r_2021_convexAdam_task1_docker.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3db9b39d05951b6a"}},{"code_sha256_prefix":"d83698a72cf198df","entry":"correlate","repo":"multimodallearning/convexadam","repo_kind":"official","path":"l2r_2020_convexAdam_CuRIOUS.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/l2r_2020_convexAdam_CuRIOUS.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d83698a72cf198df"}},{"code_sha256_prefix":"3c7ef07e48861747","entry":"correlate","repo":"multimodallearning/convexadam","repo_kind":"official","path":"l2r_2021_convexAdam_task1_docker.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/l2r_2021_convexAdam_task1_docker.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3c7ef07e48861747"}},{"code_sha256_prefix":"3b064d439c7a2fb8","entry":"correlate","repo":"multimodallearning/convexadam","repo_kind":"official","path":"l2r_2021_convexAdam_task2_docker.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/l2r_2021_convexAdam_task2_docker.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3b064d439c7a2fb8"}},{"code_sha256_prefix":"961aa20301c69c7b","entry":"correlate","repo":"multimodallearning/convexadam","repo_kind":"official","path":"l2r_2021_convexAdam_task3_docker.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/l2r_2021_convexAdam_task3_docker.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"961aa20301c69c7b"}},{"code_sha256_prefix":"d4ec7d6c3baaa400","entry":"correlate","repo":"multimodallearning/convexadam","repo_kind":"official","path":"src/convexAdam/convex_adam_utils.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/src/convexAdam/convex_adam_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d4ec7d6c3baaa400"}},{"code_sha256_prefix":"63764cfdaf1d9ade","entry":"coupled_convex","repo":"multimodallearning/convexadam","repo_kind":"official","path":"l2r_2021_convexAdam_task2_docker.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/l2r_2021_convexAdam_task2_docker.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"63764cfdaf1d9ade"}},{"code_sha256_prefix":"d4956ef8e3f3ca89","entry":"coupled_convex","repo":"multimodallearning/convexadam","repo_kind":"official","path":"l2r_2021_convexAdam_task3_docker.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/l2r_2021_convexAdam_task3_docker.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d4956ef8e3f3ca89"}},{"code_sha256_prefix":"d1e1ea70000372c4","entry":"dice_coeff","repo":"multimodallearning/convexadam","repo_kind":"official","path":"l2r_2021_convexAdam_task3_docker.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/l2r_2021_convexAdam_task3_docker.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d1e1ea70000372c4"}},{"code_sha256_prefix":"f3615f69596cbf89","entry":"extract_features","repo":"multimodallearning/convexadam","repo_kind":"official","path":"src/convexAdam/convex_adam_nnUNet.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/src/convexAdam/convex_adam_nnUNet.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f3615f69596cbf89"}},{"code_sha256_prefix":"dca2295d6eb5636c","entry":"index_translation_to_world_translation","repo":"multimodallearning/convexadam","repo_kind":"official","path":"src/convexAdam/convex_adam_translation.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/src/convexAdam/convex_adam_translation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"dca2295d6eb5636c"}},{"code_sha256_prefix":"c2f2be4bc9ac6c88","entry":"pdist_squared","repo":"multimodallearning/convexadam","repo_kind":"official","path":"l2r_2020_convexAdam_CuRIOUS.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/l2r_2020_convexAdam_CuRIOUS.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c2f2be4bc9ac6c88"}},{"code_sha256_prefix":"beb3ef7be3bbb862","entry":"sort_rank","repo":"multimodallearning/convexadam","repo_kind":"official","path":"self_configuring/convexAdam_hyper_util.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/self_configuring/convexAdam_hyper_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"beb3ef7be3bbb862"}},{"code_sha256_prefix":"a2632876392a8edc","entry":"util_kpts_pt","repo":"multimodallearning/convexadam","repo_kind":"official","path":"l2r_2021_convexAdam_task1_docker.py","file_url":"https://github.com/multimodallearning/convexadam/blob/HEAD/l2r_2021_convexAdam_task1_docker.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a2632876392a8edc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}