dataset-iterator


Namedataset-iterator JSON
Version 0.5.0 PyPI version JSON
download
home_pagehttps://github.com/jeanollion/dataset_iterator.git
SummaryKeras-style data iterator for images contained in dataset files such as hdf5 or PIL readable files. Images can be contained in several files.
upload_time2024-08-27 09:35:22
maintainerNone
docs_urlNone
authorJean Ollion
requires_python>=3
licenseNone
keywords iterator dataset image numpy
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Dataset Iterator
This repo contains keras iterator classes for multi-channel (time-lapse) images contained in dataset files such as hdf5.

## Dataset structure:
One dataset file can contain several sub-datasets (dataset_name0, dataset_name1, etc...), the iterator will iterate through all of them as if they were concatenated.

    .
    ├── ...
    ├── dataset_name0                    
    │   ├── channel0          
    │   └── channel1   
    │   └── ...
    ├── dataset_name1                    
    │   ├── channel0          
    │   └── channel1   
    │   └── ...
    └── ...

Each dataset contain channels (channel0, channel1 ...) that must have same shape. All datasets must have the same number of channels, and shape (except batch size) must be equal among datasets.

## Groups

There can be more folder level, for instance to have train and test sets in the same file:

    .
    ├── ...
    ├── experiment1                    
    │   ├── train          
    │   │   ├── raw
    │   │   └── labels
    │   └── test   
    │       ├── raw
    │       └── labels
    ├── experiment2                    
    │   ├── train          
    │   │   ├── raw
    │   │   └── labels
    │   └── test   
    │       ├── raw
    │       └── labels
    └── ...
```python
train_it = MultiChannelIterator(dataset_file_path = file_path, channel_keywords = ["/raw", "/labels"], group_keyword="train")
test_it = MultiChannelIterator(dataset_file_path = file_path, channel_keywords = ["/raw", "/labels"], group_keyword="test")
```
# Image formats
- Those iterators are using an object of class `DatasetIO` to access the data.
- There is currently an implementation of DatasetIO for .h5 files (`H5pyIO`), as well as dataset composed of multiple images files supported by PILLOW (`MultipleFileIO`).
- one can also concatenate datasets from different files:
  - if a dataset is split into several files that contain the same channels: use `ConcatenateDatasetIO`
  - if a dataset contains channels in different files, use: `MultipleDatasetIO`

