copick


Namecopick JSON
Version 0.6.0 PyPI version JSON
download
home_pageNone
SummaryDefinitions for a collaborative cryoET annotation tool.
upload_time2024-10-30 23:02:59
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT License Copyright (c) 2024 Utz Ermel Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords annotation collaborative copick cryo-et cryoet segmentation tomography
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # copick

**copick** is a cross-platform, storage-agnostic and server-less dataset API for cryoET datasets. Access to the data is
provided through an object-oriented API that abstracts away the underlying storage using the
[fsspec](https://filesystem-spec.readthedocs.io/en/latest/)-family of libraries.

## Why copick?

- **storage-agnostic**: Access data on local or shared filesystems, via SSH or on the cloud with the same API. No
    need for your own boilerplate!
- **cloud-ready**: Access image data quickly and in parallel thanks to multiscale OME-Zarr!
- **server-less**: No need for a dedicated server or database to access your data, just point **copick** to your data
    and go!
- **cross-platform**: **copick** works on any platform that supports Python. Compute on Linux, visualize on Windows or
    Mac, all with the same dataset API!
- **ecosystem**: Using the **copick** API allows visualizing and curating data in ChimeraX and Napari right away!

## Documentation

For more information, see the [documentation](https://copick.github.io/copick/).

## Installation

copick can be installed using pip. Using the `all` extra installs necessary requirements for all tested filesystem
implementations from the fsspec family (`local`, `s3fs`, `smb`, `sshfs`). Separate `s3`, `smb`, and `ssh` extras are available.

```shell
pip install "copick[all]"
```

## Example dataset

An example dataset can be obtained from [Zenodo](https://doi.org/10.5281/zenodo.11238625).

To test with the example dataset:

1. Download and unpack the example dataset
2. Add the location of the `sample_project`-directory in the unpacked dataset to `filesystem_overlay_only.json`
    ```json
    {
        "name": "test",
        "description": "A test project.",
        "version": "1.0.0",

        "pickable_objects": [
            {
                "name": "proteasome",
                "is_particle": true,
                "pdb_id": "3J9I",
                "label": 1,
                "color": [255, 0, 0, 255],
                "radius": 60,
                "map_threshold": 0.0418
            },
            {
                "name": "ribosome",
                "is_particle": true,
                "pdb_id": "7P6Z",
                "label": 2,
                "color": [0, 255, 0, 255],
                "radius": 150,
                "map_threshold": 0.037

            },
            {
                "name": "membrane",
                "is_particle": false,
                "label": 3,
                "color": [0, 0, 0, 255]
            }
        ],

        // Change this path to the location of sample_project
        "overlay_root": "local:///PATH/TO/EXTRACTED/PROJECT/",

        "overlay_fs_args": {
            "auto_mkdir": true
        }
    }
    ```

3. Start copick with the configuration file

    ```python
    from copick.impl.filesystem import CopickRootFSSpec
    root = CopickRootFSSpec.from_file('path/to/filesystem_overlay_only.json')
    ```

4. Access the data using the copick API

    ```python
    import zarr

    from copick.impl.filesystem import CopickRootFSSpec
    root = CopickRootFSSpec.from_file('path/to/filesystem_overlay_only.json')

    # Get a run by name
    run = root.get_run("TS_001")

     # Get a tomogram by name
    tomogram = run.get_voxel_spacing(10).get_tomogram("wbp")

    # Access the data
    group = zarr.open(tomogram.zarr())
    arrays = list(group.arrays())
    _, array = arrays[0]
    ```

## Code of Conduct

This project adheres to the Contributor Covenant [code of conduct](https://github.com/chanzuckerberg/.github/blob/main/CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [opensource@chanzuckerberg.com](mailto:opensource@chanzuckerberg.com).

## Reporting Security Issues

If you believe you have found a security issue, please responsibly disclose by contacting us at [security@chanzuckerberg.com](mailto:security@chanzuckerberg.com).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "copick",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "annotation, collaborative, copick, cryo-et, cryoet, segmentation, tomography",
    "author": null,
    "author_email": "\"Utz H. Ermel\" <utz.ermel@czii.org>, \"Kyle I. S. Harrington\" <kyle@kyleharrington.com>",
    "download_url": "https://files.pythonhosted.org/packages/47/c5/27d0e46994bf3280415ff75644469107724639e5f2d00f40fd9e274e7a64/copick-0.6.0.tar.gz",
    "platform": null,
    "description": "# copick\n\n**copick** is a cross-platform, storage-agnostic and server-less dataset API for cryoET datasets. Access to the data is\nprovided through an object-oriented API that abstracts away the underlying storage using the\n[fsspec](https://filesystem-spec.readthedocs.io/en/latest/)-family of libraries.\n\n## Why copick?\n\n- **storage-agnostic**: Access data on local or shared filesystems, via SSH or on the cloud with the same API. No\n    need for your own boilerplate!\n- **cloud-ready**: Access image data quickly and in parallel thanks to multiscale OME-Zarr!\n- **server-less**: No need for a dedicated server or database to access your data, just point **copick** to your data\n    and go!\n- **cross-platform**: **copick** works on any platform that supports Python. Compute on Linux, visualize on Windows or\n    Mac, all with the same dataset API!\n- **ecosystem**: Using the **copick** API allows visualizing and curating data in ChimeraX and Napari right away!\n\n## Documentation\n\nFor more information, see the [documentation](https://copick.github.io/copick/).\n\n## Installation\n\ncopick can be installed using pip. Using the `all` extra installs necessary requirements for all tested filesystem\nimplementations from the fsspec family (`local`, `s3fs`, `smb`, `sshfs`). Separate `s3`, `smb`, and `ssh` extras are available.\n\n```shell\npip install \"copick[all]\"\n```\n\n## Example dataset\n\nAn example dataset can be obtained from [Zenodo](https://doi.org/10.5281/zenodo.11238625).\n\nTo test with the example dataset:\n\n1. Download and unpack the example dataset\n2. Add the location of the `sample_project`-directory in the unpacked dataset to `filesystem_overlay_only.json`\n    ```json\n    {\n        \"name\": \"test\",\n        \"description\": \"A test project.\",\n        \"version\": \"1.0.0\",\n\n        \"pickable_objects\": [\n            {\n                \"name\": \"proteasome\",\n                \"is_particle\": true,\n                \"pdb_id\": \"3J9I\",\n                \"label\": 1,\n                \"color\": [255, 0, 0, 255],\n                \"radius\": 60,\n                \"map_threshold\": 0.0418\n            },\n            {\n                \"name\": \"ribosome\",\n                \"is_particle\": true,\n                \"pdb_id\": \"7P6Z\",\n                \"label\": 2,\n                \"color\": [0, 255, 0, 255],\n                \"radius\": 150,\n                \"map_threshold\": 0.037\n\n            },\n            {\n                \"name\": \"membrane\",\n                \"is_particle\": false,\n                \"label\": 3,\n                \"color\": [0, 0, 0, 255]\n            }\n        ],\n\n        // Change this path to the location of sample_project\n        \"overlay_root\": \"local:///PATH/TO/EXTRACTED/PROJECT/\",\n\n        \"overlay_fs_args\": {\n            \"auto_mkdir\": true\n        }\n    }\n    ```\n\n3. Start copick with the configuration file\n\n    ```python\n    from copick.impl.filesystem import CopickRootFSSpec\n    root = CopickRootFSSpec.from_file('path/to/filesystem_overlay_only.json')\n    ```\n\n4. Access the data using the copick API\n\n    ```python\n    import zarr\n\n    from copick.impl.filesystem import CopickRootFSSpec\n    root = CopickRootFSSpec.from_file('path/to/filesystem_overlay_only.json')\n\n    # Get a run by name\n    run = root.get_run(\"TS_001\")\n\n     # Get a tomogram by name\n    tomogram = run.get_voxel_spacing(10).get_tomogram(\"wbp\")\n\n    # Access the data\n    group = zarr.open(tomogram.zarr())\n    arrays = list(group.arrays())\n    _, array = arrays[0]\n    ```\n\n## Code of Conduct\n\nThis project adheres to the Contributor Covenant [code of conduct](https://github.com/chanzuckerberg/.github/blob/main/CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [opensource@chanzuckerberg.com](mailto:opensource@chanzuckerberg.com).\n\n## Reporting Security Issues\n\nIf you believe you have found a security issue, please responsibly disclose by contacting us at [security@chanzuckerberg.com](mailto:security@chanzuckerberg.com).\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2024 Utz Ermel  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "Definitions for a collaborative cryoET annotation tool.",
    "version": "0.6.0",
    "project_urls": {
        "Issues": "https://github.com/copick/copick/issues",
        "Repository": "https://github.com/copick/copick.git",
        "docs": "https://copick.github.io/copick/",
        "documentation": "https://copick.github.io/copick/"
    },
    "split_keywords": [
        "annotation",
        " collaborative",
        " copick",
        " cryo-et",
        " cryoet",
        " segmentation",
        " tomography"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2531157c9729cd6de07d51b3c7c2b79b80fc18ab58227e5b2e93e3ed9d8bee04",
                "md5": "2851b2ab887b09161c87fe862b2f95ae",
                "sha256": "0b2fb5631e5cc457751850ceae6c33488b575aefe7e90e051b0d30377334e9c8"
            },
            "downloads": -1,
            "filename": "copick-0.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2851b2ab887b09161c87fe862b2f95ae",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 32749,
            "upload_time": "2024-10-30T23:02:56",
            "upload_time_iso_8601": "2024-10-30T23:02:56.800937Z",
            "url": "https://files.pythonhosted.org/packages/25/31/157c9729cd6de07d51b3c7c2b79b80fc18ab58227e5b2e93e3ed9d8bee04/copick-0.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "47c527d0e46994bf3280415ff75644469107724639e5f2d00f40fd9e274e7a64",
                "md5": "8402535d9b2785b06041e259e7f7cd41",
                "sha256": "060720018bd3b5f599b9d407e455f58c6a6191cfcca58a792520f9e40b69bc65"
            },
            "downloads": -1,
            "filename": "copick-0.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8402535d9b2785b06041e259e7f7cd41",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 4881267,
            "upload_time": "2024-10-30T23:02:59",
            "upload_time_iso_8601": "2024-10-30T23:02:59.574351Z",
            "url": "https://files.pythonhosted.org/packages/47/c5/27d0e46994bf3280415ff75644469107724639e5f2d00f40fd9e274e7a64/copick-0.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-30 23:02:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "copick",
    "github_project": "copick",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "copick"
}
        
Elapsed time: 0.64729s