Skip to main content

Streamlit component that allows you to zoom and select parts of an image for further analysis.

Project description

zoom-select-image-component

Streamlit component that allows you to select parts of an image by panning and zooming.

Installation instructions

pip install zoom-select-image-component

Usage instructions

import streamlit as st

from PIL import Image
from zoom_select_image_component import zoom_select_image_component

image = Image.open('image.png')
rectangles = zoom_select_image_component(image)

The variable rectangles will contain an array of selected rectangles. Each rectangle is a dictionary with the following keys:

left: int                   # number of horizontal pixels from top left corner of image to top left corner of rectangle
top: int                    # number of vertical pixels from top left corner of image to top left corner of rectangle
width: int                  # width of rectangle in pixels
height: int                 # height of rectangle in pixels
is_enabled: bool            # whether the checkbox in the rectangle is checked or not
cropped_image: PIL.Image    # the part of the image covered by this rectangle

Look at the files zoom_select_image_component/example.py and zoom_select_image_component/example_sa.py for complete usage examples. The latter file runs the segment anything model on the selected parts of the image.

Development instructions

Set _RELEASE = False in __init__.py. Enter zoom_select_image_component/frontend and run npm update followed by npm run start. In another terminal window, create a virtual environment by running python -m venv venv. Run . venv/bin/activate and run pip install -e . to install this component as a local package. Run streamlit run zoom_select_image_component/example.py.

Deployment instructions

Set _RELEASE = True in __init__.py. Run npm run build in zoom_select_image_component/frontend. Create a Python wheel by running pip wheel --no-deps -w dist . in the root directory. Upload to pypi using python -m twine upload --repository pypi dist/*.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zoom_select_image_component-0.0.5-py3-none-any.whl (435.1 kB view details)

Uploaded Python 3

File details

Details for the file zoom_select_image_component-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for zoom_select_image_component-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e4e39d6064bc62b3c9149c6d15edc4f3545443f4a923072633734f638235f55c
MD5 cf7d2d20ff37a05589e8bca4ce2d98b6
BLAKE2b-256 32420456bc528c77ae4a99210f0f7f20a507306d1a8ed21187fc49e2e41cf29c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page