Code Monkey home page Code Monkey logo

slicerigsio's Introduction

IGSIO

A collection of tools and algorithms for image guided systems

Prerequisites

  • C++ compiler

    • Windows
      • Visual Studio >= 2015
    • Linux
    • MacOSX
  • VTK >= 8

Build instructions

  • Clone IGSIO into a directory of your choice
  • Configure the project with CMake
    • Specify the generator
    • Enter VTK directory (VTK_DIR) pointing to the location of VTKConfig.cmake
    • Enable desired components
      • IGSIO_BUILD_SEQUENCEIO: Read/write sequence files to vtkIGSIOTrackedFrameList
        • IGSIO_SEQUENCEIO_ENABLE_MKV: Read/write sequence files using Matroska video format (MKV)
      • IGSIO_BUILD_VOLUMERECONSTRUCTION: Reconstruct volumes using images and transforms in vtkIGSIOTrackedFrameList
      • IGSIO_BUILD_CODECS: Codecs used for video compression
        • IGSIO_USE_VP9: VP9 codec

Support

If you encounter any issues or have any questions, feel free to submit an issue here.

Projects using IGSIO

slicerigsio's People

Contributors

adamaji avatar jamesobutler avatar lassoan avatar markasselin avatar nathanbmnt avatar noughmad avatar sunderlandkyl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

slicerigsio's Issues

Improve inclusion of CL headers.

Today's build of SlicerIGSIO failed on Arch Linux, while it used to build seamlessly and there does not seem to have been commits since 10/12/2022.

CL/cl.hpp could not be found.

A quick and dirty fix has been editing IGSIO/CMakeLists.txt in the build tree as such :

include_directories(/opt/rocm/include /opt/rocm/opencl/include)

A better fix would be to allowing passing an OpenCL_DIR when configuring. As stated above, Arch Linux does not install these files in /usr/include.

Just a ping for a future improvement if you find it important.

Regards.

VP9 extraction fails on installation

I was building slicer with SlicerIGSIO included and the build fails for VP9 with
CMake Error: Problem with archive_write_finish_entry(): Can't restore time

This is a known problem for some zip files https://gitlab.kitware.com/cmake/cmake/-/issues/19132

This was under VS2022 building on an external drive with exFat filesystem, so it does affect the libvpx_v1.12.0_msvc17.zip file, i don't know if the same issue exist for the other vs versions

[Windows][VS22] Configuring fails

After building latest Slicer, configuring of inner project fails

CMake Error at C:/d/Slcr/S4/Extensions/CMake/SlicerBlockAdditionalLauncherSettings.cmake:97 (string):
  string sub-command REPLACE requires at least four arguments.

Offending code is

  # External projects - library paths
  foreach(varname IN LISTS ${SUPERBUILD_TOPLEVEL_PROJECT}_EP_LABEL_LIBRARY_PATHS_LAUNCHER_BUILD)
    set(value ${${varname}})
    string(REPLACE "<CMAKE_CFG_INTDIR>" "\${CMAKE_CFG_INTDIR}" value ${value})
    list(APPEND EXTENSION_LIBRARY_PATHS_BUILD ${value})
  endforeach()

Do any of you guys know of a change in the Slicer level variable that might break this?

is it possible to disable the update?

Performing update step for 'IGSIO'
Performing update step for 'libwebm'.
Since I downloaded the code manually, is it possible to disable the update?
most of the time, the SSL error occured..

Slicer 4.13 Extension Dashboard Windows Build Error

error MSB6003: The specified task executable "rc.exe" could not be run. System.ComponentModel.Win32Exception (0x80004005): The filename or extension is too long

https://slicer.cdash.org/viewBuildError.php?buildid=2609910

Based on the error, it would seem that the issue may be the path or command length for the new calibration classes in IGSIO.

Reducing the path length in IGSIO hasn't had an effect yet. (IGSIO/IGSIO@cad184d, IGSIO/IGSIO@4bc46c5).

CMake variable EXTENSION_WC_REVISION is empty !

Slicer 4.11 compiled successfully.
And the IGSIO compiled successfully.
But as to the SlicerIGSIO compiling, only one error :
CMake Error at C:/Slicer/SlicerSource/Extensions/CMake/SlicerFunctionGenerateExtensionDescription.cmake:70 (message):
8> CMake variable EXTENSION_WC_REVISION is empty !
thanks for any help or suggestion.

Consolidate MetafileImporter and SequenceIO

