{"id":6732,"date":"2022-08-25T22:34:53","date_gmt":"2022-08-25T13:34:53","guid":{"rendered":"http:\/\/hvcl.korea.ac.kr\/?page_id=6732"},"modified":"2026-05-06T15:40:09","modified_gmt":"2026-05-06T06:40:09","slug":"software-code","status":"publish","type":"page","link":"https:\/\/hvcl.korea.ac.kr\/?page_id=6732","title":{"rendered":"Software &#038; Code"},"content":{"rendered":"\n<!-- \uce74\ud14c\uace0\ub9ac -->\n<!-- <script src=\"https:\/\/kit.fontawesome.com\/a076d05399.js\" crossorigin=\"anonymous\"><\/script> -->\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/4.7.0\/css\/font-awesome.min.css\">\n<style>\n    \/*\n    .publisher{\n        margin-top: 2px;\n        margin-bottom: 10px;\n        margin-left: 5px;\n        font-size: 15px;\n        font-weight: 400;\n        color:  #666666;\n        font-style: italic;\n    }\n        *\/\n    .hover-class:hover {\n        color:  rgba(134,38,51,1.0);\n        cursor: pointer;\n    }\n    .description {\n        color: rgb(53, 53, 53);\n        font-size: 15px;\n        text-decoration: none;\n        font-family: \"Roboto Slab\", \"Helvetica Neue\", sans-serif;\n    }\n    .description:hover {\n        color: rgb(53, 53, 53);\n    }\n    .warning {\n        color: rgb(168, 26, 26);\n        font-size: 15px;\n        font-family: \"Roboto Slab\", \"Helvetica Neue\", sans-serif;\n    }\n    .warning:hover {\n        color: rgb(168, 26, 26);\n        font-size: 15px;\n    }\n<\/style>\n<script>\n    const total_category_list = [\"Scientific_Visualization\", \"Information_Visualization\", \"Visual_Analytics\", \"VR\/AR\", \"Biomedical_Visualization\", \"Connectomics\", \"Biomedical_Imaging\", \"Image_Processing\", \"Histopathology\", \"Deep_Learning\", \"Parallel_Computing\/GPGPU\", \"Bioinformatics\", \"Other\"];\n<\/script>\n<!-- resize -->\n<script>\n    window.addEventListener(\"resize\", handlePageSize);\n    function handlePageSize() {\n        const item_list = document.getElementsByClassName(\"jy-content\");\n        for (let j = 0; j < item_list.length; j++) {\n            if (item_list[j].style.display !== \"none\") {\n                if (window.innerWidth < 800) {\n                    item_list[j].style.display = \"block\";\n                }\n                else {\n                    item_list[j].style.display = \"flex\";\n                }\n            }\n        }\n        const left_list = document.getElementsByClassName(\"jy-sidebar-left\");\n        for (let j = 0; j < left_list.length; j++) {\n            if (window.innerWidth < 800) {\n                left_list[j].style.width = \"95%\";\n            }\n            else {\n                left_list[j].style.width = \"Min(30%,200px)\";\n            }\n        }\n        const right_list = document.getElementsByClassName(\"jy-sidebar-right\");\n        for (let j = 0; j < right_list.length; j++) {\n            if (window.innerWidth < 800) {\n                right_list[j].style.width = \"95%\";\n            }\n            else {\n                right_list[j].style.width = \"90%\";\n            }\n        }\n    }\n<\/script>\n<!-- year related function -->\n<script>\n    function writeYear(year) {\n        document.write(\"<div class=\\\"year_\", year, \"\\\">\");\n        document.write(\"<hr>\");\n        document.write(\"<h1 style=\\\"text-align: center;\\\"><strong>\", year, \"<\/strong><\/h1>\");\n        document.write(\"<hr>\");\n        document.write(\"<\/div>\");\n    }\n    function checkYear() {\n        for (let i = 2011; i <= 2050; i++) {\n            const year = i.toString();\n            const item_list = document.getElementsByClassName(year);\n            var is_draw = false;\n            for (let j = 0; j < item_list.length; j++) {\n                if (item_list[j].style.display !== \"none\") {\n                    is_draw = true;\n                }\n            }\n            const text_year = document.getElementsByClassName(\"year_\" + year);\n            for (let j = 0; j < text_year.length; j++) {\n                if (is_draw === false) {\n                    text_year[j].style.setProperty(\"display\", \"none\", \"important\");\n                }\n                else {\n                    text_year[j].style.setProperty(\"display\", \"block\", \"important\");\n                }\n            }\n        }\n    }\n    \/\/ Make software item\n    function makeSoftware(image, projectPage, title, categories, year, description, related_paper, github, warning) {\n        category_list = categories.split(\" \");\n        document.write(\"<div class=\\\"jy-content \", categories, \" \", year, \"\\\">\");\n        document.write(\"<div class=\\\"jy-sidebar-left\\\">\");\n        document.write(\"<a href=\\\"\", image, \"\\\">\");\n        document.write(\"<img class=\\\"alignleft\\\" src=\\\"\", image, \"\\\" width=\\\"200px\\\"><\/a><\/div>\");\n        document.write(\"<div class=\\\"jy-sidebar-right\\\">\");\n        document.write(\"<div class=\\\"category_text_container\\\">\");\n        for (let i = 0; i < category_list.length; i++) {\n            document.write(\"<div class=\\\"category_text\\\">\", category_list[i].replace(\/_\/g, ' '), \"<\/div>\");\n        }\n        document.write(\"<\/div>\");\n        \n        document.write(\"<h5 class=\\\"publication\\\"><a href=\\\"\", projectPage.replace(\"https\", \"http\"), \"\\\" style=\\\"font-size: 20px;\\\" target='_blank'><strong>\", title, \"<\/strong><\/a><\/h5>\");\n        document.write(\"<a class='description'>\", description ,\"<\/a><\/br>\")\n        \n        \n        if (warning !== undefined) {\n               document.write(\"<a class='warning'><strong>\", warning ,\"<\/strong><\/a><\/br>\")\n        }\n        if (github !== undefined) {\n            document.write(\"<i class=\\\"fa fa-github\\\"><\/i>\"); \/\/ <i class=\"fa fa-file-text\" aria-hidden=\"true\"><\/i>\n            document.write(\"<span class='publisher hover-class' onclick=\\\"window.open('\",github,\"', '_blank');\\\">\", github.replace('https:\/\/github.com\/',''),\"<\/span>\");\n            document.write(\"<br \/>\");\n        }\n        if (related_paper !== undefined) {\n            for (const rel of related_paper) {\n                document.write(\"<i class='fa fa-file-text'><\/i>\"); \/\/ <i class=\"fa fa-file-text\" aria-hidden=\"true\"><\/i>\n                \/\/ document.write(\"<span class='publisher hover-class' onclick=\\\"location.href='\",rel[1],\"'\\\">\", rel[0], \"<\/span>\");\n                document.write(\"<span class='publisher hover-class' onclick=\\\"window.open('\",rel[1],\"', '_blank');\\\">\", rel[0], \"<\/span>\");\n                document.write(\"<br \/>\");\n            }\n        }\n        \/* onclick=\"window.open('http:\/\/example.com', '_blank'); return false;\"\n        if (publisher !== undefined) {\n            document.write(\"<i class=\\\"fa fa-file-text\\\"><\/i>\"); \/\/ <i class=\"fa fa-file-text\" aria-hidden=\"true\"><\/i>\n            document.write(\"<span class=\\\"publisher\\\">\", publisher, \"<\/span>\");\n            document.write(\"<br \/>\");\n        }\n        *\/\n    }\n<\/script>\n<!-- \uce74\ud14c\uace0\ub9ac \ud544\ub354\ub9c1 \uad00\ub828 function -->\n<script>\n    function Init() {\n        const elem = document.activeElement; \/\/Focused button\n        \/\/        console.log(elem.classList);\n        if (elem.classList[0] === 'collapsible') {\n            return;\n        }\n        \/\/elem.textContent\n        const button_list = document.getElementsByClassName(\"button1\");\n        var button_focused = false;\n        for (let i = 0; i < button_list.length; i++) {\n            if (button_list[i] === elem) {\n                button_list[i].style.backgroundColor = \"#6669a0\";\n                button_list[i].style.color = \"white\";\n                button_focused = true;\n                const cancel_button = document.getElementsByClassName(\"cancel-button-\" + button_list[i].textContent.replace(\/ \/g, '_'));\n                cancel_button[0].style.setProperty(\"display\", \"block\", \"important\");\n            }\n            else {\n                button_list[i].style.backgroundColor = \"white\";\n                button_list[i].style.color = \"black\";\n                const cancel_button = document.getElementsByClassName(\"cancel-button-\" + button_list[i].textContent.replace(\/ \/g, '_'));\n                cancel_button[0].style.setProperty(\"display\", \"none\", \"important\");\n            }\n        }\n        if (button_focused) {\n            const target_name = elem.textContent.replace(\/ \/g, '_')\n            for (let i = 0; i < total_category_list.length; i++) {\n                const item_list = document.getElementsByClassName(total_category_list[i]);\n                if (target_name !== total_category_list[i]) {\n                    for (let j = 0; j < item_list.length; j++) {\n                        item_list[j].style.setProperty(\"display\", \"none\", \"important\");\n                    }\n                }\n            }\n            for (let i = 0; i < total_category_list.length; i++) {\n                const item_list = document.getElementsByClassName(total_category_list[i]);\n                if (target_name === total_category_list[i]) {\n                    for (let j = 0; j < item_list.length; j++) {\n                        item_list[j].style.setProperty(\"display\", \"flex\", \"important\");\n                    }\n                }\n            }\n        }\n        else {\n            for (let i = 0; i < total_category_list.length; i++) {\n                const item_list = document.getElementsByClassName(total_category_list[i]);\n                for (let j = 0; j < item_list.length; j++) {\n                    item_list[j].style.setProperty(\"display\", \"flex\", \"important\");\n                }\n            }\n        }\n        \/\/ checkYear();\n        handlePageSize();\n    }\n    function Generate_buttons() {\n        for (let i = 0; i < total_category_list.length; i++) {\n            document.write(\"<categories-li><button onclick=\\\"Init()\\\" class=\\\"button1\\\">\", total_category_list[i].replace(\/_\/g, ' '), \"<\/button><button onclick=\\\"Init()\\\" class=\\\"cancel-button cancel-button-\", total_category_list[i], \"\\\">X<\/button><\/categories-li>\");\n        }\n    }\n<\/script>\n<header class=\"topbar\" onclick=\"Init()\">\n    <h3 class=\"categories\">\n        <strong>Categories<\/strong>\n    <\/h3>\n    <button-categories>\n        <script>\n            Generate_buttons();\n        <\/script>\n    <\/button-categories>\n<\/header>\n<!-- Main start -->\n<script>\n    writeYear(\"2025\");\n<\/script>\n<script>\n    makeSoftware(\n        \"https:\/\/hvcl.korea.ac.kr\/image%20%281%29.png?_t=1768198898\", \n        \"https:\/\/github.com\/hvcl\/HID-CON\",\n        \"HID-CON \",\n        \"Biomedical_Imaging Deep_Learning Histopathology\",\n        \"2025\",\n        \"Filtering out low-confidence patch to improve the slide-level classification\",\n        \/\/ [[\"Clinical-grade Multi-Organ Pathology Report Generation for Multi-scale Whole Slide Images via a Semantically Guided Medical Text Foundation Model\", \"https:\/\/arxiv.org\/pdf\/2409.15574\"]],\n        \/\/ \"https:\/\/github.com\/hvcl\/pathology-report-generation-pipeline\"\n        \/\/ \"Due to the security of the web page, http connection is not supported. Copy the following link and go to https:\/\/hvcl.korea.ac.kr:8080\"\n        );\n<\/script>\n<!-- [<a href=\"https:\/\/hvcl.korea.ac.kr\/Intuitive_Design_of_Deep_Learning_Models_through_Visual_Feedback%20-%20final.pdf?_t=1722819947\">Paper<\/a>]\n[<a href=\"https:\/\/github.com\/hvcl\/HID-CON\">Demo<\/a>] -->\n<\/div>\n<\/div>\n<script>\n    makeSoftware(\n        \"https:\/\/hvcl.korea.ac.kr\/PatHME%20Abstract%20Graphic.png?_t=1768198780\", \n        \"https:\/\/github.com\/hvcl\/PatHME\",\n        \"PatHME \",\n        \"Biomedical_Imaging Deep_Learning Histopathology\",\n        \"2025\",\n        \"Aligning multi-expert features and integrating multiscale features\",\n        \/\/ [[\"Clinical-grade Multi-Organ Pathology Report Generation for Multi-scale Whole Slide Images via a Semantically Guided Medical Text Foundation Model\", \"https:\/\/arxiv.org\/pdf\/2409.15574\"]],\n        \/\/ \"https:\/\/github.com\/hvcl\/pathology-report-generation-pipeline\"\n        \/\/ \"Due to the security of the web page, http connection is not supported. Copy the following link and go to https:\/\/hvcl.korea.ac.kr:8080\"\n        );\n<\/script>\n<!-- [<a href=\"https:\/\/hvcl.korea.ac.kr\/Intuitive_Design_of_Deep_Learning_Models_through_Visual_Feedback%20-%20final.pdf?_t=1722819947\">Paper<\/a>]\n[<a href=\"https:\/\/github.com\/hvcl\/PatHME\">Demo<\/a>] -->\n<\/div>\n<\/div>\n<script>\n    makeSoftware(\n        \"https:\/\/hvcl.korea.ac.kr\/wp-content\/software\/software_pipeline_thumbnail.png\", \n        \"https:\/\/hvcl.korea.ac.kr:8080\",\n        \"Pathology Report Genertaion Pipeline \",\n        \"Deep_Learning Histopathology\",\n        \"2024\",\n        \"Generate pathology report using uploaded Whole Slide Image file\",\n        \/\/ [[\"Clinical-grade Multi-Organ Pathology Report Generation for Multi-scale Whole Slide Images via a Semantically Guided Medical Text Foundation Model\", \"https:\/\/arxiv.org\/pdf\/2409.15574\"]],\n        \/\/ \"https:\/\/github.com\/hvcl\/pathology-report-generation-pipeline\"\n        \/\/ \"Due to the security of the web page, http connection is not supported. Copy the following link and go to https:\/\/hvcl.korea.ac.kr:8080\"\n        );\n<\/script>\n<!-- [<a href=\"https:\/\/hvcl.korea.ac.kr\/Intuitive_Design_of_Deep_Learning_Models_through_Visual_Feedback%20-%20final.pdf?_t=1722819947\">Paper<\/a>]\n[<a href=\"https:\/\/vience.io\/vience-canvas\/mlops\/sample\">Demo<\/a>] -->\n<\/div>\n<\/div>\n<script>\n    writeYear(\"2024\");\n<\/script>\n<script>\n    makeSoftware(\n        \"https:\/\/hvcl.korea.ac.kr\/wp-content\/papercite-data\/images\/kr_miccai_image-1.png?_t=1720600352\", \n        \"https:\/\/github.com\/hvcl\/INR-diffusion-MICCAI2024\",\n        \"INR-diffusion \",\n        \"Biomedical_Imaging Image_Processing Deep_Learning\",\n        \"2024\",\n        \"Reference-free enhancement of 3D microscopy axial resolution using 2D diffusion priors\",\n        \/\/ [[\"Clinical-grade Multi-Organ Pathology Report Generation for Multi-scale Whole Slide Images via a Semantically Guided Medical Text Foundation Model\", \"https:\/\/arxiv.org\/pdf\/2409.15574\"]],\n        \/\/ \"https:\/\/github.com\/hvcl\/pathology-report-generation-pipeline\"\n        \/\/ \"Due to the security of the web page, http connection is not supported. Copy the following link and go to https:\/\/hvcl.korea.ac.kr:8080\"\n        );\n<\/script>\n<!-- [<a href=\"https:\/\/hvcl.korea.ac.kr\/Intuitive_Design_of_Deep_Learning_Models_through_Visual_Feedback%20-%20final.pdf?_t=1722819947\">Paper<\/a>]\n[<a href=\"https:\/\/github.com\/hvcl\/INR-diffusion-MICCAI2024\">Demo<\/a>] -->\n<\/div>\n<\/div>\n<script>\n    writeYear(\"2023\");\n<\/script>\n<script>\n    makeSoftware(\n        \"https:\/\/hvcl.korea.ac.kr\/wp-content\/papercite-data\/images\/DeepManifold4.png?_t=1688095946\", \n        \"https:\/\/github.com\/hvcl\/Deep-Manifold-Contrastive-Learning\",\n        \"Deep Manifold Contrastive Learning \",\n        \"Biomedical_Imaging Histopathology\",\n        \"2023\",\n        \"Generating more discriminative features using manifold learning\",\n        \/\/ [[\"Clinical-grade Multi-Organ Pathology Report Generation for Multi-scale Whole Slide Images via a Semantically Guided Medical Text Foundation Model\", \"https:\/\/arxiv.org\/pdf\/2409.15574\"]],\n        \/\/ \"https:\/\/github.com\/hvcl\/pathology-report-generation-pipeline\"\n        \/\/ \"Due to the security of the web page, http connection is not supported. Copy the following link and go to https:\/\/hvcl.korea.ac.kr:8080\"\n        );\n<\/script>\n<!-- [<a href=\"https:\/\/hvcl.korea.ac.kr\/Intuitive_Design_of_Deep_Learning_Models_through_Visual_Feedback%20-%20final.pdf?_t=1722819947\">Paper<\/a>]\n[<a href=\"https:\/\/github.com\/hvcl\/Deep-Manifold-Contrastive-Learning\">Demo<\/a>] -->\n<\/div>\n<\/div>\n<!-- <h1 style=\"text-align: center; padding-top: 150px; padding-bottom: 150px;\"><strong> ------------ Coming Soon! ------------ <\/strong> <\/h1> -->\n<!-- Handling remove  -->\n<script>\n    var coll = document.getElementsByClassName(\"collapsible\");\n    for (let i = 0; i < coll.length; i++) {\n        coll[i].addEventListener(\"click\", function () {\n            this.classList.toggle(\"active\");\n            var content = this.nextElementSibling;\n            if (content.style.display === \"block\") {\n                content.style.display = \"none\";\n            } else {\n                content.style.display = \"block\";\n            }\n        });\n    }\n<\/script>\n<!-- Handling category ?  -->\n<script>\n    const url = new URL(window.location.href);\n    console.log(url);\n    const urlParams = url.searchParams;\n    console.log(urlParams);\n    const initial_focused_category = urlParams.get('category');\n    console.log(initial_focused_category);\n    if (initial_focused_category !== null) {\n        const button_list = document.getElementsByClassName(\"button1\");\n        for (let i = 0; i < button_list.length; i++) {\n            if (button_list[i].textContent.replace(\/ \/g, '_') === initial_focused_category) {\n                button_list[i].focus();\n            }\n        }\n    }\n    Init();\n    var body = document.querySelector(\"body\");\n    \/\/body.addEventListener('click', Init);\n    handlePageSize();\n<\/script>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Categories<\/p>\n","protected":false},"author":8,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/hvcl.korea.ac.kr\/index.php?rest_route=\/wp\/v2\/pages\/6732"}],"collection":[{"href":"https:\/\/hvcl.korea.ac.kr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hvcl.korea.ac.kr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hvcl.korea.ac.kr\/index.php?rest_route=\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/hvcl.korea.ac.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6732"}],"version-history":[{"count":107,"href":"https:\/\/hvcl.korea.ac.kr\/index.php?rest_route=\/wp\/v2\/pages\/6732\/revisions"}],"predecessor-version":[{"id":7843,"href":"https:\/\/hvcl.korea.ac.kr\/index.php?rest_route=\/wp\/v2\/pages\/6732\/revisions\/7843"}],"wp:attachment":[{"href":"https:\/\/hvcl.korea.ac.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}