{"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/arxiv-2601-12493","title":"Histopath-C: Towards Realistic Domain Shifts for Histopathology Vision-Language Adaptation","arxiv_id":"2601.12493","date":"2026-01-18","proceeding":null,"authors":["Mehrdad Noori","Gustavo Adolfo Vargas Hakim","David Osowiechi","Fereshteh Shakeri","Ali Bahri","Moslem Yazdanpanah","Sahar Dastani","Ismail Ben Ayed","Christian Desrosiers"],"abstract":"Medical Vision-language models (VLMs) have shown remarkable performances in various medical imaging domains such as histo\\-pathology by leveraging pre-trained, contrastive models that exploit visual and textual information. However, histopathology images may exhibit severe domain shifts, such as staining, contamination, blurring, and noise, which may severely degrade the VLM's downstream performance. In this work, we introduce Histopath-C, a new benchmark with realistic synthetic corruptions designed to mimic real-world distribution shifts observed in digital histopathology. Our framework dynamically applies corruptions to any available dataset and evaluates Test-Time Adaptation (TTA) mechanisms on the fly. We then propose LATTE, a transductive, low-rank adaptation strategy that exploits multiple text templates, mitigating the sensitivity of histopathology VLMs to diverse text inputs. Our approach outperforms state-of-the-art TTA methods originally designed for natural images across a breadth of histopathology datasets, demonstrating the effectiveness of our proposed design for robust adaptation in histopathology images. Code and data are available at https://github.com/Mehrdad-Noori/Histopath-C.","url_abs":"https://arxiv.org/abs/2601.12493","url_pdf":"https://arxiv.org/pdf/2601.12493","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2601.12493","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2601.12493"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/Mehrdad-Noori/Histopath-C","reach":null}],"summary":{"ran":3,"ran_draft_wrong":2,"unverified":7},"by_repo_kind":{"found_in_text":{"samples":11,"ran":5,"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":1,"samples":[{"code_sha256_prefix":"a1b1a64fc7662e1b","entry":"LinearLoRA","repo":"Mehrdad-Noori/Histopath-C","repo_kind":"found_in_text","path":"adapt/latte.py","file_url":"https://github.com/Mehrdad-Noori/Histopath-C/blob/HEAD/adapt/latte.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a1b1a64fc7662e1b"}},{"code_sha256_prefix":"9f65194824bd7d42","entry":"LoRALayer","repo":"Mehrdad-Noori/Histopath-C","repo_kind":"found_in_text","path":"adapt/latte.py","file_url":"https://github.com/Mehrdad-Noori/Histopath-C/blob/HEAD/adapt/latte.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9f65194824bd7d42"}},{"code_sha256_prefix":"86a0cdc047344c13","entry":"TorchMHAWrapper","repo":"Mehrdad-Noori/Histopath-C","repo_kind":"found_in_text","path":"adapt/latte.py","file_url":"https://github.com/Mehrdad-Noori/Histopath-C/blob/HEAD/adapt/latte.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"86a0cdc047344c13"}},{"code_sha256_prefix":"3525af0b792c8af0","entry":"get_lora_parameters","repo":"Mehrdad-Noori/Histopath-C","repo_kind":"found_in_text","path":"adapt/latte.py","file_url":"https://github.com/Mehrdad-Noori/Histopath-C/blob/HEAD/adapt/latte.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3525af0b792c8af0"}},{"code_sha256_prefix":"8bcc28934af8c424","entry":"load_templates_from_yaml","repo":"Mehrdad-Noori/Histopath-C","repo_kind":"found_in_text","path":"adapt/latte.py","file_url":"https://github.com/Mehrdad-Noori/Histopath-C/blob/HEAD/adapt/latte.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8bcc28934af8c424"}},{"code_sha256_prefix":"3e0782a021185cdd","entry":"LATTE","repo":"Mehrdad-Noori/Histopath-C","repo_kind":"found_in_text","path":"adapt/latte.py","file_url":"https://github.com/Mehrdad-Noori/Histopath-C/blob/HEAD/adapt/latte.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3e0782a021185cdd"}},{"code_sha256_prefix":"2bcb1f7365c6b8f7","entry":"PlainMultiheadAttentionLoRA","repo":"Mehrdad-Noori/Histopath-C","repo_kind":"found_in_text","path":"adapt/latte.py","file_url":"https://github.com/Mehrdad-Noori/Histopath-C/blob/HEAD/adapt/latte.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2bcb1f7365c6b8f7"}},{"code_sha256_prefix":"7310952b682a5384","entry":"apply_lora","repo":"Mehrdad-Noori/Histopath-C","repo_kind":"found_in_text","path":"adapt/latte.py","file_url":"https://github.com/Mehrdad-Noori/Histopath-C/blob/HEAD/adapt/latte.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7310952b682a5384"}},{"code_sha256_prefix":"9d0925bfce78e31f","entry":"mark_only_lora_as_trainable","repo":"Mehrdad-Noori/Histopath-C","repo_kind":"found_in_text","path":"adapt/latte.py","file_url":"https://github.com/Mehrdad-Noori/Histopath-C/blob/HEAD/adapt/latte.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9d0925bfce78e31f"}},{"code_sha256_prefix":"3b6da4f2d7e16ad0","entry":"print_clip_parameters","repo":"Mehrdad-Noori/Histopath-C","repo_kind":"found_in_text","path":"adapt/latte.py","file_url":"https://github.com/Mehrdad-Noori/Histopath-C/blob/HEAD/adapt/latte.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3b6da4f2d7e16ad0"}},{"code_sha256_prefix":"884da1390fa49a5e","entry":"print_optimizer_parameters","repo":"Mehrdad-Noori/Histopath-C","repo_kind":"found_in_text","path":"adapt/latte.py","file_url":"https://github.com/Mehrdad-Noori/Histopath-C/blob/HEAD/adapt/latte.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"884da1390fa49a5e"}},{"code_sha256_prefix":"e39f18623c2d033c","entry":"set_param","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"e39f18623c2d033c"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CV","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}