Showing preview only (369K chars total). Download the full file or copy to clipboard to get everything.
Repository: C-Naoki/image-stitcher
Branch: main
Commit: 1c2b75b8952d
Files: 17
Total size: 357.8 KB
Directory structure:
gitextract_pjqm2f0s/
├── .github/
│ └── workflows/
│ ├── clean_gitkeep.yml
│ └── lint.yml
├── .gitignore
├── .vscode/
│ ├── extensions.json
│ └── settings.json
├── LICENSE
├── Makefile
├── README.md
├── data/
│ └── __init__.py
├── docs/
│ └── source/
│ └── conf.py
├── notebooks/
│ └── tutorial.ipynb
├── poetry.toml
├── pyproject.toml
└── src/
├── __init__.py
├── main.py
└── utils/
├── __init__.py
└── visualizer.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/workflows/clean_gitkeep.yml
================================================
name: Clean unnecessary .gitkeep files
on:
push:
branches:
- main
- master
jobs:
clean:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Remove unnecessary .gitkeep files
run: |
find . -name '.gitkeep' -print0 | while IFS= read -r -d '' file; do
dir=$(dirname "$file")
if [ "$(ls -A "$dir" | wc -l)" -gt "1" ]; then
echo "Removing $file"
rm "$file"
fi
done
- name: Commit changes
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add -A
if [ -n "$(git status --porcelain)" ]; then
git commit -m ":fire: Remove unnecessary .gitkeep files"
git push
else
echo "No changes to commit"
fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
================================================
FILE: .github/workflows/lint.yml
================================================
name: python lint
on:
pull_request:
branches:
- main
paths:
- "src/**.py"
- "tests/**.py"
- "poetry.lock"
- ".github/workflows/lint.yml"
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
run: |
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
echo "$HOME/.poetry/bin" >> $GITHUB_PATH
- uses: actions/cache@v2
id: venv_cache
with:
path: .venv
key: venv-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Install Dependencies
if: steps.venv_cache.outputs.cache-hit != 'true'
run: poetry install
- name: Python Lint
run: poetry run task lint
- name: Python Test
run: poetry run task test
================================================
FILE: .gitignore
================================================
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
================================================
FILE: .vscode/extensions.json
================================================
{
"recommendations": ["ms-python.python", "njpwerner.autodocstring"]
}
================================================
FILE: .vscode/settings.json
================================================
{
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff", // Ruff: it is a fast linter for Python, written in Rust.
"editor.codeActionsOnSave": {
"source.fixAll.ruff": "explicit", // Fix codes when saving
"source.organizeImports.ruff": "explicit", // Organize imports order when saving
},
"editor.formatOnSave": true,
"editor.tabSize": 4,
},
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"autoDocstring.docstringFormat": "numpy",
"makefile.configureOnOpen": false,
}
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2024 Naoki Chihara
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: Makefile
================================================
PYTHON_VERSION = 3.10
.PHONY: install
install: check_pyenv check_poetry pyenv_setup poetry_setup
@VENV_PATH=$$(poetry env info --path); \
SITE_PACKAGES_DIR="$${VENV_PATH}/lib/python3.10/site-packages"; \
PROJECT_ROOT=$$(echo $${VENV_PATH} | rev | cut -d'/' -f2- | rev); \
VENV_NAME=$$(basename `dirname $${VENV_PATH}`); \
echo $${PROJECT_ROOT} > $${SITE_PACKAGES_DIR}/$${VENV_NAME}.pth
.PHONY: check_pyenv
check_pyenv:
@if ! command -v pyenv &> /dev/null; then \
echo "Error: "pyenv" is not installed. please visit https://github.com/pyenv/pyenv#installation in details."; \
exit 1; \
fi
.PHONY: check_poetry
check_poetry:
@if ! command -v poetry &> /dev/null; then \
echo "Error: "pyenv" is not installed. please visit https://python-poetry.org/docs/#installation in details."; \
exit 1; \
fi
.PHONY: pyenv_setup
pyenv_setup:
pyenv install -s $(PYTHON_VERSION)
pyenv global $(PYTHON_VERSION)
.PHONY: poetry_setup
poetry_setup:
poetry env use $(PYTHON_VERSION)
poetry install
.PHONY: run
run:
python src/main.py
.PHONY: pre-commit
pre-commit:
poetry run pre-commit run --all-files
.PHONY: test
test:
poetry run pytest -s -vv --cov=. --cov-branch --cov-report=html
================================================
FILE: README.md
================================================
# image-stitcher
[](https://www.python.org/downloads/release/python-390/)
[](https://opensource.org/licenses/MIT)
[](https://zenn.dev/naoki0103/articles/image-stitcher-application)
<a href="https://github.com/C-Naoki/image-stitcher/stargazers"><img src="https://img.shields.io/github/stars/c-naoki/image-stitcher" alt="Stars Badge"/></a>
<a href="https://github.com/c-naoki/image-stitcher/network/members"><img src="https://img.shields.io/github/forks/c-naoki/image-stitcher" alt="Forks Badge"/></a>
This is a python implementation for stitching images by automatically searching for overlap region.
- [👨💻 Usage](#-usage)
- [🎯 Preview of results](#-preview-of-results)
- [🧠 Main Idea](#-main-idea)
- [🙋♂️ Support](#️-support)
- [✉️ Contact](#️-contact)
## 👨💻 Usage
```python
from src.main import main
from src.utils.visualizer import result_visualize
merged_image, cand = main(
image1=image1, # The first image to be combined
image2=image2, # The second image to be combined
min_overlap=(5, 5), # The minimum overlap region
verbose=False, # Whether to print the log
)
result_visualize(
image1=image1, # The first image to be combined
image2=image2, # The second image to be combined
merged_image=merged_image, # The output image
cand=cand, # The parameters
)
```
## 🎯 Preview of results
The results using [`CIFAR-10`](https://www.cs.toronto.edu/~kriz/cifar.html) are shown below. I would refer you to [`tutorial.ipynb`](https://github.com/C-Naoki/image-stitcher/blob/main/notebooks/tutorial.ipynb) for detailed results.
<p align="center">
<img src="./docs/assets/input.png" alt="" align=center />
<br><br>
<b>Figure 1.</b> The example of input images. The red area represents an empty region. This application can combine these images while considering their rotation.
</p>
<p align="center">
<img src="./docs/assets/rotated.png" alt="" align=center />
<br><br>
<b>Figure 2.</b> The preprocessed input images. This rotation process is necessary to accurately combine the images. The green frame represents the overlap region between the input images.
</p>
<p align="center">
<img src="./docs/assets/result.png" alt="" align=center />
<br><br>
<b>Figure 3.</b> The output image.
</p>
## 🧠 Main Idea
<p align="center">
<img src="./docs/assets/case1.png" width=500 alt="" align=center />
<br><br>
<b>Figure 4.</b> The overview of this application in limited case.
</p>
This application is designed based on the overlap region's width $w_c$ and height $h_c$. Thanks to this idea, we can simply limit the search space, thus preventing it from capturing overly small, suboptimal overlap region.
<p align="center">
<img src="./docs/assets/case2.png" width=500 alt="" align=center />
<br><br>
<b>Figure 5.</b> The overview of this application.
</p>
However, the above approach is not always applicable, specifically when $\min(h_1, h_2) < h_c$ or $\min(w_1, w_2) < w_c$. To address this issue, I change the perspective of $w_c$ and $h_c$ like the above figure. Therefore, this application can handle images of arbitrary sizes.
## 🙋♂️ Support
💙 If you like this app, give it a ⭐ and share it with friends!
## ✉️ Contact
💥 For questions or issues, feel free to open an [issue](https://github.com/C-Naoki/image-stitcher/issues). I appreciate your feedback and look forward to hearing from you!
================================================
FILE: data/__init__.py
================================================
from typing import Union
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from matplotlib.patches import Rectangle
from skimage.transform import rotate
from sklearn.datasets import fetch_openml
def load_data(idx: int = 0) -> Union[np.ndarray, pd.Series]:
cifar10 = fetch_openml("CIFAR_10")
data = cifar10["data"]
target = cifar10["target"]
X = np.array(data).reshape(-1, 3, 32, 32).astype(np.uint8)
return np.transpose(X[idx], (1, 2, 0)), target
def split_data(
image: np.ndarray, slicex: tuple, slicey: tuple, angle: int = 0, plot: bool = False
) -> Union[np.ndarray, np.ndarray]:
if plot:
viz_image1 = np.zeros_like(image)
viz_image1[:, :, 0] = 255
viz_image1[slicey[0], slicex[0], :] = image[slicey[0], slicex[0], :]
viz_image2 = np.zeros_like(image)
viz_image2[:, :, 0] = 255
viz_image2[slicey[1], slicex[1], :] = image[slicey[1], slicex[1], :]
fig, ax = plt.subplots(1, 3, figsize=(7, 3))
ax[0].imshow(image)
ax[0].set_title(f"Original {image.shape[1]}x{image.shape[0]}")
ax[0].axis("off")
ax[1].imshow(viz_image1)
ax[1].set_title(f"First {slicey[0].stop - slicey[0].start}x{slicex[0].stop - slicex[0].start}")
ax[1].axis("off")
ax[2].imshow(viz_image2)
ax[2].set_title(f"Second {slicey[1].stop - slicey[1].start}x{slicex[1].stop - slicex[1].start}")
ax[2].axis("off")
rect1 = Rectangle(
(max(slicex[0].start, slicex[1].start), max(slicey[0].start, slicey[1].start)),
min(slicex[0].stop, slicex[1].stop) - max(slicex[0].start, slicex[1].start) - 1,
min(slicey[0].stop, slicey[1].stop) - max(slicey[0].start, slicey[1].start) - 1,
linewidth=7,
edgecolor="g",
facecolor="none",
)
rect2 = Rectangle(
(max(slicex[0].start, slicex[1].start), max(slicey[0].start, slicey[1].start)),
min(slicex[0].stop, slicex[1].stop) - max(slicex[0].start, slicex[1].start) - 1,
min(slicey[0].stop, slicey[1].stop) - max(slicey[0].start, slicey[1].start) - 1,
linewidth=7,
edgecolor="g",
facecolor="none",
)
ax[1].add_patch(rect1)
ax[2].add_patch(rect2)
image1 = image[slicey[0], slicex[0], :]
image2 = image[slicey[1], slicex[1], :]
rotated_image2 = rotate(image2, angle, resize=True, preserve_range=True).astype(np.uint8)
return image1, rotated_image2
================================================
FILE: docs/source/conf.py
================================================
import os
import sys
from sphinx_pyproject import SphinxConfig
sys.path.append(
os.path.abspath(f"{os.path.dirname(os.path.abspath(__file__))}/../../")
)
config = SphinxConfig("../../pyproject.toml", globalns=globals())
================================================
FILE: notebooks/tutorial.ipynb
================================================
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import sys\n",
"from pathlib import Path\n",
"sys.path.append(os.path.join(Path().resolve(), '..'))"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"from data import load_data, split_data\n",
"from src.main import main\n",
"from src.utils.visualizer import result_visualize"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Download test data"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"image, target = load_data(idx=0)\n",
"\n",
"# preview of image\n",
"plt.imshow(image)\n",
"plt.title(f'Label: {target[0]}')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Image Sticher"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Example 1."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 700x300 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"image1, image2 = split_data(\n",
" image=image,\n",
" slicex=(slice(0, 32), slice(0, 32)),\n",
" slicey=(slice(0, 20), slice(12, 32)),\n",
" angle=90,\n",
" plot=True,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"==== BEST RESULT ====\n",
"Best MSE: 1.3111979166666667\n",
"Best rotation: 270\n",
"image1's shape: (20, 32)\n",
"image2's shape: (20, 32)\n",
"shared image's top-left in image1: Coordinate(x=0, y=12)\n",
"shared image's bottom-right in image1: Coordinate(x=32, y=20)\n",
"shared image's top-left in (rotated) image2: Coordinate(x=0, y=0)\n",
"shared image's bottom-right in (rotated) image2: Coordinate(x=32, y=8)\n",
"shared image's height: 8\n",
"shared image's width: 32\n"
]
},
{
"data": {
"image/png": "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V17xxNxuNxYtWuS1XWxsLMaMGYO///3vKCoqavJ4P94npaWlXm1hYWFIS0uD0+ls/hMiombhEROidiotLQ0jR47EAw88AKfTiYULFyI6Ohq///3vPdvcfffdePbZZ5GVlYV77rkHp06dwssvv4w+ffqgoqLCs11wcDAyMjLwzjvvoFevXoiKikLfvn3Rt2/fS/Z8brjhBqxevRqTJk3C9ddfj8LCQrz88svIyMhAVVWVZ7uJEydi6NCheOihh3Dw4EH07t0b77//Ps6ePQvA++jPokWLMHLkSPTr1w/33nsvunfvjpKSEuTn5+P48eP47rvvAAAZGRkYM2YMBg8ejKioKGzbtg2rVq3CtGnTLtnzJ6JGXJgQtVN33nknzGYzFi5ciFOnTmHo0KF48cUXkZCQ4Nnmsssuw+uvv47HH38cM2fOREZGBt544w0sX768yeXnlyxZgunTp2PGjBmoq6vD7NmzL+nCZOrUqSguLsbf//53fPTRR8jIyMCbb76JlStXeo3VYrHgn//8J373u9/htddeg9lsxqRJkzB79myMGDECQUFBnm0zMjKwbds2zJ07F8uWLUNpaSliY2MxaNAgPP74457tfvvb3+L999/Hxx9/DKfTidTUVDzxxBN45JFHLtnzJ6JGJk11ZhwRGdaRI0fQrVs3PP3003j44YfbejiGsXbtWkyaNAlffPEFRowY0dbDIaJm4jkmRNTu1NbWev3ucrnwwgsvICIiApdffnkbjYqIWgK/yiGidmf69Omora1FZmYmnE4nVq9eja+++gpPPvkkgoOD23p4RHQRuDAhonZn7NixeOaZZ/Dhhx/C4XAgLS0NL7zwAk9WJfIDPMeEiIiIDIPnmBAREZFhcGFCREREhsGFCRERERkGFyZERERkGFyYEBERkWFwYUJERESGwYUJERERGQYXJkRERGQYXJgQERGRYXBhQkRERIbBhQkREREZBhcmREREZBhcmBAREZFhcGFCREREhsGFiR9YtmwZTCYTtm3b1tZDuWhVVVWYPXs2rrvuOkRFRcFkMmHZsmVtPSwiukD+NB9t3boV06ZNQ58+fRAaGoqUlBTceuut+P7779t6aH6NCxMylDNnzmDevHnYu3cvBgwY0NbDIaIObMGCBXj33Xcxbtw4PP/887jvvvuwadMmXH755di1a1dbD89vBbT1AIh+LCEh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",
"text/plain": [
"<Figure size 600x300 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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SEpKEp999pm44YYbhNlsFjfeeKPYtGmT27F++OEH0bFjR2EymUSbNm3EZ599Jk0XPnDggOjTp4/w8/MTADRTh7XShS9/rlWPa/z48cLf39+l7MMPP3Q+nrZt24rFixdL21pYWCiSkpJESEiICAgIEHfeeac4ePCgACBmz57tsm92drZISkoSUVFRwsfHR4SHh4sBAwaI9957z7nPv//9b9GnTx/RqFEjYTabRcuWLcWzzz4rrFar8hxU2L17twAgfv75Z7fzo7rJzu20adMEALF3717N42VkZIjRo0eLoKAgERAQIO644w5x+PDhK7bzcna7XURERIgXX3yxynWJPMEgRDVGzhGRLhkMBiQlJeGdd96p7aboRlpaGm688UZ89tln0jEaNWnAgAGIjIzEp59+ek2PezVWr16Ne+65B0ePHkVERERtN4fqIY4xIaI64/L5OoCLM/oajUb06dPnmrdn5syZ+OKLL6SDivVqzpw5mDRpEoMSqjUcY0JEdcbrr7+O1NRU3HbbbfD29sb333+P77//Ho8++qjbfCnXQvfu3VFaWnrNj3s1UlJSarsJVM8xMCGiOqNnz5748ccf8eqrr6KgoADR0dF46aWXnGsfEZH+cYwJERER6QbHmBAREZFuMDAhIiIi3WBgQkRERLrBwISIiIh0g4EJERER6QYDEyIiItINBiZERESkGwxMiIiISDcYmBAREZFuMDAhIiIi3WBgQkRERLrBwISIiIh0g4EJERER6QYDEyIiItINBiZ1wJIlS2AwGLBr167abspVKygowIwZMzB48GCEhITAYDBgyZIltd0sIqqkutQf7dy5E5MmTUKHDh3g7++P6OhojBkzBocOHartptVpDExIV86dO4dXXnkF+/fvR5cuXWq7OURUj82ZMwdfffUVBgwYgLfeeguPPvootmzZgptuugn79u2r7ebVWd613QCiS0VERCAzMxPh4eHYtWsXbrnlltpuEhHVU1OnTsWyZctgMpmcZWPHjkWnTp0we/ZsfPbZZ7XYurqLV0zqoAkTJiAgIAAnT57EHXfcgYCAADRt2hQLFiwAAPz222/o378//P39ERMTg2XLlrnU//PPP/G3v/0NnTp1QkBAAIKCgpCYmIj//Oc/bsc6ceIEhg0bBn9/fzRp0gRPP/001q9fD4PBgM2bN7vsu337dgwePBgWiwUN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W1Z7YmNjER4e7nJO8vLysH379jp3ToQQmDRpElatWoWffvoJsbGxLtvj4uLg4+Pjci4OHjyIkydP1rlzcSmHwwGbzVZvH39tYp/krr70SeyP1GqsT/Lc+FzPWr58uTCbzWLJkiXijz/+EI8++qgIDg4WWVlZtd20GpOfny/27Nkj9uzZIwCIefPmiT179ogTJ04IIYSYPXu2CA4OFt98843Yu3evGD58uIiNjRXFxcW13HLPeuKJJ4TFYhGbN28WmZmZzltRUZFzn8cff1xER0eLn376SezatUvEx8eL+Pj4Wmy1Z02bNk0kJyeL9PR0sXfvXjFt2jRhMBjEDz/8IISo+49fj9gn1c8+if3RRdeyT9JtYCKEEG+//baIjo4WJpNJdOvWTWzbtq22m1SjNm3aJAC43caPHy+EuJie9/e//12EhYUJs9ksBgwYIA4ePFi7ja4BsnMAQCxevNi5T3FxsXjyySdFw4YNRYMGDcSIESNEZmZm7TXawx566CERExMjTCaTCA0NFQMGDHB2AELU/cevV+yT6l+fxP7oomvZJxmEEKIaV3CIiIiIPE6XY0yIiIiofmJgQkRERLrBwISIiIh0g4EJERER6QYDEyIiItINBiZERESkGwxMiIiISDcYmBAREZFuMDAhIiIi3WBgQkRERLrBwISIiIh04/8BZFBY3CSx8w8AAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 600x300 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 300x300 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"merged_image, cand = main(image1, image2, min_overlap=(8, 8), verbose=False)\n",
"result_visualize(image1, image2, merged_image, cand)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Example 2."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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R5Geno7p06cHB+by5cvxxhtv4E9/+hMuvfTSkHV4PB4UFhYiLy8PS5cuxTPPPIO0tDR06NCh2m2XlpaitLRUvDGo/hUXF6OwsDDkX3V8Ph+GDRuGpk2b4plnnsFNN90Ej8eDYcOG4dtvv8WcOXPw0ksvYdasWcjOzg5OWhcvXgy73Y6rr74aixcvxuLFizF79uxa729+fj5iYmIQExMjbhs8eDDi4+MRExOD0aNH48CBAyG313b81ue26fxJS0vD1q1bsXPnzhqXnTt3Lm6//XZ07NgR8+fPx3333YfVq1dj4MCBIX9grVy5EgMHDsTu3bvx29/+Fs8++ywGDx6ML774IrjMqlWrMGzYMJw4cQKPP/447r//fmzYsAEDBgzQ/uDj5ptvRklJCf7617/i5ptvxttvv40nnngiZJkZM2ZgwYIFGDp0KP72t7/BarXW6rNGh++ZWmiI00CnT59WANSNN95Y7XKjR49WANSZM2eUUko99thjCoCaOHGiWLbytkpbt25VANR9990XslxGRoY43Vd5yiwnJyeYpaWlKQBq7dq1wezEiRPKbrerBx54IJhVVFSIr1hycnKU3W5XTz75ZEiGWny19Ne//lUBCP679tpr1Y8//ljj/aZPn64sFovav39/SJ6ZmalsNpuaMWOGOnXqlGrZsqXq3bu38nq9Yh0ffPBByLZ79+6tduzYUeO2//znPysAavXq1WE9Rqq9yrGq+6eUfpxNmTJFAVB/+MMfQtb1ww8/KABqyZIl1W6zNl8t6Rw4cEA5HA512223heQfffSRysjIUIsWLVJLly5Vjz76qIqJiVHJyclirNdm/Nb3tun8WLFihbJYLMpisah+/fqphx56SC1fvlx5PJ6Q5XJzc5XFYlFz584NyTMzM1VUVFQw9/l8qm3btiotLU18XRUIBIL/Pz09XTVt2lSdPHkymG3fvl2ZzWZ1++23B7PKz5Rp06aFrGvs2LGqcePGwf/etm2bAqDuuuuukOVuvfXWsL5a0uF7pnYaZCKTl5enAKjJkydXu9ykSZMUAHX48GGl1M8Da82aNWLZX05k5s6dqwCID/TKCU44E5muXbuK7fTs2VONHTtWu78+n08VFhaqgoIC1bNnTzVmzJjgbbWdyOTm5qqVK1eq999/X916663q2muvVfv27av2Pu+9954CoB566CHt7ZWToz59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",
"text/plain": [
"<Figure size 700x300 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"image1, image2 = split_data(\n",
" image=image,\n",
" slicex=(slice(0, 25), slice(7, 32)),\n",
" slicey=(slice(0, 25), slice(7, 32)),\n",
" angle=90,\n",
" plot=True,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"==== BEST RESULT ====\n",
"Best MSE: 1.2119341563786008\n",
"Best rotation: 270\n",
"image1's shape: (25, 25)\n",
"image2's shape: (25, 25)\n",
"shared image's top-left in image1: Coordinate(x=7, y=7)\n",
"shared image's bottom-right in image1: Coordinate(x=25, y=25)\n",
"shared image's top-left in (rotated) image2: Coordinate(x=0, y=0)\n",
"shared image's bottom-right in (rotated) image2: Coordinate(x=18, y=18)\n",
"shared image's height: 18\n",
"shared image's width: 18\n"
]
},
{
"data": {
"image/png": "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LjFOdIm8WWa8JWFOIjIeb/JRo68xcTqdWLFiBSoqKpCWloZt27ahtrYWY8aMcW/Tq1cvJCYmIicnR3ydrKws2O129yMhIaGxQyKiVow5iahl8HpismvXLoSGhsJms+H+++/HmjVrkJycjIKCAlitVkRERHhsHxsbi4KCAvH1Zs2ahZKSEvfj+PHjXu8EEbVezElELUuAtx169uyJ7du3o6SkBKtWrUJGRgays7MbPQCbzQabzdbo/kTUujEnEbUsXk9MrFYrunXrBgBISUnBli1b8MILL2DSpEmoqalBcXGxx/9QCgsLERcX57MBExH9GHMSUctyyfcxcblccDgcSElJQWBgINatW+du279/P44dO4a0tLRLfRsioovCnETUvHl1xmTWrFkYN24cEhMTUVZWhuXLl2PDhg345JNPYLfbcd9992HmzJmIjIxEeHg4pk+fjrS0NPHqdyKiS8GcRNTyeDUxOX36NO6++27k5+fDbrejf//++OSTT3DdddcBAJ5//nmYzWbceuutcDgcSE9Px8svv9wkAyciYk4ianku+T4mvtZa771A5Gv8LvkGjyPRpbss9zEhIiIi8jWvq3Ka2oUTOKWlpX4eCVHzduE7ZLCTos0OcxLRpfMmHxluYlJWVgYAvNsikY+UlZXBbrf7exjNFnMSke9cTD4y3DUmLpcLp06dQlhYGEwmk3udiuPHj7fav+/yGNTjcah3scdB0zSUlZUhPj4eZjP/attYP85JZWVl/AyC38ULeBzqXcxx8CYfGe6MidlsRseOHRvELyxr3prxGNTjcah3MceBZ0ou3Y9zkslkAsDP4AU8DvV4HOr91HG42HzE/0YRERGRYXBiQkRERIZh+ImJzWbD7NmzW/WiWjwG9Xgc6vE4+A+PfT0eh3o8DvV8fRwMd/ErERERtV6GP2NCRERErQcnJkRERGQYnJgQERGRYXBiQkRERIbBiQkREREZhqEnJosWLUKnTp0QFBSE1NRUfPvtt/4eUpPauHEjbrrpJsTHx8NkMuH999/3aNc0DU888QTat2+P4OBgjBkzBgcOHPDPYJtQVlYWBg0ahLCwMMTExGD8+PHYv3+/xzbV1dXIzMxEVFQUQkNDceutt6KwsNBPI/a9xYsXo3///u47KaalpeE///mPu72l779RMSe979HeGnIS81G9y5mTDDsxeffddzFz5kzMnj0b3333HQYMGID09HScPn3a30NrMhUVFRgwYAAWLVqkbH/mmWfw17/+Fa+88go2b96MkJAQpKeno7q6+jKPtGllZ2cjMzMTmzZtwmeffYba2lpcf/31qKiocG8zY8YMfPTRR1i5ciWys7Nx6tQpTJw40Y+j9q2OHTvi6aefxrZt27B161aMGjUKt9xyC/bs2QOg5e+/ETEnNdQachLzUb3LmpM0gxo8eLCWmZnpfu50OrX4+HgtKyvLj6O6fABoa9ascT93uVxaXFyctmDBAnesuLhYs9ls2jvvvOOHEV4+p0+f1gBo2dnZmqbV73dgYKC2cuVK9zb79u3TAGg5OTn+GmaTa9u2rbZkyZJWu//+xpzEnKRpzEc/1lQ5yZBnTGpqarBt2zaMGTPGHTObzRgzZgxycnL8ODL/ycvLQ0FBgccxsdvtSE1NbfHHpKSkBAAQGRkJANi2bRtqa2s9jkWvXr2QmJjYIo+F0+nEihUrUFFRgbS0tFa3/0bAnNRQa81JrT0fAU2fkwy3ujAAnD17Fk6nE7GxsR7x2NhY5Obm+mlU/lVQUAAAymNyoa0lcrlcePDBBzF06FD07dsXQP2xsFqtiIiI8Ni2pR2LXbt2IS0tDdXV1QgNDcWaNWuQnJyM7du3t4r9NxLmpIZaY05qzfkIuHw5yZATE6ILMjMzsXv3bnz11Vf+Hspl17NnT2zfvh0lJSVYtWoVMjIykJ2d7e9hEbVarTkfAZcvJxnyTznt2rWDxWJpcEVvYWEh4uLi/DQq/7qw363pmEybNg0ff/wx1q9fj44dO7rjcXFxqKmpQXFxscf2Le1YWK1WdOvWDSkpKcjKysKAAQPwwgsvtJr9NxLmpIZaW05q7fkIuHw5yZATE6vVipSUFKxbt84dc7lcWLduHdLS0vw4Mv/p3Lkz4uLiPI5JaWkpNm/e3OKOiaZpmDZtGtasWYMvvvgCnTt39mhPSUlBYGCgx7HYv38/jh071uKOxY+5XC44HI5Wu//+xJzUUGvJScxHsibLSb67Pte3VqxYodlsNm3ZsmXa3r17talTp2oRERFaQUGBv4fWZMrKyrTvv/9e+/777zUA2nPPPad9//332tGjRzVN07Snn35ai4iI0D744ANt586d2i233KJ17txZq6qq8vPIfeuBBx7Q7Ha7tmHDBi0/P9/9qKysdG9z//33a4mJidoXX3yhbd26VUtLS9PS0tL8OGrfeuyxx7Ts7GwtLy9P27lzp/bYY49pJpNJ+/TTTzVNa/n7b0TMSa0zJzEf1bucOcmwExNN07QXX3xRS0xM1KxWqzZ48GBt06ZN/h5Sk1q/fr0GoMEjIyND07T68rzHH39ci42N1Ww2mzZ69Ght//79/h10E1AdAwDa0qVL3dtUVVVpv/3tb7W2bdtqbdq00SZMmKDl5+f7b9A+du+992pJSUma1WrVoqOjtdGjR7sTgKa1/P03Kuak1peTmI/qXc6cZNI0TWvEGRwiIiIinzPkNSZERETUOnFiQkRERIbBiQkREREZBicmREREZBicmBAREZFhcGJCREREhsGJCRERERkGJyZERERkGJyYEBERkWFwYkJERESGwYkJERERGcb/A7uDQdJkhJorAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 600x300 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 600x300 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
gitextract_pjqm2f0s/
├── .github/
│ └── workflows/
│ ├── clean_gitkeep.yml
│ └── lint.yml
├── .gitignore
├── .vscode/
│ ├── extensions.json
│ └── settings.json
├── LICENSE
├── Makefile
├── README.md
├── data/
│ └── __init__.py
├── docs/
│ └── source/
│ └── conf.py
├── notebooks/
│ └── tutorial.ipynb
├── poetry.toml
├── pyproject.toml
└── src/
├── __init__.py
├── main.py
└── utils/
├── __init__.py
└── visualizer.py
SYMBOL INDEX (6 symbols across 3 files) FILE: data/__init__.py function load_data (line 11) | def load_data(idx: int = 0) -> Union[np.ndarray, pd.Series]: function split_data (line 21) | def split_data( FILE: src/main.py class Coordinate (line 9) | class Coordinate: function main (line 14) | def main(image1, image2, min_overlap=(5, 5), verbose=False): function init_candparam (line 114) | def init_candparam(): FILE: src/utils/visualizer.py function result_visualize (line 7) | def result_visualize(image1, image2, merged_image, cand):
Condensed preview — 17 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (370K chars).
[
{
"path": ".github/workflows/clean_gitkeep.yml",
"chars": 1002,
"preview": "name: Clean unnecessary .gitkeep files\n\non:\n push:\n branches:\n - main\n - master\n\njobs:\n clean:\n runs-o"
},
{
"path": ".github/workflows/lint.yml",
"chars": 1181,
"preview": "name: python lint\n\non:\n pull_request:\n branches:\n - main\n paths:\n - \"src/**.py\"\n - \"tests/**.py\"\n "
},
{
"path": ".gitignore",
"chars": 3078,
"preview": "# Byte-compiled / optimized / DLL files\n__pycache__/\n*.py[cod]\n*$py.class\n\n# C extensions\n*.so\n\n# Distribution / packagi"
},
{
"path": ".vscode/extensions.json",
"chars": 73,
"preview": "{\n \"recommendations\": [\"ms-python.python\", \"njpwerner.autodocstring\"]\n}\n"
},
{
"path": ".vscode/settings.json",
"chars": 551,
"preview": "{\n \"[python]\": {\n \"editor.defaultFormatter\": \"charliermarsh.ruff\", // Ruff: it is a fast linter for Python, written"
},
{
"path": "LICENSE",
"chars": 1070,
"preview": "MIT License\n\nCopyright (c) 2024 Naoki Chihara\n\nPermission is hereby granted, free of charge, to any person obtaining a c"
},
{
"path": "Makefile",
"chars": 1196,
"preview": "PYTHON_VERSION = 3.10\n\n.PHONY: install\ninstall: check_pyenv check_poetry pyenv_setup poetry_setup\n\t@VENV_PATH=$$(poetry "
},
{
"path": "README.md",
"chars": 3649,
"preview": "# image-stitcher\n\n[](https://www.python.org/downloads/"
},
{
"path": "data/__init__.py",
"chars": 2540,
"preview": "from typing import Union\n\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport pandas as pd\nfrom matplotlib.patches"
},
{
"path": "docs/source/conf.py",
"chars": 227,
"preview": "import os\nimport sys\n\nfrom sphinx_pyproject import SphinxConfig\n\nsys.path.append(\n os.path.abspath(f\"{os.path.dirname"
},
{
"path": "notebooks/tutorial.ipynb",
"chars": 342372,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"code\",\n \"execution_count\": 1,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n "
},
{
"path": "poetry.toml",
"chars": 47,
"preview": "[virtualenvs]\nin-project = true\npath = \".venv\"\n"
},
{
"path": "pyproject.toml",
"chars": 1597,
"preview": "[tool.poetry]\nname = \"image-stitcher\"\nversion = \"0.1.0\"\ndescription = \"\"\nauthors = [\"naoki <u429561d@ecs.osaka-u.ac.jp>\""
},
{
"path": "src/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/main.py",
"chars": 5538,
"preview": "import dataclasses\n\nimport numpy as np\nfrom skimage.metrics import mean_squared_error\nfrom skimage.transform import rota"
},
{
"path": "src/utils/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "src/utils/visualizer.py",
"chars": 2255,
"preview": "import matplotlib.pyplot as plt\nimport numpy as np\nfrom matplotlib.patches import Rectangle\nfrom skimage.transform impor"
}
]
About this extraction
This page contains the full source code of the C-Naoki/image-stitcher GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 17 files (357.8 KB), approximately 232.0k tokens, and a symbol index with 6 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.