{"id":24109477,"url":"https://github.com/simonsfoundation/platypus","last_synced_at":"2026-04-01T21:27:49.680Z","repository":{"id":260313426,"uuid":"862408799","full_name":"simonsfoundation/platypus","owner":"simonsfoundation","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-19T06:28:12.000Z","size":12185,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-19T09:38:50.743Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonsfoundation.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":"2024-09-24T14:50:00.000Z","updated_at":"2026-03-19T06:28:16.000Z","dependencies_parsed_at":"2025-01-11T00:45:06.145Z","dependency_job_id":"8aba43c7-1a49-4ca8-85de-738e74cfc828","html_url":"https://github.com/simonsfoundation/platypus","commit_stats":null,"previous_names":["stevebronder/platypus_gui","simonsfoundation/platypus"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/simonsfoundation/platypus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsfoundation%2Fplatypus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsfoundation%2Fplatypus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsfoundation%2Fplatypus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsfoundation%2Fplatypus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonsfoundation","download_url":"https://codeload.github.com/simonsfoundation/platypus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsfoundation%2Fplatypus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2025-01-11T00:44:55.686Z","updated_at":"2026-04-01T21:27:49.666Z","avatar_url":"https://github.com/simonsfoundation.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Platypus Cradle Removal Algorithm\n\nPlatypus is a software solution that comes both as a standalone application and a Photoshop plugin. It is specifically designed to digitally remove cradling artifacts in X-ray images of paintings on panel. This project was made possible thanks to the financial support of the Kress foundation. Read more and download the software below.\n\n## Cradle Removal\n\nThe Platypus cradle removal algorithm was originally developed by Ph.D. student Rachel Yin at the Department of Mathematics of the Duke University (North Carolina, USA). Rachel worked under the supervision of Professor Ingrid Daubechies. Later her code was translated to a C++ framework by Ph.D. student Gabor Fodor, from the department of Electronics and Informatics (ETRO) at the Vrije Universiteit Brussel (VUB), Belgium. Finally, the C++ code was embedded into a Photoshop plug-in, developed at Digital Film Tools. All three versions of the software, along with their documentation, are publicly available and can be downloaded below.\n\n\n## Package Moved to Flatiron Institute\n\nAs of December 2024, the Flatiron Institute is taking over maintanence of the code for Platypus. The applet currently works on mac and linux. The photoshop plugin is in progress.\n\n## Building from Source\n\n### Prerequisites\n\nYou need the following installed before building:\n\n- **git**\n- **cmake** (3.16+)\n- **ninja**\n- A C++17 compiler (Xcode CLI tools on macOS, GCC on Linux, Visual Studio 2022 on Windows)\n\n### Quick Start (Recommended)\n\nThe provided configure scripts prefer preinstalled OpenCV and Qt6 when available. If they are not found, the scripts fall back to downloading and building the dependencies via [vcpkg](https://vcpkg.io/).\n\n#### macOS\n\n```bash\ngit clone https://github.com/simonsfoundation/platypus.git\ncd platypus\n./configure.sh\ncmake --build build --target PlatypusGui\n./build/PlatypusGui\n```\n\nThe script will install `ninja` via Homebrew if it is not already present.\n\n#### Linux (Ubuntu/Debian)\n\nInstall the required system packages first (vcpkg needs X11/xcb headers to build Qt6's platform plugin):\n\n```bash\nsudo apt-get install -y pkg-config linux-libc-dev libx11-dev libxext-dev \\\n  libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev \\\n  libxkbcommon-dev libxkbcommon-x11-dev libgl1-mesa-dev \\\n  curl zip unzip tar ninja-build cmake git\n```\n\nThen build:\n\n```bash\ngit clone https://github.com/simonsfoundation/platypus.git\ncd platypus\n./configure.sh\ncmake --build build --target PlatypusGui\n./build/PlatypusGui\n```\n\nThe configure script checks for missing system packages and tells you exactly what to install if anything is missing.\n\n#### Windows\n\nWindows end users should download the signed installer `.exe` from GitHub Releases and install Platypus by double-clicking it. They should not need to install Qt, OpenCV, Visual Studio runtimes, or any other dependency manually.\n\nFor local developer builds, use a **Developer Command Prompt** with [Git](https://git-scm.com/), [CMake](https://cmake.org/download/), and [Visual Studio 2022](https://visualstudio.microsoft.com/) (with the C++ workload):\n\n```bat\ngit clone https://github.com/simonsfoundation/platypus.git\ncd platypus\nconfigure.bat\ncmake --build build --config Release --target PlatypusGui\npowershell -ExecutionPolicy Bypass -File scripts\\windows_package.ps1 -BuildDir build -Configuration Release -PackageDir build\\package\n```\n\nTo sign a local installer with Microsoft Trusted Signing:\n\n```bat\ncopy scripts\\windows_sign_metadata.sample.json scripts\\windows_sign_metadata.local.json\npowershell -ExecutionPolicy Bypass -File scripts\\windows_package.ps1 -BuildDir build -Configuration Release -PackageDir build\\package -Sign -SigningMetadataPath scripts\\windows_sign_metadata.local.json\n```\n\n\u003e **Note:** If `configure.sh` or `configure.bat` falls back to vcpkg, the first build takes ~30-60 minutes while OpenCV and Qt6 are built from source. Subsequent fallback builds are faster because vcpkg caches compiled packages locally.\n\u003e\n\u003e The full Windows release workflow, including local signing and installer verification, is documented in `installer_guide/windows.md`.\n\n### Manual Dependency Installation (Alternative)\n\nIf you prefer to install dependencies yourself rather than using the configure scripts:\n\n#### macOS (Homebrew)\n\n```bash\nbrew install opencv qt cmake ninja\ncmake -B build -S . -G Ninja \\\n  -DCMAKE_BUILD_TYPE=Release \\\n  -DCMAKE_OSX_ARCHITECTURES=\"$(uname -m)\" \\\n  -DCMAKE_PREFIX_PATH=\"$(brew --prefix qt)\"\ncmake --build build --target PlatypusGui\n```\n\n#### Linux (apt)\n\n```bash\nsudo apt-get install -y libopencv-dev qt6-base-dev cmake ninja-build\ncmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release\ncmake --build build --target PlatypusGui\n```\n\nIf `qt6-base-dev` is not available on your distribution, install the equivalent Qt6 development packages for your distro and point CMake at Qt6 with `-DCMAKE_PREFIX_PATH=/path/to/Qt6`.\n\n#### Windows (vcpkg)\n\nSee the Windows GitHub Actions [workflow](https://github.com/simonsfoundation/platypus/blob/main/.github/workflows/build-and-release-windows.yml) for the full set of dependencies and build flags used in CI.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsfoundation%2Fplatypus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonsfoundation%2Fplatypus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsfoundation%2Fplatypus/lists"}