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
Script to automate the scanning of "old printed photos"

photoscanner Script to automate the scanning of "old printed photos" Just run: ./scan_photos.py The script is prepared to be run by fades. Otherw

Facundo Batista 2 Jan 21, 2022
A flexible free and unlimited python tool to translate between different languages in a simple way using multiple translators.

deep-translator Translation for humans A flexible FREE and UNLIMITED tool to translate between different languages in a simple way using multiple tran

Nidhal Baccouri 806 Jan 04, 2023
Team Curie is a group of people working together to achieve a common aim

Team Curie is a group of people working together to achieve a common aim. We are enthusiasts!.... We are setting the pace!.... We offer encouragement and motivation....And we believe TeamWork makes t

4 Aug 07, 2021
Writeup of NilbinSec's participation in the Winja CTF for c0c0n 2021

Winja-CTF-c0c0n-2021-Writeup NilbinSec's participation in the Winja CTF for c0c0n 2021 This repo covers NilbinSec's participation in the Winja CTF dur

1 Nov 15, 2021
Tips that improve your life in one way or another

Tips that improve your life in one way or another. This software downloads life tips from reddit.com/r/LifeProTips and tweet the most upvoted tips on Twitter.

Burak Tokman 2 Aug 04, 2022
Driving lessons made simpler. Custom scheduling API built with Python.

NOTE This is a mirror of a GitLab repository. Dryvo Dryvo is a unique solution for the driving lessons industry. Our aim is to save the teacher’s time

Adam Goldschmidt 595 Dec 05, 2022
Цифрова збрoя проти xуйлoвської пропаганди.

Паляниця Цифрова зброя проти xуйлoвської пропаганди. Щоб негайно почати шкварити рашистські сайти – мерщій у швидкий старт! ⚡️ А коли ворожі сервери в

8 Mar 22, 2022
Process GPX files (adding sensor metrics, uploading to InfluxDB, etc.) exported from imxingzhe.com

Xingzhe GPX Processor 行者轨迹处理工具 Xingzhe sells cheap GPS bike meters with sensor support including cadence, heart rate and power. But the GPX files expo

Shengqi Chen 8 Sep 23, 2022
Batch generate asset browser previews

When dealing with hundreds of library files it becomes tedious to mark their contents as assets. Using python to automate the process is a perfect fit

54 Dec 24, 2022
A fast python implementation of DTU MVS 2014 evaluation

DTUeval-python A python implementation of DTU MVS 2014 evaluation. It only takes 1min for each mesh evaluation. And the gap between the two implementa

82 Dec 27, 2022
This is a Python program I wrote to simulate the solar system with 79 lines of code.

Solar System With Python This is a Python program I wrote to simulate the solar system with 79 lines of code. Required modules tkinter, math, time Why

Mehmet Aydoğmuş 1 Oct 26, 2021
Sudoku solver using backtracking

Sudoku solver Sudoku solver using backtracking Basically in sudoku, we want to be able to solve a sudoku puzzle given an input like this, which repres

Kylie 99 Jan 07, 2023
This is a Python 3.10 port of mock, a library for manipulating human-readable message strings.

This is a Python 3.10 port of mock, a library for manipulating human-readable message strings.

Alexander Bartolomey 1 Dec 31, 2021
Earth centric orbit propagation tool. Built from scratch in python.

Orbit-Propogator Earth centric orbit propagation tool. Built from scratch in python. Functionality includes: tracking sattelite location over time plo

Adam Klein 1 Mar 13, 2022
A basic ticketing software.

Ticketer A basic ticketing software. Screenshots Program Launched Issuing Ticket Show your Ticket Entry Done Program Exited Code Features to implement

Samyak Jain 2 Feb 10, 2022
Python API for HotBits random data generator

HotBits Python API Python API for HotBits random data generator. Description This project is random data generator. It uses is HotBits API web service

Filip Š 2 Sep 11, 2020
Python with braces. Because Python is awesome, but whitespace is awful.

Bython Python with braces. Because Python is awesome, but whitespace is awful. Bython is a Python preprosessor which translates curly brackets into in

1 Nov 04, 2021
New multi tool im making adding features currently

Emera Multi Tool New multi tool im making adding features currently Current List of Planned Features - Linkvertise Bypasser - Discord Auto Bump - Gith

Lamp 3 Dec 03, 2021
Insert a Spotify Playlist, Get a list of YouTube URLs from it.

spotbee This is a module that spits out YouTube URLs from Spotify Playlist URLs Why use this? It is asynchronous which makes it compatible to use with

Nishant Sapkota 10 Apr 06, 2022
Python Project For Beginner

Basic-Vitrual-AI-Assistant Python Project For Beginner Hey There, I had manipulated Selenium WebDriver to make this assistant. I hope, It will be help

Maruf Billah 13 Dec 12, 2022