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)
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
Metaflow is a human-friendly Python/R library that helps scientists and engineers build and manage real-life data science projects

Metaflow Metaflow is a human-friendly Python/R library that helps scientists and engineers build and manage real-life data science projects. Metaflow

Netflix, Inc. 6.3k Jan 03, 2023
An open-source application for biological image analysis

CellProfiler is a free open-source software designed to enable biologists without training in computer vision or programming to quantitatively measure

CellProfiler 734 Jan 08, 2023
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

Jon C Cline 0 Sep 05, 2021
CoCalc: Collaborative Calculation in the Cloud

logo CoCalc Collaborative Calculation and Data Science CoCalc is a virtual online workspace for calculations, research, collaboration and authoring do

SageMath, Inc. 1k Dec 29, 2022
Incubator for useful bioinformatics code, primarily in Python and R

Collection of useful code related to biological analysis. Much of this is discussed with examples at Blue collar bioinformatics. All code, images and

Brad Chapman 560 Dec 24, 2022
Program that estimates antiderivatives utilising Maclaurin series.

AntiderivativeEstimator Program that estimates antiderivatives utilising Maclaurin series. Setup: Needs Python 3 and Git installed and added to PATH.

James Watson 3 Aug 04, 2021
collection of interesting Computer Science resources

collection of interesting Computer Science resources

Kirill Bobyrev 137 Dec 22, 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
Book on Julia for Data Science

Book on Julia for Data Science

Julia Data Science 349 Dec 25, 2022
SeqLike - flexible biological sequence objects in Python

SeqLike - flexible biological sequence objects in Python Introduction A single object API that makes working with biological sequences in Python more

186 Dec 23, 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
Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Aesara

PyMC3 is a Python package for Bayesian statistical modeling and Probabilistic Machine Learning focusing on advanced Markov chain Monte Carlo (MCMC) an

PyMC 7.2k Dec 30, 2022
Efficient Python Tricks and Tools for Data Scientists

Why efficient Python? Because using Python more efficiently will make your code more readable and run more efficiently.

Khuyen Tran 944 Dec 28, 2022
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
3D medical imaging reconstruction software

InVesalius InVesalius generates 3D medical imaging reconstructions based on a sequence of 2D DICOM files acquired with CT or MRI equipments. InVesaliu

443 Jan 01, 2023
Discontinuous Galerkin finite element method (DGFEM) for Maxwell Equations

DGFEM Maxwell Equations Discontinuous Galerkin finite element method (DGFEM) for Maxwell Equations. Work in progress. Currently, the 1D Maxwell equati

Rafael de la Fuente 9 Aug 16, 2022
ckan 3.6k Dec 27, 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
Data intensive science for everyone.

InVesalius InVesalius generates 3D medical imaging reconstructions based on a sequence of 2D DICOM files acquired with CT or MRI equipments. InVesaliu

Galaxy Project 1k Jan 08, 2023