Code Monkey home page Code Monkey logo

slicer-liveranalysis's People

Contributors

cpinter avatar olevs avatar rafaelpalomar avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

slicer-liveranalysis's Issues

[help wanted] Error in AddResectionSlicingContour when trying to use a different liver volume and segmentation

Hello @RafaelPalomar and everyone!

I was updating the extension for different liver volume and segmentation (than the default ones LiverVolume000 and LiverSegmentation000). You can check the changes I have made so far here.
I am able now to select any segmentations and create the respective models, but I have the following error when I try to perform one of the Resection Slicing Contour:
Error in AddResectionSlicingContour: invalid internal target parenchyma

Could I have some guidance, please? I attached the node information of the target parenchyma I am using.
Screenshot from 2021-11-29 13-39-51

Thank you in advance for any help you could provide

Shader-based resection initialization

This covers the development of a Slicing contour markup that will help initializing the resection.

TODO:

  • Slicing Contour MRMLNode
  • Slicing Contour MRMLDisplayNode
  • Slicing Contour MRMLStoreNode
  • Slicing Contour VTKWidget
  • Slicing Contour 3DRepresentation
  • Slicing Contour 2DRepresentation
  • Slicing Contour qtAdditionalWidget
  • Slicing Contour Integration (module, logic, widgets)
  • Unit Testing
  • Integration Testing

Adding CircleCI configuration file

CircleCI will run based on the configuration found on .circleci in the root of the project. A good starting point for this should be the .circleci file already include on Slicer. Most likely, the Slicer .circleci file will be using a container with the required environment; this environment will not directly be useful, because we need a container with the slicer source built already to save the computations required to build Slicer.

The project needs to be registered in CircleCI. I believe login to CircleCI through Github OAuth will let any developer to set up the project in CircleCI

  • Enable tests. Either create a Docker image with X support or only create tests that don't need X

Add resection Bezier deformable widget

The aim of this is the creation of a resection widget based on Bezier deformable surfaces. We are basing this development on the pluggable-markups branch. For an example of the working demo of the NorMIT-Plan, see the following video:

[NorMIT-Plan demo](https://youtu.be/7M3DULQp81k

The part to implement here is only the deformable Bezier surface. The initialization part (slicing contour) is considered in #5. Technical details are given in this paper. There is code available in NorMIT-Plan. Note that some parts of the code cannot be integrated directly, since they are not using modern infrastructure in 3D Slicer (e.g., Markups). Suggestion of sub-tasks and order:

  • Add a basic vtkMRMLMarkupsNode (this is just to support the development).
  • Transfer the vtkBezierSurfaceSource code to the Slicer module (this should not require any adaptation).
  • Create the 3D widget representation. (Look of the widget).
  • Create the 3D widget. (Interaction of the widget).
  • Adding unit tests.
  • Adding integration tests.
  • Create the 2D widget representation. (Look of the widget).
  • Create the 2D widget. (Interaction of the widget).

One might have to register a dummy widget and markups in order to see the results on the screen. For a working example look at the line widget already existing line-widget.

Uniform spline-based resection

Bezier surfaces are complex to compute and have global knot support (a change of a control point changes the whole surface). We want to change to resection surfaces with local support and more efficient to compute.

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.