3D medical imaging reconstruction software

Related tags

Scienceinvesalius3
Overview

InVesalius

InVesalius generates 3D medical imaging reconstructions based on a sequence of 2D DICOM files acquired with CT or MRI equipments. InVesalius is internationalized (currently available in English, Portuguese, French, German, Spanish, Catalan, Romanian, Korean, Italian and Czech), multi-platform (GNU Linux, Windows and MacOS) and provides several tools:

  • DICOM-support including: (a) ACR-NEMA version 1 and 2; (b) DICOM version 3.0 (including various encodings of JPEG -lossless and lossy-, RLE)
  • Support to Analyze files
  • Support to BMP, PNG, JPEG and TIF files
  • Image manipulation facilities (zoom, pan, rotation, brightness/contrast, etc)
  • Segmentation based on 2D slices
  • Pre-defined threshold ranges according to tissue of interest
  • Segmentation based on watershed
  • Edition tools (similar to Paint Brush) based on 2D slices
  • Linear and angular measurement tool
  • Volume reorientation tool
  • 3D surface creation
  • 3D surface volume measurement
  • 3D surface connectivity tools
  • 3D surface exportation (including: binary and ASCII STL, PLY, OBJ, VRML, Inventor)
  • High-quality volume rendering projection
  • Pre-defined volume rendering presets
  • Volume rendering crop plane
  • Picture exportation (including: BMP, TIFF, JPG, PostScript, POV-Ray)

Development

