{"id":18573548,"url":"https://github.com/prs-eth/thera","last_synced_at":"2025-05-15T13:04:32.678Z","repository":{"id":228347274,"uuid":"736611808","full_name":"prs-eth/thera","owner":"prs-eth","description":"Thera: Aliasing-Free Arbitrary-Scale Super-Resolution with Neural Heat Fields","archived":false,"fork":false,"pushed_at":"2025-04-01T08:09:06.000Z","size":1326,"stargazers_count":718,"open_issues_count":3,"forks_count":49,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-01T09:24:11.344Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://therasr.github.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prs-eth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-28T11:27:48.000Z","updated_at":"2025-04-01T08:09:10.000Z","dependencies_parsed_at":"2024-03-18T11:12:40.484Z","dependency_job_id":"99b0a670-8e61-44f5-b972-98e676fb32f8","html_url":"https://github.com/prs-eth/thera","commit_stats":null,"previous_names":["prs-eth/thera"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prs-eth%2Fthera","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prs-eth%2Fthera/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prs-eth%2Fthera/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prs-eth%2Fthera/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prs-eth","download_url":"https://codeload.github.com/prs-eth/thera/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248176437,"owners_count":21060064,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T23:10:47.873Z","updated_at":"2025-04-10T07:32:06.878Z","avatar_url":"https://github.com/prs-eth.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \n# Thera: Aliasing-Free Arbitrary-Scale Super-Resolution with Neural Heat Fields\n\n**Alexander Becker\u003csup\u003e❄️🔥\u003c/sup\u003e, Rodrigo Daudt\u003csup\u003e❄️🔥\u003c/sup\u003e, Dominik Narnhofer\u003csup\u003e🔥\u003c/sup\u003e, Torben Peters\u003csup\u003e🔥\u003c/sup\u003e, Nando Metzger\u003csup\u003e🔥\u003c/sup\u003e, Jan Dirk Wegner\u003csup\u003e🌶️\u003c/sup\u003e, Konrad Schindler\u003csup\u003e🔥\u003c/sup\u003e**  \n\u003cbr\u003e\n\u003csup\u003e❄️\u003c/sup\u003e Equal contribution  \n\u003csup\u003e🔥\u003c/sup\u003e Photogrammetry and Remote Sensing, ETH Zurich  \n\u003csup\u003e🌶️\u003c/sup\u003e Department of Mathematical Modeling and Machine Learning, University of Zurich  \n\n\n[![Paper](https://img.shields.io/badge/arXiv-PDF-b31b1b)](https://arxiv.org/abs/2311.17643)\n[![Page](https://img.shields.io/badge/Project-Page-green)](https://therasr.github.io)\n[![Hugging Face Space](https://img.shields.io/badge/🤗%20Hugging%20Face-Space-yellow)](https://huggingface.co/spaces/prs-eth/thera)\n[![License](https://img.shields.io/badge/License-Apache--2.0-929292)](https://www.apache.org/licenses/LICENSE-2.0)\n\u003c/div\u003e\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/teaser_dark.svg#gh-dark-mode-only\" alt=\"teaser\" width=98%\"/\u003e\n  \u003cimg src=\"assets/teaser_light.svg#gh-light-mode-only\" alt=\"teaser\" width=98%\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cemph\u003eThera\u003c/emph\u003e is the first arbitrary-scale super-resolution method with a built-in physical observation model.\n\u003c/p\u003e\n\n## News\n**2025-03-15**: We are #1 on Hacker News 🎉\u003cbr\u003e\n**2025-03-14**: Interactive Hugging Face Space is online\u003cbr\u003e\n**2025-03-12**: Pre-trained checkpoints are released\n\n## Setup environment\nYou need a Python 3.10 environment (e.g., installed via conda) on Linux as well as an NVIDIA GPU. Then install packages via pip:\n```bash\n\u003e pip install --upgrade pip\n\u003e pip install -r requirements.txt\n```\n\n## Use with pre-trained models\nDownload checkpoints:\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cstrong\u003eBackbone\u003c/strong\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cstrong\u003eVariant\u003c/strong\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003eEDSR-baseline\u003c/td\u003e\n        \u003ctd\u003eAir\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://huggingface.co/prs-eth/thera-edsr-air\"\u003e🤗 Hugging Face\u003c/a\u003e \u0026#124; \u003ca href=\"https://drive.google.com/file/d/18_XYU65ZYQuQOrfnlYAoee2KjjUhXuay/view?usp=sharing\"\u003eGoogle Drive\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003ePlus\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://huggingface.co/prs-eth/thera-edsr-plus\"\u003e🤗 Hugging Face\u003c/a\u003e \u0026#124; \u003ca href=\"https://drive.google.com/file/d/1ydYspibEQUskn67-CTc5IsTysEWsdO8Q/view?usp=sharing\"\u003eGoogle Drive\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003ePro\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://huggingface.co/prs-eth/thera-edsr-pro\"\u003e🤗 Hugging Face\u003c/a\u003e \u0026#124; \u003ca href=\"https://drive.google.com/file/d/18slBa-dv-Z6SCTzL65MtmIryksfzdcnE/view?usp=sharing\"\u003eGoogle Drive\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003eRDN\u003c/td\u003e\n        \u003ctd\u003eAir\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://huggingface.co/prs-eth/thera-rdn-air\"\u003e🤗 Hugging Face\u003c/a\u003e \u0026#124; \u003ca href=\"https://drive.google.com/file/d/1EzJaexc_OoxinaLZYXs6BRJMQ1XgZRwO/view?usp=sharing\"\u003eGoogle Drive\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003ePlus\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://huggingface.co/prs-eth/thera-rdn-plus\"\u003e🤗 Hugging Face\u003c/a\u003e \u0026#124; \u003ca href=\"https://drive.google.com/file/d/1mnn3XUSeWs-yBEpWcXSV7_jep_4nOdSo/view?usp=sharing\"\u003eGoogle Drive\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003ePro\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://huggingface.co/prs-eth/thera-rdn-pro\"\u003e🤗 Hugging Face\u003c/a\u003e \u0026#124; \u003ca href=\"https://drive.google.com/file/d/1h6MPs6HSx5kVx3m703gZNbE-d5EMV5CD/view?usp=sharing\"\u003eGoogle Drive\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\nSuper-resolve any image with:\n```bash\n\u003e ./super_resolve.py IN_FILE OUT_FILE --scale 3.14 --checkpoint thera-rdn-pro.pkl\n```\n\nYou can evaluate the models on datasets using the `run_eval.py` script, e.g.:\n\n```bash\n\u003e python run_eval.py --checkpoint thera-rdn-pro.pkl --data-dir path_to_data_parent_folder --eval-sets data_folder_1 data_folder_2 ...\n```\n\nYou can run `python run_eval.py -h` to display all testing options.\n\n## Use with interactive Gradio app\nYou can also host a local version of our [Hugging Face demo](https://huggingface.co/spaces/prs-eth/thera). To do so, clone the dedicated demo repo:\n\n```bash\n\u003e git clone https://huggingface.co/spaces/prs-eth/thera thera-demo\n```\n\nInstructions for running the demo locally can be found in [the repo's README.md](https://huggingface.co/spaces/prs-eth/thera/blob/main/README.md).\n\n## Training\n\u003e Training code will be released soon.\n\n## Useful XLA flags\n* Disable pre-allocation of entire VRAM: `XLA_PYTHON_CLIENT_PREALLOCATE=false`\n* Disable jitting for debugging: `JAX_DISABLE_JIT=1`\n\n## Citation\n\nIf you found our work helpful, consider citing our paper 😊:\n\n```\n@article{becker2025thera,\n  title={Thera: Aliasing-Free Arbitrary-Scale Super-Resolution with Neural Heat Fields},\n  author={Becker, Alexander and Daudt, Rodrigo Caye and Narnhofer, Dominik and Peters, Torben and Metzger, Nando and Wegner, Jan Dirk and Schindler, Konrad},\n  journal={arXiv preprint arXiv:2311.17643},\n  year={2025}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprs-eth%2Fthera","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprs-eth%2Fthera","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprs-eth%2Fthera/lists"}