# Demo
See this notebook for a demo: [![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1J-UPivwyNTpyLhOMfzhfG0pIl6gDD9I5)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jeanollion/dataset_iterator.git",
    "name": "dataset-iterator",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3",
    "maintainer_email": null,
    "keywords": "Iterator, Dataset, Image, Numpy",
    "author": "Jean Ollion",
    "author_email": "jean.ollion@polytechnique.org",
    "download_url": "https://files.pythonhosted.org/packages/c1/58/0192c24bbc1dbccc21185ad7337a338cc32c0ec033921ac8003f2bf01e91/dataset_iterator-0.5.0.tar.gz",
    "platform": null,
    "description": "# Dataset Iterator\nThis repo contains keras iterator classes for multi-channel (time-lapse) images contained in dataset files such as hdf5.\n\n## Dataset structure:\nOne dataset file can contain several sub-datasets (dataset_name0, dataset_name1, etc...), the iterator will iterate through all of them as if they were concatenated.\n\n    .\n    \u251c\u2500\u2500 ...\n    \u251c\u2500\u2500 dataset_name0                    \n    \u2502   \u251c\u2500\u2500 channel0          \n    \u2502   \u2514\u2500\u2500 channel1   \n    \u2502   \u2514\u2500\u2500 ...\n    \u251c\u2500\u2500 dataset_name1                    \n    \u2502   \u251c\u2500\u2500 channel0          \n    \u2502   \u2514\u2500\u2500 channel1   \n    \u2502   \u2514\u2500\u2500 ...\n    \u2514\u2500\u2500 ...\n\nEach dataset contain channels (channel0, channel1 ...) that must have same shape. All datasets must have the same number of channels, and shape (except batch size) must be equal among datasets.\n\n## Groups\n\nThere can be more folder level, for instance to have train and test sets in the same file:\n\n    .\n    \u251c\u2500\u2500 ...\n    \u251c\u2500\u2500 experiment1                    \n    \u2502   \u251c\u2500\u2500 train          \n    \u2502   \u2502   \u251c\u2500\u2500 raw\n    \u2502   \u2502   \u2514\u2500\u2500 labels\n    \u2502   \u2514\u2500\u2500 test   \n    \u2502       \u251c\u2500\u2500 raw\n    \u2502       \u2514\u2500\u2500 labels\n    \u251c\u2500\u2500 experiment2                    \n    \u2502   \u251c\u2500\u2500 train          \n    \u2502   \u2502   \u251c\u2500\u2500 raw\n    \u2502   \u2502   \u2514\u2500\u2500 labels\n    \u2502   \u2514\u2500\u2500 test   \n    \u2502       \u251c\u2500\u2500 raw\n    \u2502       \u2514\u2500\u2500 labels\n    \u2514\u2500\u2500 ...\n```python\ntrain_it = MultiChannelIterator(dataset_file_path = file_path, channel_keywords = [\"/raw\", \"/labels\"], group_keyword=\"train\")\ntest_it = MultiChannelIterator(dataset_file_path = file_path, channel_keywords = [\"/raw\", \"/labels\"], group_keyword=\"test\")\n```\n# Image formats\n- Those iterators are using an object of class `DatasetIO` to access the data.\n- There is currently an implementation of DatasetIO for .h5 files (`H5pyIO`), as well as dataset composed of multiple images files supported by PILLOW (`MultipleFileIO`).\n- one can also concatenate datasets from different files:\n  - if a dataset is split into several files that contain the same channels: use `ConcatenateDatasetIO`\n  - if a dataset contains channels in different files, use: `MultipleDatasetIO`\n\n# Demo\nSee this notebook for a demo: [![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1J-UPivwyNTpyLhOMfzhfG0pIl6gDD9I5)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Keras-style data iterator for images contained in dataset files such as hdf5 or PIL readable files. Images can be contained in several files.",
    "version": "0.5.0",
    "project_urls": {
        "Download": "https://github.com/jeanollion/dataset_iterator/releases/download/v0.5.0/dataset_iterator-0.5.0.tar.gz",
        "Homepage": "https://github.com/jeanollion/dataset_iterator.git"
    },
    "split_keywords": [
        "iterator",
        " dataset",
        " image",
        " numpy"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c3cba8f2839a28d3e03e0a6dd423deef87614493d267ed82b1c81b21f644f843",
                "md5": "c1244f4a5df568fe4027b7e639dcf0e7",
                "sha256": "aa99e260dad154fc20b6b6817b911574997dc01b195c726d85230cd402d5ecc1"
            },
            "downloads": -1,
            "filename": "dataset_iterator-0.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c1244f4a5df568fe4027b7e639dcf0e7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3",
            "size": 67852,
            "upload_time": "2024-08-27T09:35:21",
            "upload_time_iso_8601": "2024-08-27T09:35:21.428735Z",
            "url": "https://files.pythonhosted.org/packages/c3/cb/a8f2839a28d3e03e0a6dd423deef87614493d267ed82b1c81b21f644f843/dataset_iterator-0.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c1580192c24bbc1dbccc21185ad7337a338cc32c0ec033921ac8003f2bf01e91",
                "md5": "e7ec0597e992aca1a4ac68faa8a8bb7f",
                "sha256": "a25dd7eb9d6627926da0c77a73729ee458077e0534a8c3fbad7d9de4ff7382a6"
            },
            "downloads": -1,
            "filename": "dataset_iterator-0.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e7ec0597e992aca1a4ac68faa8a8bb7f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3",
            "size": 59596,
            "upload_time": "2024-08-27T09:35:22",
            "upload_time_iso_8601": "2024-08-27T09:35:22.680084Z",
            "url": "https://files.pythonhosted.org/packages/c1/58/0192c24bbc1dbccc21185ad7337a338cc32c0ec033921ac8003f2bf01e91/dataset_iterator-0.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-27 09:35:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jeanollion",
    "github_project": "dataset_iterator",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "dataset-iterator"
}
        
Elapsed time: 0.32649s