{"name":"napari-shape-odyssey","display_name":"shape odyssey","visibility":"public","icon":"","categories":[],"schema_version":"0.2.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-shape-odyssey.get_reader","title":"Open data with shape odyssey","python_name":"napari_shape_odyssey._reader:napari_get_reader","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-shape-odyssey.write_single_image","title":"Save image data with shape odyssey","python_name":"napari_shape_odyssey._writer:write_single_image","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-shape-odyssey.make_sample_data","title":"Load sample data from shape odyssey","python_name":"napari_shape_odyssey._sample_data:make_sample_data","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-shape-odyssey.unwrapping_sphere","title":"Unwrap surface into sphere","python_name":"napari_shape_odyssey._unwrapping.unwrap:map_surface_to_sphere","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-shape-odyssey.unwrapping_disk","title":"Unwrap surface into disk","python_name":"napari_shape_odyssey._unwrapping.unwrap:map_surface_to_disk","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-shape-odyssey.mercator_projection","title":"Mercator projection","python_name":"napari_shape_odyssey._unwrapping.projections:mercator_projection","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-shape-odyssey.shape_fingerprint_spectral","title":"Spectral shape analysis","python_name":"napari_shape_odyssey._spectral:_shape_fingerprint","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-shape-odyssey.heat_kernel_signature","title":"Heat kernel signature","python_name":"napari_shape_odyssey._signatures.signatures:_heat_kernel_signature","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-shape-odyssey.wave_kernel_signature","title":"Wave kernel signature","python_name":"napari_shape_odyssey._signatures.signatures:_wave_kernel_signature","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-shape-odyssey.landmark_widget","title":"Show shape correspondencens","python_name":"napari_shape_odyssey._signatures.landmarks:CorrespondenceWidget","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":[{"command":"napari-shape-odyssey.get_reader","filename_patterns":["*.obj","*.stl","*.off","*.ply","*.vtk","*.vtp"],"accepts_directories":false}],"writers":[{"command":"napari-shape-odyssey.write_multiple","layer_types":["image*","labels*"],"filename_extensions":[],"display_name":""},{"command":"napari-shape-odyssey.write_single_image","layer_types":["image"],"filename_extensions":[".npy"],"display_name":""}],"widgets":[{"command":"napari-shape-odyssey.shape_fingerprint_spectral","display_name":"Spectral shape analysis","autogenerate":true},{"command":"napari-shape-odyssey.heat_kernel_signature","display_name":"Heat kernel signature","autogenerate":true},{"command":"napari-shape-odyssey.wave_kernel_signature","display_name":"Wave kernel signature","autogenerate":true},{"command":"napari-shape-odyssey.landmark_widget","display_name":"Show shape correspondencens","autogenerate":false},{"command":"napari-shape-odyssey.unwrapping_sphere","display_name":"Unwrap surface into sphere","autogenerate":true},{"command":"napari-shape-odyssey.unwrapping_disk","display_name":"Unwrap surface into disk","autogenerate":true},{"command":"napari-shape-odyssey.mercator_projection","display_name":"Mercator projection","autogenerate":true}],"sample_data":[{"command":"napari-shape-odyssey.make_sample_data","key":"unique_id.1","display_name":"shape odyssey"}],"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.1","name":"napari-shape-odyssey","version":"0.0.1","dynamic":null,"platform":null,"supported_platform":null,"summary":"Analyze shapes of meshes","description":"# napari-shape-odyssey\n\n[![License BSD-3](https://img.shields.io/pypi/l/napari-shape-odyssey.svg?color=green)](https://github.com/jo-mueller/napari-shape-odyssey/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-shape-odyssey.svg?color=green)](https://pypi.org/project/napari-shape-odyssey)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-shape-odyssey.svg?color=green)](https://python.org)\n[![tests](https://github.com/jo-mueller/napari-shape-odyssey/workflows/tests/badge.svg)](https://github.com/jo-mueller/napari-shape-odyssey/actions)\n[![codecov](https://codecov.io/gh/jo-mueller/napari-shape-odyssey/branch/main/graph/badge.svg)](https://codecov.io/gh/jo-mueller/napari-shape-odyssey)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-shape-odyssey)](https://napari-hub.org/plugins/napari-shape-odyssey)\n\nAnalyze shapes of meshes: This plugin provides advanced measures of shape for meshes. It is based largely on the following libraries and tools:\n\n* [PyFM](https:/github.com/robinmagnet/pyfm)\n* [boundary-first-flattening](https://github.com/GeometryCollective/boundary-first-flattening)\n\n## Shape analysis\n\nThis plugin provides Laplace spectra ([Reuter, Wolter, Peinecke (2005)](https://dl.acm.org/doi/abs/10.1145/1060244.1060256)), heat kernel signatures ([Bronstein & Kokkinos (2010)](https://ieeexplore.ieee.org/abstract/document/5539838/)) & wave kernel signatures ([Audrey, Schlickewei, Cremers et al.](https://ieeexplore.ieee.org/abstract/document/6130444)).\n\n**Laplace spectra** can be imagined to be the equivalent of resonance modes on the surface of a mesh. The resonance and the resonance modes can, for typical objects, look like this:\n\n![](docs/imgs/Eigenvalues.gif)\n\n** Heat kernel signatures**: Heat dissipation on a mesh depends on local geometry. You can use the heat kernel signature to easily generate a large number of local features of shape\n\n![](./docs/imgs/heat_kernel_signature.gif)\n\n## Unwrapping\n\nThis plugin provides a number of methods to unwrap a mesh into basic shapes such as spheres or disks. The method relies on [boundary-first flattening](https://github.com/GeometryCollective/boundary-first-flattening) - currently it's only available on Windows.\n\n![](./docs/imgs/unwrap_to_sphere.png)\n\n\n\n----------------------------------\n\nThis [napari] plugin was generated with [Cookiecutter] using [@napari]'s [cookiecutter-napari-plugin] template.\n\n\n\n## Installation\n\nYou can install `napari-shape-odyssey` via [pip]:\n\n´´´bash\n pip install napari-shape-odyssey\n napari-skimage-regionprops @ git+https://github.com/jo-mueller/napari-skimage-regionprops.git\n pyFM @ git+https://github.com/RobinMagnet/pyFM.git\n´´´\n\n\n\n\n## Contributing\n\nContributions are very welcome. Tests can be run with [tox], please ensure\nthe coverage at least stays the same before you submit a pull request.\n\n## License\n\nDistributed under the terms of the [BSD-3] license,\n\"napari-shape-odyssey\" is free and open source software\n\n## Issues\n\nIf you encounter any problems, please [file an issue] along with a detailed description.\n\n[napari]: https://github.com/napari/napari\n[Cookiecutter]: https://github.com/audreyr/cookiecutter\n[@napari]: https://github.com/napari\n[MIT]: http://opensource.org/licenses/MIT\n[BSD-3]: http://opensource.org/licenses/BSD-3-Clause\n[GNU GPL v3.0]: http://www.gnu.org/licenses/gpl-3.0.txt\n[GNU LGPL v3.0]: http://www.gnu.org/licenses/lgpl-3.0.txt\n[Apache Software License 2.0]: http://www.apache.org/licenses/LICENSE-2.0\n[Mozilla Public License 2.0]: https://www.mozilla.org/media/MPL/2.0/index.txt\n[cookiecutter-napari-plugin]: https://github.com/napari/cookiecutter-napari-plugin\n\n[napari]: https://github.com/napari/napari\n[tox]: https://tox.readthedocs.io/en/latest/\n[pip]: https://pypi.org/project/pip/\n[PyPI]: https://pypi.org/\n","description_content_type":"text/markdown","keywords":null,"home_page":null,"download_url":null,"author":"Johannes Soltwedel","author_email":"johannes_richard.soltwedel@tu-dresden.de","maintainer":null,"maintainer_email":null,"license":"BSD-3-Clause","classifier":["Development Status :: 2 - Pre-Alpha","Framework :: napari","Intended Audience :: Developers","License :: OSI Approved :: BSD License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: 3.10","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["numpy","vedo","pandas","napari","napari-stress","napari-process-points-and-surfaces","tox ; extra == 'testing'","pytest ; extra == 'testing'","pytest-cov ; extra == 'testing'","pytest-qt ; extra == 'testing'","PyQt5 ; extra == 'testing'"],"requires_python":">=3.8","requires_external":null,"project_url":null,"provides_extra":["testing"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}