Comments
  • Add command line options for saving and exporting

    Add command line options for saving and exporting

    Hi. I changed app.py to support saving the project when importing and also for directly exporting to STL the surface generating using all the predefined presets for the masks. This allows to automatically generate the models from the images, without using the GUI. I thought it would be useful for other people too, that's why I'm creating this PR.

    I also created a Dockerfile, so the environment can be easily replicated in any computer with Docker.

    Any suggestion regarding refactorings or the API for the command line is welcome :smile:

    btw, is there a way to use this command line options without opening a GUI? So it can be used through SSH or Docker without a display being set.

    opened by bryant1410 36
  • Failed to execute script app

    Failed to execute script app

    I tried to install Invesalius on Windows. After the setup had finished, I was able to start the program once. However, after closing it, I was not able to re-open it again. Whenever I tried to, a message saying "Failed to execute script app" pops up. Even reinstalling the program did not solve the issue. I even tried different versions of the program - the error remains. I couldn't find out anything else about it. I am using Windows 10.

    opened by simon-gunacker 35
  • Problem launching on Apple Silicon (Macbook Air M1)

    Problem launching on Apple Silicon (Macbook Air M1)

    Hi I recently downloaded and installed the latest release for ARM64, but it only shows the startup screen and then nothing happens. I even tried to install it with homebrew but i get a lot of error messages during the installation steps and Im not a programmer so i dont know how to solve the errormessages. Does anyone else got these problems with an apple silicon computer. Has anyone installed it successfully?

    Regards

    opened by ZerBas 24
  • are there some x86 packages?

    are there some x86 packages?

    hi, @tfmoraes ,

    can you support some x86 packages on windows, the Running InVesalius 3 in Windows website just x64...

    i tried to use pip(or google...) but a lot of packages can not found....

    think you.

    opened by zdpdev 16
  • Volume panel do not refresh or enable interaction after surface creation

    Volume panel do not refresh or enable interaction after surface creation

    Hi guys,

    I'm using Windows 10 x64 without with an Intel graphics card. I'm running InVesalius master branch from the source code and installed the most recent libraries as shown in the wiki page. After I import a DICOM exam, create the surface using the threshold selection, the surface appears in the Volume panel but does not allow any mouse interaction or does not update with the CrossMove. Also, when I maximize it, it does not update the view.

    In principle no errors in the command prompt, just a bunch of Deprecation Warnings.

    What might be causing it? @tfmoraes recommended to update the Graphics card driver, but it is already updated and the problem still remains.

    Thanks!

    bug 
    opened by vhosouza 13
  • Can't import specific dicom files

    Can't import specific dicom files

    I am using InVesalius 3.1 for Windows, and some dicom files work, and some don't. When I hit 'OK', it crashes and says InVesalius not responding. Any help would be greatly appreciated. I will link an example data set that doesn't work, from OSF: http://www.mediafire.com/file/5emvhl8mjl466gm/osfstorage-archive+%2821%29.zip

    opened by astandarduser 13
  • No module named 'wx'

    No module named 'wx'

    I followed the instructions, tried both with the activated my_env env and without, but getting this error.

    Trying pip install wx gives this:

    ERROR: Could not find a version that satisfies the requirement wx (from versions: none)
    ERROR: No matching distribution found for wx
    

    Linux Mint 20.2 (Ubuntu 20.04) python --version: Python 3.8.8

    opened by ghost 11
  • Program hangs indefinitely after importing NIFTI file with 'Import medical images'

    Program hangs indefinitely after importing NIFTI file with 'Import medical images'

    System: Ubuntu LTS 16.04 InVesalius 3.1.1

    Steps to reproduce:

    • Open InVesalius
    • Select 'Import medical images...' from left-side panel
    • Select a folder with .nii file that was used in NexStim navigation ssytem --> Error message appears: "There are no DICOM files in the selected folder." --> InVesalius hangs with window "Loading DICOM files"

    This message cannot be dismissed, although pressing Cancel seems to refresh the sceen. Pressing 'X' on top left of window disables the Cancel button. Attempting to close InVesalius by right clicking the task bar icon and selecting 'Close' displays a confirmation dialog, but nothing happens after that. Attempting to kill the program with '$ kill ' gets rid of the process when viewed with '$ ps', but does nothing to the program window.

    The only way to close the window is to use 'ps' to find the line 'python app.py' and kill that.

    opened by juusokorhonen 11
  • windows version, after import, panels not refresh

    windows version, after import, panels not refresh

    First thanks for sharing! I follow steps here https://github.com/invesalius/invesalius3/wiki/Running-InVesalius-3-in-Windows

    used: python3.7 Visual Studio (2017 community edition) the most recent commit

    After run python app.py, everything was ok. I can open DICOM, after click "import", the 4 panels show up, but without images. I have to use mouse to click the scroll to make the panel show images.

    The same commit on Ubuntu works fine and does not have this issue.

    Could you please help on this ? Thanks.

    opened by mit10000 11
  • Bitmap import - image squashed

    Bitmap import - image squashed

    Greetings

    i have a slice set that is 2500x1400 at 47u per pixel

    when i import it gives me a wierd squashed image in one of the axis

    can the software only import square images?

    opened by X3msnake 11
  • Problem in matching coordinates of imported surface to surface created in InVesalius

    Problem in matching coordinates of imported surface to surface created in InVesalius

    Hi guys,

    I'm having the following problem. I segmented the brain from the MRI of a subject and generated the polygonal mesh in a different combination of software. They all worked within the native MRI coordinate system.

    However, when I open the MRI and generate the head surface in InVesalius, and then import the segmented brain surface by clicking in the button in the lower left corner of the interface, the surface is rendered in a different coordinate than it should be. For example, it is outside and far from the head (while the segmented brain has to be inside the head surface generated in InVesalius).

    As far as I know, InVesalius follows the RAS+ coordinate system and all imported MRI/CT image when read as arrays goes through two coordinate transformations which are applied inside the module imagedata_utils.py in the method img2memmap in the following order:

    # data is the 3D array representing the image
    data = numpy.swapaxes(data, 0, 2)
    data = numpy.fliplr(data)
    
    

    This is a bit complicated to apply for a surface imported in the vtk polydata data. Do you have a straightforward solution? I thought about building the rotation matrices in vtk4x4Matrixand applying the transformations by vtkTransform, but in principle this would require a lot of thinking, manual working and testing.

    P.S. When I open the original MRI and segmented surface in ParaView, they both are correctly aligned. Below are prictures of paraview and InVesalius.

    Cheers!

    mri_invesalius mri_paraview

    bug question 
    opened by vhosouza 11
  • AttributeError: 'SingleImagePreview' object has no attribute 'get_vtk_mouse_position'

    AttributeError: 'SingleImagePreview' object has no attribute 'get_vtk_mouse_position'

    On starting git-latest invesalius3 I get the message (repeated):

    Traceback (most recent call last):
      File "/usr/lib/python3.10/site-packages/wx/lib/agw/aui/auibar.py", line 3510, in OnPaint
        self._art.DrawButton(dc, self, item, item_rect)
      File "/usr/lib/python3.10/site-packages/wx/lib/agw/aui/auibar.py", line 1008, in DrawButton
        bmp_rect, text_rect = self.GetToolsPosition(dc, item, rect)
      File "/usr/lib/python3.10/site-packages/wx/lib/agw/aui/auibar.py", line 1508, in GetToolsPosition
        bmp_rect = wx.Rect(bmp_x, bmp_y, bmp_width, bmp_height)
    TypeError: Rect(): arguments did not match any overloaded call:
      overload 1: too many arguments
      overload 2: argument 1 has unexpected type 'float'
      overload 3: argument 1 has unexpected type 'float'
      overload 4: argument 1 has unexpected type 'float'
      overload 5: argument 1 has unexpected type 'float'
      overload 6: argument 1 has unexpected type 'float'
    

    After loading DICOM images, I also get (repeated):

    Traceback (most recent call last):                                                                                                      
      File "/usr/lib/python3.10/site-packages/invesalius/gui/widgets/canvas_renderer.py", line 189, in OnMouseMove
        x, y = self.viewer.get_vtk_mouse_position()
    AttributeError: 'SingleImagePreview' object has no attribute 'get_vtk_mouse_position'
    

    The application still functions(!). I was able to import a set of CT images and export to stl, but there are gui drawing issues. I could not change any masks. Most left side wx widgets did not appear until I manually mouse-overed the expected spots to render them. Most likely I am using too new or too old of a dependency.

    My versions are:

    $ sudo emerge sci-libs/gdcm dev-python/pyvista dev-python/imageio sci-libs/scikit-image sci-libs/nibabel dev-python/pyacvd dev-python/wxpython -pv -1
    
    These are the packages that would be merged, in reverse order:
    
    Calculating dependencies  ...... done!
    [ebuild   R    ] dev-python/wxpython-4.0.7-r4:4.0::gentoo  USE="-test -webkit" PYTHON_TARGETS="python3_10 -python3_8 -python3_9" 0 KiB
    [ebuild   R   *] dev-python/pyacvd-9999::jakeogh  PYTHON_TARGETS="python3_10 -python3_8 -python3_9" 0 KiB
    [ebuild   R    ] sci-libs/nibabel-3.2.1::science  USE="-dicom -doc -test" PYTHON_TARGETS="python3_10 -python3_8 -python3_9" 0 KiB
    [ebuild   R    ] sci-libs/scikit-image-0.19.3-r1::gentoo  USE="-test" PYTHON_TARGETS="python3_10 -python3_11" 0 KiB
    [ebuild   R    ] dev-python/pyvista-0.36.1::jakeogh  PYTHON_SINGLE_TARGET="python3_10 -python3_9 (-python3_8%)" 0 KiB
    [ebuild   R    ] sci-libs/gdcm-3.0.20::jakeogh  USE="python vtk -doc -test" PYTHON_SINGLE_TARGET="python3_10 -python3_9" 0 KiB
    [ebuild   R    ] dev-python/imageio-2.23.0-r1::gentoo  USE="-test" PYTHON_TARGETS="python3_10 -python3_11" 0 KiB
    
    

    To get the above results, I had to make a minor change:

    diff --git a/invesalius/reader/dicom_reader.py b/invesalius/reader/dicom_reader.py
    index b2d6514b..69d53e9d 100644
    --- a/invesalius/reader/dicom_reader.py
    +++ b/invesalius/reader/dicom_reader.py
    @@ -25,8 +25,8 @@ from multiprocessing import cpu_count
     import gdcm
     
     # Not showing GDCM warning and debug messages
    -gdcm.Trace_DebugOff()
    -gdcm.Trace_WarningOff()
    +gdcm.Trace.DebugOff()
    +gdcm.Trace.WarningOff()
     
     import glob
     import plistlib
    

    Using python 3.10.9

    It's user error on my end, attempting to create an ebuild for gentoo.

    opened by jakeogh 1
  • How to convert invesalius3 to Exe on windows by using pyinstaller ?

    How to convert invesalius3 to Exe on windows by using pyinstaller ?

    I want to convert the invesalius3 python script to execute program on windows by using pyinstaller. But the compiled exe always flashed and crashed. Maybe you can provide the configure file to convert python to exe.

    opened by cxl2253 0
  • Unable to connect Fastrack

    Unable to connect Fastrack

    Hi I am unable to connect the Fastrack tracker. When I try it prompts me to choose the Com Port, but there it displays me no options and says the tracker cannot connect. Is there a fix for this . I am using the latest release of the software.

    opened by sn0gl0be 9
  • Problem with MRIs loading, selecting fiducials and creating markers with invesalius3 on mac

    Problem with MRIs loading, selecting fiducials and creating markers with invesalius3 on mac

    The loading of the resonance happens in a strange way, I attach screen. The software does not allow me to select fiducials and markers on the 3D surface. And if I select them on the sections sometimes the point doesn't match the right position. Also I cannot run it with python or python3 I have to run it necessarily with pythonw, why?

    Schermata 2022-11-08 alle 17 20 44 Schermata 2022-11-08 alle 17 04 11
    opened by giupier95 6
