{"id":24612661,"url":"https://github.com/oadultradeepfield/galilean","last_synced_at":"2026-05-20T02:40:16.541Z","repository":{"id":269939195,"uuid":"908909685","full_name":"oadultradeepfield/galilean","owner":"oadultradeepfield","description":"A Python CLI tool for planetary image processing that simplifies the workflow by integrating features from PIPP, AutoStakkert!, and RegiStax into a streamlined interface.","archived":false,"fork":false,"pushed_at":"2025-01-10T10:37:00.000Z","size":73740,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T16:35:18.310Z","etag":null,"topics":["opencv-python","python","svelte"],"latest_commit_sha":null,"homepage":"https://galilean.vercel.app","language":"Python","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/oadultradeepfield.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-12-27T09:13:01.000Z","updated_at":"2025-01-18T15:18:13.000Z","dependencies_parsed_at":"2025-01-24T20:36:30.289Z","dependency_job_id":null,"html_url":"https://github.com/oadultradeepfield/galilean","commit_stats":null,"previous_names":["oadultradeepfield/galilean"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oadultradeepfield/galilean","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oadultradeepfield%2Fgalilean","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oadultradeepfield%2Fgalilean/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oadultradeepfield%2Fgalilean/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oadultradeepfield%2Fgalilean/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oadultradeepfield","download_url":"https://codeload.github.com/oadultradeepfield/galilean/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oadultradeepfield%2Fgalilean/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33243505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T15:49:41.270Z","status":"online","status_checked_at":"2026-05-20T02:00:07.149Z","response_time":356,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["opencv-python","python","svelte"],"created_at":"2025-01-24T20:23:55.363Z","updated_at":"2026-05-20T02:40:16.520Z","avatar_url":"https://github.com/oadultradeepfield.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Galilean\n\n![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge\u0026logo=python\u0026logoColor=ffdd54)\n![OpenCV](https://img.shields.io/badge/opencv-%23white.svg?style=for-the-badge\u0026logo=opencv\u0026logoColor=white)\n![SvelteKit](https://img.shields.io/badge/sveltekit-%23ff3e00.svg?style=for-the-badge\u0026logo=svelte\u0026logoColor=white)\n![TailwindCSS](https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white)\n![DaisyUI](https://img.shields.io/badge/daisyui-5A0EF8?style=for-the-badge\u0026logo=daisyui\u0026logoColor=white)\n![Vite](https://img.shields.io/badge/vite-%23646CFF.svg?style=for-the-badge\u0026logo=vite\u0026logoColor=white)\n![Vercel](https://img.shields.io/badge/vercel-%23000000.svg?style=for-the-badge\u0026logo=vercel\u0026logoColor=white)\n\n## Project Overview\n\nGalilean is a Python CLI tool inspired by popular planetary image processing software like PIPP, AutoStakkert!, and RegiStax. The original author, Phanuphat Srisukhawasu, is an astrophotography enthusiast. Unfortunately, as he now uses macOS instead of Windows, he cannot run these unsupported software tools natively. As a side project, he developed this CLI app to replicate their functionality. While the project is still under development and not perfect, it aims to provide similar capabilities.\n\n**Note**: For the installation guide, user manual, and examples, please visit [this page](https://galilean.vercel.app/). This README is intended for local development and contributions only.\n\n## Getting Started\n\nThe project is structured into two main folders: `docs` and `galilean`. The `docs` folder contains the Svelte project used to create the documentation website for non-technical users. The `galilean` folder contains the Python and OpenCV source code. If you're contributing to image processing, focus on the `galilean` folder.\n\n### Installation\n\nStart by cloning the GitHub repository:\n\n```bash\ngit clone https://github.com/oadultradeepfield/galilean\ncd galilean\n```\n\n### Working on Python Source Code\n\nThe Python source code is organized into four processing steps: `detect_and_crop`, `evaluate_and_align`, `image_stacking`, and `postprocessing`. Navigate to the part you're interested in modifying. Any changes should be tested using the `test.py` file. To run the tests, use:\n\n```bash\npython3 galilean/test.py\n```\n\nThe test uses sample images located in the `test/input` directory. The results will be generated as separate folders for each processing step in the `test/out` directory (which is included in `.gitignore`). As a rule of thumb, running the tests should produce no errors, and the results should not degrade the original image quality.\n\nIf you want to test on real-world data, create a `source` folder inside the `galilean` directory and add your videos there. Run the following command to start processing:\n\n```bash\npython3 galilean/main.py\n```\n\nFollow the prompts in the CLI. More detailed information can be found on [this page](https://galilean.vercel.app/user-manual).\n\n### Working on Documentation\n\nThe documentation is designed as a website to make it more accessible to non-technical users. It is built using Svelte and SvelteKit, built with Vite. The styling is done using Tailwind CSS with daisyUI, and the package manager used is `pnpm`. Ensure you have it installed before starting. After setup, you can use the following commands for local development:\n\n```bash\ncd docs\npnpm install\npnpm run dev\n```\n\nThe server will start on port 5173 by default. Open http://localhost:5173 in your browser to view the generated website.\n\n## Contribution Guidelines\n\nContributions are highly welcome! Please fork this repository and create pull requests. Ensure that your pull request includes a clear and descriptive explanation of the changes made and why your approach is an improvement. Contributions to alignment algorithms and postprocessing steps are especially appreciated.\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0\n. See the [LICENSE](/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foadultradeepfield%2Fgalilean","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foadultradeepfield%2Fgalilean","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foadultradeepfield%2Fgalilean/lists"}