Observe dataset of images and targets in few shots
Project description
# ImageDatasetViz
[](https://travis-ci.org/vfdev-5/ImageDatasetViz)
[](https://coveralls.io/github/vfdev-5/ImageDatasetViz?branch=master)
Observe dataset of images and targets in few shots

## Descriptions
Idea is to create tools to store images, targets from a dataset as a few large images to observe the dataset
in few shots.
## Installation
#### with pip
```bash
pip install image-dataset-viz
```
#### from sources
```bash
python setup.py install
```
or
```bash
pip install git+https://github.com/vfdev-5/ImageDatasetViz.git
```
## Usage
### Render a single datapoint
First, we can just take a look on a single data point rendering. Let's assume that we
have `img` as, for example, `PIL.Image` and `target` as acceptable target type (`str` or list of points or
`PIL.Image` mask, etc), thus we can generate a single image with target.
```python
from image_dataset_viz import render_datapoint
# if target is a simple label
res = render_datapoint(img, "test label", text_color=(0, 255, 0), text_size=10)
plt.imshow(res)
# if target is a mask image (PIL.Image)
res = render_datapoint(img, target, blend_alpha=0.5)
plt.imshow(res)
# if target is a bounding box, e.g. np.array([[10, 10], [55, 10], [55, 77], [10, 77]])
res = render_datapoint(img, target, geom_color=(255, 0, 0))
plt.imshow(res)
```
#### Example output on Leaf Segmentation dataset from CVPPP2017
  
### Export complete dataset
For example, we have a dataset of image files and annotations files (polygons with labels):
```python
img_files = [
'/path/to/image_1.ext',
'/path/to/image_2.ext',
...
'/path/to/image_1000.ext',
]
target_files = [
'/path/to/target_1.ext2',
'/path/to/target_2.ext2',
...
'/path/to/target_1000.ext2',
]
```
We can produce a single image composed of 20x50 small samples with targets to better visualize the whole dataset.
Let's assume that we do need a particular processing to open the images in RGB 8bits format:
```python
from PIL import Image
def read_img_fn(img_filepath):
return Image.open(img_filepath).convert('RGB')
```
and let's say the annotations are just lines with points and a label, e.g. `12 23 34 45 56 67 car`
```python
from pathlib import Path
import numpy as np
def read_target_fn(target_filepath):
with Path(target_filepath).open('r') as handle:
points_labels = []
while True:
line = handle.readline()
if len(line) == 0:
break
splt = line[:-1].split(' ') # Split into points and labels
label = splt[-1]
points = np.array(splt[:-1]).reshape(-1, 2)
points_labels.append((points, label))
return points_labels
```
Now we can export the dataset
```python
de = DatasetExporter(read_img_fn=read_img_fn, read_target_fn=read_target_fn,
img_id_fn=lambda fp: Path(fp).stem, n_cols=20)
de.export(img_files, target_files, output_folder="dataset_viz")
```
and thus we should obtain a single png image with composed of 20x50 small samples.
## Examples
- [CIFAR10](examples/example_CIFAR10.ipynb)
- [VEDAI](examples/example_VEDAI.ipynb)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
image_dataset_viz-0.2.2.tar.gz
(388.8 kB
view details)
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
image_dataset_viz-0.2.2-py3.5.egg
(396.9 kB
view details)
File details
Details for the file image_dataset_viz-0.2.2.tar.gz.
File metadata
- Download URL: image_dataset_viz-0.2.2.tar.gz
- Upload date:
- Size: 388.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
459745f301956c28741226aa8916d76f3fee546e74cae938b12a0d53bfeece26
|
|
| MD5 |
22a17a616ce3ba196e9ff555ec1c912c
|
|
| BLAKE2b-256 |
ae7f08ebf3e0b4015e2fbd4cbb891f7128aab38d34d15322475031f192c4f4b3
|
File details
Details for the file image_dataset_viz-0.2.2-py3.5.egg.
File metadata
- Download URL: image_dataset_viz-0.2.2-py3.5.egg
- Upload date:
- Size: 396.9 kB
- Tags: Egg
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04731971bea33b584db1566f703f6d9a3bb808e63cde5eec84c355e4e136cd1e
|
|
| MD5 |
77f4db7763100cb9f1d5485b767ba826
|
|
| BLAKE2b-256 |
1e31fa9a85638e770f1ced78e25fb8eabe7876881a0a627ca24d61a1615a6f68
|
File details
Details for the file image_dataset_viz-0.2.2-py2.py3-none-any.whl.
File metadata
- Download URL: image_dataset_viz-0.2.2-py2.py3-none-any.whl
- Upload date:
- Size: 388.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcd879c48f7c916456898a81e604dec981967f4bba7e1dad5c35de07bdea826c
|
|
| MD5 |
af70cb9c97f33a796eb5ffe52e50b8ce
|
|
| BLAKE2b-256 |
05fc5b63dd6101991ff2a9f8e2df5cc27f5696c9e36d7c4bd22d0ed6c65fa05a
|