Releases(v3.1.99998)
Datamol is a python library to work with molecules

Datamol is a python library to work with molecules. It's a layer built on top of RDKit and aims to be as light as possible.

datamol 276 Dec 19, 2022
An interactive explorer for single-cell transcriptomics data

an interactive explorer for single-cell transcriptomics data cellxgene (pronounced "cell-by-gene") is an interactive data explorer for single-cell tra

Chan Zuckerberg Initiative 424 Dec 15, 2022
Statsmodels: statistical modeling and econometrics in Python

About statsmodels statsmodels is a Python package that provides a complement to scipy for statistical computations including descriptive statistics an

statsmodels 8.1k Dec 30, 2022
Wikidata scholarly profiles

Scholia is a python package and webapp for interaction with scholarly information in Wikidata. Webapp As a webapp, it currently runs from Wikimedia To

Finn Årup Nielsen 180 Dec 28, 2022
SCICO is a Python package for solving the inverse problems that arise in scientific imaging applications.

Scientific Computational Imaging COde (SCICO) SCICO is a Python package for solving the inverse problems that arise in scientific imaging applications

Los Alamos National Laboratory 37 Dec 21, 2022
Veusz scientific plotting application

Veusz 3.3.1 Veusz is a scientific plotting package. It is designed to produce publication-ready PDF or SVG output. Graphs are built-up by combining pl

