{"id":19091964,"url":"https://github.com/allencellmodeling/quiltloader","last_synced_at":"2025-11-12T13:32:58.534Z","repository":{"id":91697870,"uuid":"126289671","full_name":"AllenCellModeling/QuiltLoader","owner":"AllenCellModeling","description":"Adding custom attributes to quilt nodes","archived":true,"fork":false,"pushed_at":"2025-10-15T22:30:15.000Z","size":11883,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-17T00:15:31.892Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AllenCellModeling.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-22T06:25:47.000Z","updated_at":"2025-10-15T22:41:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"daf14e09-b745-46d3-998c-71a14bface74","html_url":"https://github.com/AllenCellModeling/QuiltLoader","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AllenCellModeling/QuiltLoader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllenCellModeling%2FQuiltLoader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllenCellModeling%2FQuiltLoader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllenCellModeling%2FQuiltLoader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllenCellModeling%2FQuiltLoader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AllenCellModeling","download_url":"https://codeload.github.com/AllenCellModeling/QuiltLoader/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllenCellModeling%2FQuiltLoader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284045912,"owners_count":26938122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-12T02:00:06.336Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T03:17:40.576Z","updated_at":"2025-11-12T13:32:58.528Z","avatar_url":"https://github.com/AllenCellModeling.png","language":"Python","readme":"\u003e [!IMPORTANT]\n\u003e We are no longer actively maintaining this repository. All active work by the Allen Institute for Cell Science is located under the **[AllenCell](https://github.com/AllenCell)** organization.\n\n# quiltloader\n\n![image of single line fov image display](resources/single_line_display.png)\n\n## About\n\nQuiltLoader is a project to add arbitrary attributes and functions to the\ndefined [quilt](https://quiltdata.com) nodes.\nAt it's core, it is primarily defined to support AICS quilt datasets with\nnavigating and conducting analysis of the data contained in the loaded\ndataset. While the default functions and attributes added to the quiltloader\nobject are aimed to support [AICS\ndatasets](https://quiltdata.com/package/aics/), this project can work as a\ntemplate for implementing your own arbitrary attributes to your own datasets.\n\n## Installation\n\nTo install this project alone, simply:\n\n`pip install git+https://github.com/AllenCellModeling/QuiltLoader.git`\n\nIf you want to test the installation, you can additionally install\n[AICS datasets](https://quiltdata.com/package/aics/) and look to the Basic\nUsage portion of this README or follow similar steps found in the\n[explainer.ipynb](examples/explainer.ipynb).\n\n## Basic Usage\n\nTo import QuiltLoader:\n\n```Python\nfrom quiltloader import QuiltLoader\n```\n\nTo import a dataset and add the QuiltLoader defaults:\n\n```Python\ndata = QuiltLoader(\"aics/random_sample\")\n```\n\nGet Item, Iterables, Slices, and Items:\n\n```Python\nrandom_fov = data[\"fovs\"][12]\nline_names = [line[\"info\"][\"line\"] for line in data[\"lines\"]]\neven_plates = [plate for plate in data[\"plates\"][0::2]]\nfov_items = data[\"fovs\"].items()\n```\n\nTo load a TiffFile object:\n\n```Python\nimg = data[\"fovs\"][18][\"image\"]\n```\n\nTo change the default loaders:\n\n```Python\nimport tifffile\nloaders = {\"image\": tifffile.imread}\n\ndata = QuiltLoader(\"aics/random_sample\", load_functions=loaders)\n\n# [\"image\"] requests now return numpy.ndarray\nimg = data[\"fovs\"][18][\"image\"]\n```\n\nDefault loaders allow for inline continuation of data filtering:\n\n```Python\n# [\"info\"] requests return an opened json object as a dict\nassociated_fovs = data[\"lines\"][\"line_AICS_13\"][\"info\"][\"fovs\"]\n```\n\n## Default Navigation and Analysis Functions\n\nGet the known associated nodes to node the function is called on.\n\n```Python\nassociates = data[\"fovs\"][18].get_associates()\n```\n\n![object returned by get_associates](resources/get_associates.png)\n\nCollect and format all metadata files of a base node into a pandas dataframe.\n\n```Python\nall_wells = data[\"wells\"].as_dataframe()\n```\n\n![dataframe returned by as_dataframe](resources/as_dataframe.png)\n\nDisplay the best guess at valuable channels of a standard AICS image node.\n\n```Python\nfov = data[\"fovs\"][18]\nfov.display_channels()\n\n# change which channels are displayed by changing the use_channels parameter\n# fov.display_channels(use_channels=[0,3])\n```\n\n![output of default display channels](resources/display_channels.png)\n\nDisplay the best guess at valuable channels of a standard AICS image node\nstacked and converted to a single rgb image.\n\n```Python\nfov = data[\"fovs\"][18]\nfov.display_rgb(use=\"all\")\n\n# change which channels are displayed by changing the rgb_indices parameter\n# fov.display_rgb(rgb_indices=[0,1,2])\n\n# change which projection is used by changing the use parameter\n# use options: \"max\" (default), \"mean\", \"percentile\", \"all\"\n\n# change what percentile is used by changing the percentile parameter\n# percentile default: 75.0\n\n# fov.display_rgb(use=\"mean\")\n```\n\n![output of default display rgb](resources/display_rgb.png)\n\nDisplay the best guess at valuable channels of a standard AICS image node\nstacked and given slight transparency.\n\n```Python\nfov = data[\"fovs\"][18]\nfov.display_stack(use=\"all\")\n\n# change which channels are displayed by changing the use_indices parameter\n# fov.display_stack(use_indices=[0,1,2])\n\n# change which projection is used by changing the use parameter\n# use options: \"max\" (default), \"mean\", \"percentile\", \"all\"\n\n# change what percentile is used by changing the percentile parameter\n# percentile default: 75.0\n\n# fov.display_stack(use=\"mean\")\n```\n\n![output of default display stack](resources/display_stack.png)\n\n## Contact\n\nJackson Maxfield Brown\n\njacksonb@alleninstitute.org\n\n## License\n\nThis program is free software: you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the Free\nSoftware Foundation, either version 3 of the License, or (at your option)\nany later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT\nANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\nFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\nmore details.\n\nYou should have received a copy of the GNU General Public License along with\nthis program. If not, see http://www.gnu.org/licenses/.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallencellmodeling%2Fquiltloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fallencellmodeling%2Fquiltloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallencellmodeling%2Fquiltloader/lists"}