{"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/a-comparative-evaluation-of-image-to-image","title":"A comparative evaluation of image-to-image translation methods for stain transfer in histopathology","arxiv_id":"2303.17009","date":"2023-03-29","proceeding":null,"authors":["Igor Zingman","Sergio Frayle","Ivan Tankoyeu","Segrey Sukhanov","Fabian Heinemann"],"abstract":"Image-to-image translation (I2I) methods allow the generation of artificial images that share the content of the original image but have a different style. With the advances in Generative Adversarial Networks (GANs)-based methods, I2I methods enabled the generation of artificial images that are indistinguishable from natural images. Recently, I2I methods were also employed in histopathology for generating artificial images of in silico stained tissues from a different type of staining. We refer to this process as stain transfer. The number of I2I variants is constantly increasing, which makes a well justified choice of the most suitable I2I methods for stain transfer challenging. In our work, we compare twelve stain transfer approaches, three of which are based on traditional and nine on GAN-based image processing methods. The analysis relies on complementary quantitative measures for the quality of image translation, the assessment of the suitability for deep learning-based tissue grading, and the visual evaluation by pathologists. Our study highlights the strengths and weaknesses of the stain transfer approaches, thereby allowing a rational choice of the underlying I2I algorithms. Code, data, and trained models for stain transfer between H&E and Masson's Trichrome staining will be made available online.","url_abs":"https://arxiv.org/abs/2303.17009v2","url_pdf":"https://arxiv.org/pdf/2303.17009v2.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":"a-comparative-evaluation-of-image-to-image","repo_url":"https://github.com/Boehringer-Ingelheim/stain-transfer","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-2-Clause"}}],"tasks":[{"task_slug":"image-to-image-translation","task_name":"Image-to-Image Translation"},{"task_slug":"translation","task_name":"Translation"}],"methods":[],"datasets_introduced":[{"slug":"stain-transfer","name":"Stain Transfer","full_name":""}],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.17009","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.17009"}},"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/Boehringer-Ingelheim/stain-transfer","reach":{"status":"ok","spdx":"BSD-2-Clause"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":10,"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":"958eeae378bdc754","entry":"SSIM","repo":"Boehringer-Ingelheim/stain-transfer","repo_kind":"official","path":"src/data_processing/metrics.py","file_url":"https://github.com/Boehringer-Ingelheim/stain-transfer/blob/HEAD/src/data_processing/metrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"958eeae378bdc754"}},{"code_sha256_prefix":"30d70c6ddbc3a01a","entry":"av_wasserstein","repo":"Boehringer-Ingelheim/stain-transfer","repo_kind":"official","path":"src/data_processing/metrics.py","file_url":"https://github.com/Boehringer-Ingelheim/stain-transfer/blob/HEAD/src/data_processing/metrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"30d70c6ddbc3a01a"}},{"code_sha256_prefix":"0b22b8b954d80e9f","entry":"df2table","repo":"Boehringer-Ingelheim/stain-transfer","repo_kind":"official","path":"src/data_processing/metric_inspection.py","file_url":"https://github.com/Boehringer-Ingelheim/stain-transfer/blob/HEAD/src/data_processing/metric_inspection.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"0b22b8b954d80e9f"}},{"code_sha256_prefix":"e36902959781b661","entry":"format_paths","repo":"Boehringer-Ingelheim/stain-transfer","repo_kind":"official","path":"metric_calculation.py","file_url":"https://github.com/Boehringer-Ingelheim/stain-transfer/blob/HEAD/metric_calculation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"e36902959781b661"}},{"code_sha256_prefix":"fde6ba07f9fd2149","entry":"get_checkpoint","repo":"Boehringer-Ingelheim/stain-transfer","repo_kind":"official","path":"src/modelling/checkpoint_evaluator.py","file_url":"https://github.com/Boehringer-Ingelheim/stain-transfer/blob/HEAD/src/modelling/checkpoint_evaluator.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"fde6ba07f9fd2149"}},{"code_sha256_prefix":"af8cb54b084292a3","entry":"get_file_title_img","repo":"Boehringer-Ingelheim/stain-transfer","repo_kind":"official","path":"src/data_processing/metric_inspection.py","file_url":"https://github.com/Boehringer-Ingelheim/stain-transfer/blob/HEAD/src/data_processing/metric_inspection.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"af8cb54b084292a3"}},{"code_sha256_prefix":"07d65aaf0919f296","entry":"get_img_files","repo":"Boehringer-Ingelheim/stain-transfer","repo_kind":"official","path":"src/data_processing/datasets.py","file_url":"https://github.com/Boehringer-Ingelheim/stain-transfer/blob/HEAD/src/data_processing/datasets.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"07d65aaf0919f296"}},{"code_sha256_prefix":"3773b850c359179b","entry":"read_image","repo":"Boehringer-Ingelheim/stain-transfer","repo_kind":"official","path":"src/data_processing/metric_inspection.py","file_url":"https://github.com/Boehringer-Ingelheim/stain-transfer/blob/HEAD/src/data_processing/metric_inspection.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"3773b850c359179b"}},{"code_sha256_prefix":"403ad22506313234","entry":"set_conf","repo":"Boehringer-Ingelheim/stain-transfer","repo_kind":"official","path":"src/modelling/checkpoint_evaluator.py","file_url":"https://github.com/Boehringer-Ingelheim/stain-transfer/blob/HEAD/src/modelling/checkpoint_evaluator.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"403ad22506313234"}},{"code_sha256_prefix":"dc1749ecc978605e","entry":"update_df","repo":"Boehringer-Ingelheim/stain-transfer","repo_kind":"official","path":"metric_calculation.py","file_url":"https://github.com/Boehringer-Ingelheim/stain-transfer/blob/HEAD/metric_calculation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"dc1749ecc978605e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}