Interfaces between napari and pymeshlab library to allow import, export and construction of surfaces.

Overview

napari-pymeshlab

License PyPI Python Version tests codecov napari hub

Interfaces between napari and the pymeshlab library to allow import, export and construction of surfaces.

This is a WIP and feature requests are welcome. Please check PyMeshLab for possible features

Feature list


Installation

You can install napari-pymeshlab via pip:

pip install napari-pymeshlab

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the MIT license, "napari-pymeshlab" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

You might also like...
Blender addon, import and update mixamo animation

This is a blender addon for import and update mixamo animations.

 YBlade - Import QBlade blades into Fusion 360
YBlade - Import QBlade blades into Fusion 360

YBlade - Import QBlade blades into Fusion 360 Simple script for Fusion 360 that takes QBlade blade description and constructs the blade: Usage First,

Why write code when you can import it directly from GitHub Copilot?

Copilot Importer Why write code when you can import it directly from GitHub Copilot? What is Copilot Importer? The copilot python module will dynamica

Blender addon to import images as meshes
Blender addon to import images as meshes

ImagesAsMesh Blender addon to import images as meshes. Inspired by: ImagesAsPlanes Installation It's like just about every other Blender addon. Downlo

Import Apex legends mprt files exported from Legion
Import Apex legends mprt files exported from Legion

Apex-mprt-importer-for-Blender Import Apex legends mprt files exported from Legion. REQUIRES CAST IMPORTER Usage: Use a VPK extracter to extract the m

Voldemort's Python import helper

importmagician Voldemort's Python import helper pip install importmagician Import from uninstalled Python directories Say you have a directory (relat

It is convenient to quickly import Python packages from the network.

It is convenient to quickly import Python packages from the network.

Import some key/value data to Prometheus custom-built Node Exporter in Python
Import some key/value data to Prometheus custom-built Node Exporter in Python

About the app In one particilar project, i had to import some key/value data to Prometheus. So i have decided to create my custom-built Node Exporter

A python package for batch import of resume attachments to be parsed in HrFlow.

HrFlow Importer Description A python package for batch import of resume attachments to be parsed in HrFlow. hrflow-importer is an open-source project