MetafileImporter module was moved here from Sequences module (which is now part of Slicer core in Slicer-4.11). Now we have two modules for reading PLUS sequence files (image+transforms) from mhd and nrrd files.

SequenceIO is newer, it uses code from IGSIO instead of its own logic, and handles color images and compressed video. MetafileImporter might be faster in parsing large text files (tens of minutes of recording of 6-8 transforms).

Parsing speed of MetafileImporter and SequenceIO has to be compared on large files. If there is no significant difference then MetafileImporter module can be simply deleted. If MetafileImporter is much faster then its parsing code should be ported to IGSIO before the module is removed.

There is also a difference in what file formats are supported. MetafileImporter accepts seq.mha and simple .mha, but since these may interfere with plain volume sequence and volume reading, it is probably better not to offer these file extensions (keep current SequenceIO implementation).

This is not urgent, it is enough to work on this if a related issue comes up.

SlicerIGSIO extenssion not show up in Slicer version 4.13.0 revision 30557 built 2022-01-26

Hello,

SlicerIGSIO extension not show up in Slicer version 4.13.0 revision 30557 built 2022-01-26. I manually installed the 30117-win-amd64-SlicerIGSIO-git8f61201-2021-07-19.zip and run Slicer got the following errors.

Thanks

DLL load failed while importing vtkSlicerMetafileImporterModuleLogicPython: The specified module could not be found.
DLL load failed while importing vtkSlicerSequenceIOModuleLogicPython: The specified module could not be found.
DLL load failed while importing vtkSlicerVideoUtilModuleLogicPython: The specified module could not be found.
DLL load failed while importing vtkSlicerVolumeReconstructionModuleLogicPython: The specified module could not be found.
DLL load failed while importing vtkSlicerSequenceIOModuleMRMLPython: The specified module could not be found.
DLL load failed while importing vtkSlicerVolumeReconstructionModuleMRMLPython: The specified module could not be found.

Specify non-changing IGSIO version

When attempting to integrate SlicerIGSIO as part of a Slicer custom application, I was using SlicerIGSIO at specific commit d38a5a2. This commit specifies to use IGSIO's master branch

. This has led to issues as since early February IGSIO has an ITK dependency and needed corresponding change in 6815fb3 which came after the commit I used.

Can we set SlicerIGSIO to use a non-changing git tag of IGSIO so that a specific version of this extension can be included in a Slicer custom application?

cc: @Sunderlandkyl

Build error in latest Slicer-5.1

Slicer's VTK has been updated and it no longer contains vtkSimpleCriticalSection. It seems it has been replaced by std::mutex.

SlicerIGSIO depends on vtkSimpleCriticalSection to implement vtkRecursiveCriticalSection and so its build fails and all extensions depending on it fails, too.

The problem may be resolved by either replacing vtkSimpleCriticalSection by std::mutex or std::recursive_mutex.

Slicer custom app packaging issue with SlicerIGSIO

I've observed in my Slicer custom application an issue with packaging due to SlicerIGSIO. I observed that in my "C:\MyCustomApp-build\Slicer-build\CPackConfig.cmake" that there was a vtkAddon section of CPACK_INSTALL_CMAKE_PROJECTS that when I removed it allow custom app packaging to not fail anymore.

set(CPACK_INSTALL_CMAKE_PROJECTS ";C:/SApp/IGSIO-build/inner-build;IGSIO;RuntimeLibraries;/;;vtkAddon;RuntimeLibraries;/;C:/SApp/OpenIGTLink-build;OpenIGTLink;RuntimeLibraries;/;C:/SApp/OpenIGTLinkIO-build;OpenIGTLinkIO;RuntimeLibraries;/;

Does vtkAddon runtime libraries actually need to be added as shown in the code below? Or is Slicer already including them with Slicer_BUILD_vtkAddon being on? Or is the vtkAddon_DIR not set appropriately as it appears to have been left blank in CPACK_INSTALL_CMAKE_PROJECTS?

if (DEFINED Slicer_EXTENSION_SOURCE_DIRS) # Custom build)
list(APPEND EXTENSION_CPACK_INSTALL_CMAKE_PROJECTS "${vtkAddon_DIR};vtkAddon;RuntimeLibraries;/")
endif()

Related SlicerIGSIO commits regarding vtkAddon:
fef9a39 and b0263b2.

Slicer switched to vtkAddon as remote project in Slicer/Slicer@aaf75e2.

cc: @Sunderlandkyl

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.