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
Freeze your objects in python

gelidum Freeze your objects in python. Latin English Caelum est hieme frigidum et gelidum; myrtos oleas quaeque alia assiduo tepore laetantur, asperna

Diego J. 51 Dec 22, 2022
Rofi script to minimize / unminimize multiple windows in qtile

Qminimize Rofi script to minimize / unminimize multiple windows in qtile Additional requirements : EWMH module fuzzywuzzy module How to use it : - Clo

9 Sep 18, 2022
VHDL to Discrete Logic on PCB Flow

PCBFlow Highly experimental set of scripts to transform a digital circuit described in a hardware description language (VHDL or Verilog) into a discre

Tim 77 Nov 04, 2022
Prometheus exporter for Spigot accounts

SpigotExporter Prometheus exporter for Spigot accounts What it provides SpigotExporter will output metrics for each of your plugins and a cumulative d

Jacob Bashista 5 Dec 20, 2021
Sikulix with Ubuntu Calculator Automation

CalculatorAutomation Sikulix with Ubuntu Calculator Automation STEP 1: DOWNLOAD and INSTALL SIKULIX https://raiman.github.io/SikuliX1/downloads.html T

Bedirhan Sayakci 2 Oct 27, 2021
🤞 Website-Survival-Detection

- 🤞 Website-Survival-Detection It can help you to detect the survival status of the website in batches and return the status code! - 📜 Instructions

B0kd1 4 Nov 14, 2022
Explores the python bytecode, provides some tools to access it for fun and profit.

Pyasmtools - looking at the python bytecode for fun and profit. The pyasmtools library is made up of two parts A python bytecode disassembler . See Py

Michael Moser 299 Jan 04, 2023
Vita Specific Patches and Application for Doki Doki Literature Club (Steam Version) using Ren'Py PSVita

Doki-Doki-Literature-Club-Vita Vita Specific Patches and Application for Doki Doki Literature Club (Steam Version) using Ren'Py PSVita Contains: Modif

Jaylon Gowie 25 Dec 30, 2022
Windows Task Manager with special features, written in Python.

Killer That damn Chrome ⬇ Download here · 👋 Join our discord Tired of trying to kill processes with the default Windows Task Manager? Selecting one b

Nathan Araújo 49 Jan 03, 2023
This repo contains scripts that add functionality to xbar.

xbar-custom-plugins This repo contains scripts that add functionality to xbar. Usage You have to add scripts to xbar plugin folder. If you don't find

osman uygar 1 Jan 10, 2022
PyCASCLib: CASC interface for Warcraft III

PyCASCLib CASC interface for Warcraft III. This repo provides bindings for JCASC: https://github.com/DrSuperGood/JCASC Installation Jdk is required fo

2 Jun 04, 2022
Unzip Japanese Shift-JIS zip archives on non-Japanese systems.

Unzip JP GUI Unzip Japanese Shift-JIS zip archives on non-Japanese systems. This script unzips the file while converting the file names from Shift-JIS

Emile Bangma 9 Dec 07, 2022
API to summarize input text

summaries API to summarize input text normal run $ docker-compose exec web python -m pytest disable warnings $ docker-compose exec web python -m pytes

Brad 1 Sep 08, 2021
Automated Birthday Wisher built using Python

Automated Birthday Wisher This Automation of wishing Birthday is achieved using Python. Never forget to wish birthday! Table of contents Overview Scre

yashviradia 1 Nov 29, 2021
A redesign of our previous Python World Cup, aiming to simulate the 2022 World Cup all the way from the qualifiers

A redesign of our previous Python World Cup, aiming to simulate the 2022 World Cup all the way from the qualifiers. This new version is designed to be more compact and more efficient and will reflect

Sam Counsell 1 Jan 07, 2022
36 key ergo split keyboard, designed around the Seeeduino Xiao platform

Slice36 Minimalist Split Keyboard 36 key ergo split keyboard, designed around the Seeeduino Xiao platform. Inspired by the Corne, Ferris, Ben Vallack'

54 Dec 21, 2022
Now you'll never be late for your Webinars or Meetings on the GoToWebinar Platform

GoToWebinar Launcher : Now you'll never be late for your Webinars or Meetings on the GoToWebinar Platform About Are you popular for always being late

Jay Thorat 6 Jun 07, 2022
Сервис служит прокси между cервисом регистрации ошибок платформы и системой сбора ошибок Sentry

Sentry Reg Service Сервис служит прокси между Cервисом регистрации ошибок платформы и системой сбора ошибок Sentry. Как развернуть Sentry onpremise. С

Ingvar Vilkman 13 May 24, 2022
InfiniPy has some neat features - like the endpoint for function

InfiniPy has some neat features - like the endpoint for function

ZeroTwo 7 Nov 20, 2022
Simple AoC helper program you can use to develop your own solutions in python.

AoC-Compabion Simple AoC helper program you can use to develop your own solutions in python. Simply install it in your python environment using pip fr

Alexander Vollmer 1 Dec 20, 2021