Comments
  • Calling the reader

    Calling the reader

    First of all, thanks for the plugin.

    I have an obj surface that I want to import and visualize in napari, however, I tried:

    from napari_pymeshlab import get_mesh_reader
    surface = ("E:/3D-Edited.obj")
    viewer.add_surface(get_mesh_reader(surface), name='surface')
    

    But I got the following error:

    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
    Input In [3], in <module>
    ----> 1 viewer.add_surface(get_mesh_reader(surface), name='surface')
    
    File ~\.conda\envs\bio11\lib\site-packages\napari\components\viewer_model.py:4, in add_surface(self, data, colormap, contrast_limits, gamma, name, metadata, scale, translate, rotate, shear, affine, opacity, blending, shading, visible, cache, experimental_clipping_planes, wireframe, normals)
          1 from __future__ import annotations
          3 import inspect
    ----> 4 import itertools
          5 import os
          6 import warnings
    
    File ~\.conda\envs\bio11\lib\site-packages\napari\layers\surface\surface.py:169, in Surface.__init__(self, data, colormap, contrast_limits, gamma, name, metadata, scale, translate, rotate, shear, affine, opacity, blending, shading, visible, cache, experimental_clipping_planes, wireframe, normals)
        145 def __init__(
        146     self,
        147     data,
       (...)
        166     normals=None,
        167 ):
    --> 169     ndim = data[0].shape[1]
        171     super().__init__(
        172         data,
        173         ndim,
       (...)
        185         experimental_clipping_planes=experimental_clipping_planes,
        186     )
        188     self.events.add(
        189         interpolation=Event,
        190         rendering=Event,
        191         shading=Event,
        192     )
    
    TypeError: 'function' object is not subscriptable
    C:\Users\Linux\.conda\envs\bio11\lib\site-packages\ipykernel\kernelbase.py:674: RuntimeWarning: coroutine 'InProcessKernel._abort_queues' was never awaited!`
    

    I know is a newbie question.

    Thanks in advance for your help.

    opened by EdwinHernandezG 5
  • Add functions for smoothing surfaces and measuring Gaussian curvature

    Add functions for smoothing surfaces and measuring Gaussian curvature

    Hi Zach @zacsimile ,

    I'm just sending a PR with some functionality. I had developed it in another plugin, but not published. I think these functions would fit well here.

    • convex_hull
    • laplacian_smooth
    • taubin_smooth
    • simplification_clustering_decimation
    • colorize_curvature_apss

    Furthermore, I'm suggesting to change the license of your plugin to GPL, because pymeshlab is licensed GPL. So we kind of have to use GPL as well. :-/ https://github.com/cnr-isti-vclab/PyMeshLab/blob/master/LICENSE

    Please let me know what you think!

    Best, Robert

    opened by haesleinhuepf 4
  • napari-hub website lacks documentation

    napari-hub website lacks documentation

    Hi @zacsimile ,

    the napari-hub page of the plugin lacks documentation. If you delete .napari/description.md and push an update to pypi, then the readme.md will be shown.

    If you're busy, I'm happy to send a PR :-)

    Best, Robert

    opened by haesleinhuepf 3
  • fix link to screenshot

    fix link to screenshot

    Hi @zacsimile ,

    this should fix the broken link to the image on the napari hub. It's always good if the screenshots are visible ;-)

    closes #3

    Also for fixing this, a deployment to pypi is necessary.

    Thanks! Robert

    opened by haesleinhuepf 0
Releases(v0.0.5)
Owner
Zach Marin
Zach Marin
An Agora Python Flask token generation server

A Flask Starter Application with Login and Registration About A token generation Server using the factory pattern and Blueprints. A forked stripped do

Nii Ayi 1 Jan 21, 2022
Architectural Patterns implementation by using notification handler module prototype

This repository covers singleton, indirection, factory, adaptor, mediator patterns in python language by using university hypothetical notification module prototype. The code is just for demonstratin

Muhammad Umair 2 Jan 08, 2022
Functional interface for concurrent futures, including asynchronous I/O.

Futured provides a consistent interface for concurrent functional programming in Python. It wraps any callable to return a concurrent.futures.Future,

A. Coady 11 Nov 27, 2022
High-level bindings to the Valhalla framework.

Valhalla for Python This spin-off project simply offers improved Python bindings to the fantastic Valhalla project. Installation pip install valhalla

GIS • OPS 20 Dec 13, 2022
A silly RPG(Not MMO) made in python

Project_PyMMo A silly RPG(Not MMO) made in python, FOR WINDOWS 10 ONLY! Hello tester, to install pymmo follow the steps bellow: 1.First install python

0 Feb 08, 2022
A minimalist starknet amm adapted from StarkWare's amm.

viscus • A minimalist starknet amm adapted from StarkWare's amm. Directory Structure contracts

Alucard 4 Dec 27, 2021
Rock-paper-scissors basic game in terminal with Python

piedra-papel-tijera Juego básico de piedra, papel o tijera en terminal con Python. El juego incluye: Nombre de jugador Número de veces a jugar Resulta

Isaías Flores 1 Dec 14, 2021
List of short Codeforces problems with a statement of 1000 characters or less. Python script and data files included.

Shortest problems on Codeforces List of Codeforces problems with a short problem statement of 1000 characters or less. Sorted for each rating level. B

32 Dec 24, 2022
Repository, with small useful and functional applications

Repositorio,com pequenos aplicativos uteis e funcionais A ideia e ir deselvolvendo pequenos aplicativos funcionais e adicionar a este repositorio List

GabrielDuke 6 Dec 06, 2021
Convert Roman numerals to modern numerals and vice-versa

Roman Numeral Conversion Utilities This is a utility module for converting from and to Roman numerals. It supports numbers upto 3,999,999, using the v

Fictive Kin 1 Dec 17, 2021
Blender 2.80+ Timelapse Capture Tool Addon

SimpleTimelapser Blender 2.80+ Timelapse Capture Tool Addon Developed for Blender 3.0.0, tested working on 2.80.0 It's no ZBrush undo history but it's

4 Jan 19, 2022
AIO solution for SSIS students

ssis.bit AIO solution for SSIS students Hardware CircuitPython supports more than 200 different boards. Locally available is the TTGO T8 ESP32-S2 ST77

3 Jun 05, 2022
1st Online Python Editor With Live Syntax Checking and Execution

PythonBuddy 🖊️ 🐍 Online Python 3 Programming with Live Pylint Syntax Checking! Usage Fetch from repo: git clone https://github.com/ethanchewy/Python

Ethan Chiu 255 Dec 23, 2022
An execution framework for systematic strategies

WAGMI is an execution framework for systematic strategies. It is very much a work in progress, please don't expect it to work! Architecture The Django

Rich Atkinson 10 Mar 28, 2022
Compress .dds file in ggpk to boost fps. This is a python rewrite of PoeTexureResizer.

PoeBooster Compress .dds file in ggpk to boost fps. This is a python rewrite of PoeTexureResizer. Setup Install ImageMagick-7.1.0. Download and unzip

3 Sep 30, 2022
NeurIPS'19: Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting (Pytorch implementation for noisy labels).

Meta-Weight-Net NeurIPS'19: Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting (Official Pytorch implementation for noisy labels). The

243 Jan 03, 2023
Aplicação que envia regularmente um email ao utilizador com todos os filmes disponíveis no cartaz dos cinemas Nos.

Cartaz-Cinemas-Nos Aplicação que envia regularmente uma notificação ao utilizador com todos os filmes disponíveis no cartaz dos cinemas Nos. Só funcio

Cavalex 1 Jan 09, 2022
🟥This is an overview of how to set up and use DataStore3 in your Roblox experiences

Welcome to DataStore3 👋 This is an overview of how to set up and use DataStore3 in your Roblox experiences What is it? 🤔 DataStore3 is a service tha

Reece Harris 7 Aug 19, 2022
Tools to convert SQLAlchemy models to Pydantic models

Pydantic-SQLAlchemy Tools to generate Pydantic models from SQLAlchemy models. Still experimental. How to use Quick example: from typing import List f

Sebastián Ramírez 893 Dec 29, 2022