3D medical imaging reconstruction software

Related tags

Science invesalius3
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)
Owner
null
Open Delmic Microscope Software

Odemis Odemis (Open Delmic Microscope Software) is the open-source microscopy software of Delmic B.V. Odemis is used for controlling microscopes of De

Delmic 32 Dec 14, 2022
Keyhole Imaging: Non-Line-of-Sight Imaging and Tracking of Moving Objects Along a Single Optical Path

Keyhole Imaging Code & Dataset Code associated with the paper "Keyhole Imaging: Non-Line-of-Sight Imaging and Tracking of Moving Objects Along a Singl

Stanford Computational Imaging Lab 20 Feb 3, 2022
The code release of paper 'Domain Generalization for Medical Imaging Classification with Linear-Dependency Regularization' NIPS 2020.

Domain Generalization for Medical Imaging Classification with Linear Dependency Regularization The code release of paper 'Domain Generalization for Me

Yufei Wang 56 Dec 28, 2022
A medical imaging framework for Pytorch

Welcome to MedicalTorch MedicalTorch is an open-source framework for PyTorch, implementing an extensive set of loaders, pre-processors and datasets fo

Christian S. Perone 799 Jan 3, 2023
Useful materials and tutorials for 110-1 NTU DBME5028 (Application of Deep Learning in Medical Imaging)

Useful materials and tutorials for 110-1 NTU DBME5028 (Application of Deep Learning in Medical Imaging)

null 7 Jun 22, 2022
Official Keras Implementation for UNet++ in IEEE Transactions on Medical Imaging and DLMIA 2018

UNet++: A Nested U-Net Architecture for Medical Image Segmentation UNet++ is a new general purpose image segmentation architecture for more accurate i

Zongwei Zhou 1.8k Jan 7, 2023
Official implementation of the method ContIG, for self-supervised learning from medical imaging with genomics

ContIG: Self-supervised Multimodal Contrastive Learning for Medical Imaging with Genetics This is the code implementation of the paper "ContIG: Self-s

Digital Health & Machine Learning 22 Dec 13, 2022
Non-Imaging Transient Reconstruction And TEmporal Search (NITRATES)

Non-Imaging Transient Reconstruction And TEmporal Search (NITRATES) This repo contains the full NITRATES pipeline for maximum likelihood-driven discov

null 13 Nov 8, 2022
Pytorch Code for "Medical Transformer: Gated Axial-Attention for Medical Image Segmentation"

Medical-Transformer Pytorch Code for the paper "Medical Transformer: Gated Axial-Attention for Medical Image Segmentation" About this repo: This repo

Jeya Maria Jose 615 Dec 25, 2022
The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

MIC-DKFZ 1.2k Jan 4, 2023
Build a medical knowledge graph based on Unified Language Medical System (UMLS)

UMLS-Graph Build a medical knowledge graph based on Unified Language Medical System (UMLS) Requisite Install MySQL Server 5.6 and import UMLS data int

Donghua Chen 6 Dec 25, 2022
A Planar RGB-D SLAM which utilizes Manhattan World structure to provide optimal camera pose trajectory while also providing a sparse reconstruction containing points, lines and planes, and a dense surfel-based reconstruction.

ManhattanSLAM Authors: Raza Yunus, Yanyan Li and Federico Tombari ManhattanSLAM is a real-time SLAM library for RGB-D cameras that computes the camera

null 117 Dec 28, 2022
"MST++: Multi-stage Spectral-wise Transformer for Efficient Spectral Reconstruction" (CVPRW 2022) & (Winner of NTIRE 2022 Challenge on Spectral Reconstruction from RGB)

MST++: Multi-stage Spectral-wise Transformer for Efficient Spectral Reconstruction (CVPRW 2022) Yuanhao Cai, Jing Lin, Zudi Lin, Haoqian Wang, Yulun Z

Yuanhao Cai 274 Jan 5, 2023
3D Reconstruction Software

Meshroom is a free, open-source 3D Reconstruction Software based on the AliceVision Photogrammetric Computer Vision framework. Learn more details abou

AliceVision 8.7k Jan 2, 2023
Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:

Latest Salt Documentation Open an issue (bug report, feature request, etc.) Salt is the world’s fastest, most intelligent and scalable automation engi

SaltStack 12.9k Jan 4, 2023
Source-o-grapher is a tool built with the aim to investigate software resilience aspects of Open Source Software (OSS) projects.

Source-o-grapher is a tool built with the aim to investigate software resilience aspects of Open Source Software (OSS) projects.

Aristotle University 5 Jun 28, 2022
EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild community 87 Dec 27, 2022
The friendly PIL fork (Python Imaging Library)

Pillow Python Imaging Library (Fork) Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lund

Pillow 10.4k Dec 31, 2022
Code associated with the paper "Deep Optics for Single-shot High-dynamic-range Imaging"

Deep Optics for Single-shot High-dynamic-range Imaging Code associated with the paper "Deep Optics for Single-shot High-dynamic-range Imaging" CVPR, 2

Stanford Computational Imaging Lab 40 Dec 12, 2022
ml4h is a toolkit for machine learning on clinical data of all kinds including genetics, labs, imaging, clinical notes, and more

ml4h is a toolkit for machine learning on clinical data of all kinds including genetics, labs, imaging, clinical notes, and more

Broad Institute 65 Dec 20, 2022