Metadata-Version: 2.4
Name: nickyspatial
Version: 0.0.3
Summary: An open-source object-based image analysis library for remote sensing.
Project-URL: documentation, https://kshitijrajsharma.github.io/nickyspatial
Project-URL: repository, https://github.com/kshitijrajsharma/nickyspatial
Author-email: Kshitij Raj Sharma <krschap@duck.com>
License: MIT
License-File: LICENSE
Keywords: obia,object,remote-sensing,segmentation
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: GIS
Requires-Python: >=3.10
Requires-Dist: geopandas>=1.0.1
Requires-Dist: matplotlib>=3.10.1
Requires-Dist: numexpr>=2.10.2
Requires-Dist: pandas>=2.2.3
Requires-Dist: rasterio>=1.4.3
Requires-Dist: scikit-image>=0.25.2
Requires-Dist: scipy>=1.15.2
Requires-Dist: seaborn>=0.13.2
Description-Content-Type: text/markdown

# NickySpatial

An open-source object-based image analysis library for remote sensing. 

> [!WARNING]
> This project is under active development and lot of its functionality is still in my head yet to code.

## Description

NickySpatial is a Python package that provides object-based image analysis (OBIA) functionality similar to commercial software like eCognition. It allows users to segment geospatial imagery into meaningful objects, calculate statistics, and apply rule-based classification.

## Project Structure 

```graphql
nickyspatial/
├── __init__.py
├── io/
│   ├── __init__.py
│   ├── raster.py       # Raster I/O
│   └── vector.py       # Vector I/O
├── core/
│   ├── __init__.py
│   ├── layer.py        # Layer class and management
│   ├── segmentation.py # Segmentation algorithms
│   └── rules.py        # Rule engine
├── stats/
│   ├── __init__.py
│   ├── basic.py        # Basic statistics (min, max, mean, etc.)
│   ├── spatial.py      # Spatial statistics (area, perimeter, etc.)
│   └── spectral.py     # Spectral indices (NDVI, etc.)
├── filters/
│   ├── __init__.py
│   ├── spatial.py      # Spatial filters (smoothing, merging)
│   └── spectral.py     # Spectral filters (band math)
├── viz/
│   ├── __init__.py
│   ├── maps.py         # Map visualization
│   └── charts.py       # Statistical charts
└── utils/
    ├── __init__.py
    └── helpers.py      # Helper functions
```

## Installation

This project is follows [uv](https://docs.astral.sh/uv/) for dependencies management and project publishing

```bash
pip install nickyspatial
```

## Quick Start

```python
import nickyspatial as ns
 TODO : add sample computation here 

```

## Documentation

For detailed documentation and examples, see the [documentation website](#).

## Examples

Check out the examples directory for more detailed examples:
 

TODO : Add example scripts here 

## Contributing

Contributions are welcome! Follow [dev setup guide](./docs/dev.md) & Please feel free to submit a Pull Request.

## Acknowledgments

- Inspired by the functionality of eCognition and other OBIA methodologies
- Built on top of powerful open-source libraries like numpy, rasterio, scikit-image, and GeoPandas

#### **Nicky** is my belated dog and I named this package on his memory ! 

![image](https://github.com/user-attachments/assets/b5b86c63-ae5a-48b4-9d45-3bb34a58a102)