Veusz 613 Dec 16, 2022
ckan 3.6k Dec 27, 2022
A modular single-molecule analysis interface

MOSAIC: A modular single-molecule analysis interface MOSAIC is a single molecule analysis toolbox that automatically decodes multi-state nanopore data

National Institute of Standards and Technology 35 Dec 13, 2022
A framework for feature exploration in Data Science

Beehive A framework for feature exploration in Data Science Background What do we do when we finish one episode of feature exploration in a jupyter no

Steven IJ 1 Jan 03, 2022
3D visualization of scientific data in Python

Mayavi: 3D visualization of scientific data in Python Mayavi docs: http://docs.enthought.com/mayavi/mayavi/ TVTK docs: http://docs.enthought.com/mayav

Enthought, Inc. 1.1k Jan 06, 2023
Doing bayesian data analysis - Python/PyMC3 versions of the programs described in Doing bayesian data analysis by John K. Kruschke

Doing_bayesian_data_analysis This repository contains the Python version of the R programs described in the great book Doing bayesian data analysis (f

Osvaldo Martin 851 Dec 27, 2022
Book on Julia for Data Science

Book on Julia for Data Science

Julia Data Science 349 Dec 25, 2022
artisan: visual scope for coffee roasters

Artisan Visual scope for coffee roasters WARNING: pre-release builds may not work. Use at your own risk. Summary Artisan is a software that helps coff

Artisan – Visual Scope for Coffee Roasters 705 Jan 05, 2023
OPEM (Open Source PEM Fuel Cell Simulation Tool)

Table of contents What is PEM? Overview Installation Usage Executable Library Telegram Bot Try OPEM in Your Browser! MATLAB Issues & Bug Reports Contr

ECSIM 133 Jan 04, 2023
ReproZip is a tool that simplifies the process of creating reproducible experiments from command-line executions, a frequently-used common denominator in computational science.

ReproZip ReproZip is a tool aimed at simplifying the process of creating reproducible experiments from command-line executions, a frequently-used comm

267 Jan 01, 2023
collection of interesting Computer Science resources

collection of interesting Computer Science resources

Kirill Bobyrev 137 Dec 22, 2022
A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

Spack Spack is a multi-platform package manager that builds and installs multiple versions and configurations of software. It works on Linux, macOS, a

Spack 3.1k Dec 31, 2022
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.

Cookiecutter Data Science A logical, reasonably standardized, but flexible project structure for doing and sharing data science work. Project homepage

6.4k Jan 02, 2023
Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code

A Python framework for creating reproducible, maintainable and modular data science code.

QuantumBlack Labs 7.9k Jan 01, 2023
CONCEPT (COsmological N-body CodE in PyThon) is a free and open-source simulation code for cosmological structure formation

CONCEPT (COsmological N-body CodE in PyThon) is a free and open-source simulation code for cosmological structure formation. The code should run on any Linux system, from massively parallel computer

Jeppe Dakin 62 Dec 08, 2022