# SIPA - Simple Image Processing Application
A PyQt5-based GUI application for educational image processing operations. This package provides basic image processing functionality implemented from scratch using only NumPy (no advanced image processing libraries).
## Features
### Color Operations
- RGB to Grayscale conversion
- Binary thresholding (single and double)
- RGB channel transformations
- Contrast adjustment
### Geometric Operations
- 90-degree rotation
- Image cropping
- Zoom in/out functionality
### Filtering Operations
- Mean filter (blur)
- Median filter (noise reduction)
- Salt and pepper noise addition/removal
- Unsharp masking (sharpening)
- Prewitt edge detection
### Morphological Operations
- Erosion
- Dilation
- Opening
- Closing
### Histogram Operations
- Histogram calculation (grayscale and RGB)
- Histogram equalization
- Histogram stretching
- Histogram visualization
### Arithmetic Operations
- Weighted image addition
- Image division
## Installation
### From PyPI
```bash
pip install sipa
```
### From Source
```bash
git clone https://github.com/haydarkadioglu/simple-image-processing-application.git
cd simple-image-processing-application
pip install -e .
```
## Usage
### As a GUI Application
```bash
sipa
```
### As a Python Library
```python
import sipa
import numpy as np
# Load your image as a numpy array
image = np.array(...) # Your image data
# Convert to grayscale
gray_image = sipa.Colors.convert_to_gray(image)
# Apply filters
filtered_image = sipa.Filters.mean_filter(gray_image, kernel_size=5)
# Detect edges
edges = sipa.Filters.detect_edge_prewitt(gray_image)
# Apply morphological operations
eroded = sipa.Histogram.erode(gray_image, kernel_size=3)
```
## Requirements
- Python >= 3.7
- NumPy >= 1.19.0
- PyQt5 >= 5.15.0
- matplotlib >= 3.3.0
- opencv-python >= 4.5.0
## Development
### Installing Development Dependencies
```bash
pip install -e ".[dev]"
```
### Running Tests
```bash
pytest
```
### Code Formatting
```bash
black sipa/
```
### Linting
```bash
flake8 sipa/
```
## Educational Purpose
This project was created for educational purposes to help people understand basic image processing concepts. All image processing operations are implemented from scratch using only NumPy, making it easy to understand the underlying algorithms.
## Screenshots



## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Author
**Haydar Kadıoğlu**
- GitHub: [@haydarkadioglu](https://github.com/haydarkadioglu)
## Acknowledgments
- This project is designed for educational purposes
- All image processing algorithms are implemented from scratch for learning
- Special thanks to the computer vision and image processing community
Raw data
{
"_id": null,
"home_page": "https://github.com/haydarkadioglu/simple-image-processing-application",
"name": "sipa",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "image-processing, gui, pyqt5, computer-vision, image-filters",
"author": "Haydar Kad\u0131o\u011flu",
"author_email": "Haydar Kad\u0131o\u011flu <haydarkadioglu@example.com>",
"download_url": "https://files.pythonhosted.org/packages/a8/0f/22316ac3ef121a8d884556aa2226f84f001274cdbea3d5dc433bdaaf6485/sipa-0.1.0.tar.gz",
"platform": null,
"description": "# SIPA - Simple Image Processing Application\r\n\r\nA PyQt5-based GUI application for educational image processing operations. This package provides basic image processing functionality implemented from scratch using only NumPy (no advanced image processing libraries).\r\n\r\n## Features\r\n\r\n### Color Operations\r\n- RGB to Grayscale conversion\r\n- Binary thresholding (single and double)\r\n- RGB channel transformations\r\n- Contrast adjustment\r\n\r\n### Geometric Operations\r\n- 90-degree rotation\r\n- Image cropping\r\n- Zoom in/out functionality\r\n\r\n### Filtering Operations\r\n- Mean filter (blur)\r\n- Median filter (noise reduction)\r\n- Salt and pepper noise addition/removal\r\n- Unsharp masking (sharpening)\r\n- Prewitt edge detection\r\n\r\n### Morphological Operations\r\n- Erosion\r\n- Dilation\r\n- Opening\r\n- Closing\r\n\r\n### Histogram Operations\r\n- Histogram calculation (grayscale and RGB)\r\n- Histogram equalization\r\n- Histogram stretching\r\n- Histogram visualization\r\n\r\n### Arithmetic Operations\r\n- Weighted image addition\r\n- Image division\r\n\r\n## Installation\r\n\r\n### From PyPI\r\n```bash\r\npip install sipa\r\n```\r\n\r\n### From Source\r\n```bash\r\ngit clone https://github.com/haydarkadioglu/simple-image-processing-application.git\r\ncd simple-image-processing-application\r\npip install -e .\r\n```\r\n\r\n## Usage\r\n\r\n### As a GUI Application\r\n```bash\r\nsipa\r\n```\r\n\r\n### As a Python Library\r\n```python\r\nimport sipa\r\nimport numpy as np\r\n\r\n# Load your image as a numpy array\r\nimage = np.array(...) # Your image data\r\n\r\n# Convert to grayscale\r\ngray_image = sipa.Colors.convert_to_gray(image)\r\n\r\n# Apply filters\r\nfiltered_image = sipa.Filters.mean_filter(gray_image, kernel_size=5)\r\n\r\n# Detect edges\r\nedges = sipa.Filters.detect_edge_prewitt(gray_image)\r\n\r\n# Apply morphological operations\r\neroded = sipa.Histogram.erode(gray_image, kernel_size=3)\r\n```\r\n\r\n## Requirements\r\n\r\n- Python >= 3.7\r\n- NumPy >= 1.19.0\r\n- PyQt5 >= 5.15.0\r\n- matplotlib >= 3.3.0\r\n- opencv-python >= 4.5.0\r\n\r\n## Development\r\n\r\n### Installing Development Dependencies\r\n```bash\r\npip install -e \".[dev]\"\r\n```\r\n\r\n### Running Tests\r\n```bash\r\npytest\r\n```\r\n\r\n### Code Formatting\r\n```bash\r\nblack sipa/\r\n```\r\n\r\n### Linting\r\n```bash\r\nflake8 sipa/\r\n```\r\n\r\n## Educational Purpose\r\n\r\nThis project was created for educational purposes to help people understand basic image processing concepts. All image processing operations are implemented from scratch using only NumPy, making it easy to understand the underlying algorithms.\r\n\r\n## Screenshots\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n## Author\r\n\r\n**Haydar Kad\u0131o\u011flu**\r\n- GitHub: [@haydarkadioglu](https://github.com/haydarkadioglu)\r\n\r\n## Acknowledgments\r\n\r\n- This project is designed for educational purposes\r\n- All image processing algorithms are implemented from scratch for learning\r\n- Special thanks to the computer vision and image processing community\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Simple Image Processing Application - A GUI-based image processing tool",
"version": "0.1.0",
"project_urls": {
"Bug Reports": "https://github.com/haydarkadioglu/simple-image-processing-application/issues",
"Homepage": "https://github.com/haydarkadioglu/simple-image-processing-application",
"Source": "https://github.com/haydarkadioglu/simple-image-processing-application"
},
"split_keywords": [
"image-processing",
" gui",
" pyqt5",
" computer-vision",
" image-filters"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "51c51dbbcaf049079e57ff8fab05c794d5bc8ce5609ed169dee933aade1e52de",
"md5": "3dc895c9cd83bb3bba9a67fc9ac5d2e8",
"sha256": "fb869bb718842e2fb9a11fc8ea5b50ca12b5b51305516b73a5acf72240ac30a0"
},
"downloads": -1,
"filename": "sipa-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3dc895c9cd83bb3bba9a67fc9ac5d2e8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 20988,
"upload_time": "2025-08-05T13:23:44",
"upload_time_iso_8601": "2025-08-05T13:23:44.698716Z",
"url": "https://files.pythonhosted.org/packages/51/c5/1dbbcaf049079e57ff8fab05c794d5bc8ce5609ed169dee933aade1e52de/sipa-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a80f22316ac3ef121a8d884556aa2226f84f001274cdbea3d5dc433bdaaf6485",
"md5": "fb24a845c5150c9b6fd7da0c772bb75a",
"sha256": "d78f449706630181e0eac044d4a75e5146f061b020278fa09ef0ee17b3ce24fa"
},
"downloads": -1,
"filename": "sipa-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "fb24a845c5150c9b6fd7da0c772bb75a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 24621,
"upload_time": "2025-08-05T13:23:45",
"upload_time_iso_8601": "2025-08-05T13:23:45.794522Z",
"url": "https://files.pythonhosted.org/packages/a8/0f/22316ac3ef121a8d884556aa2226f84f001274cdbea3d5dc433bdaaf6485/sipa-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-05 13:23:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "haydarkadioglu",
"github_project": "simple-image-processing-application",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "sipa"
}