GithubHelp home page GithubHelp logo

lassoan / slicersegmenteditorextraeffects Goto Github PK

View Code? Open in Web Editor NEW
41.0 8.0 27.0 2.44 MB

Many additional segmentation tools for 3D Slicer's Segment Editor

License: BSD 3-Clause "New" or "Revised" License

CMake 4.33% Python 77.56% C++ 18.11%
3d-slicer-extension

slicersegmenteditorextraeffects's Introduction

SlicerSegmentEditorExtraEffects

Experimental effects for Segment Editor in 3D Slicer. These effects are kept here insted of distributed with Slicer because for one or more of the following reasonds:

  • the effect has not proven to be sufficiently different or better then similar effects in Slicer core
  • the effect appears to be useful only for a small fraction of users: by having rarely needed effects separately makes it easier for new users to learn basic tools first
  • the effect is not complete or stable enough and so we want to distinguish them from the stable, well-tested effects in Slicer core
  • the effect still in development and we want to be able to be able to update them frequently, even in the Slicer Stable Release (the stable release is updated a few times a year, while extensions are updated every night)
  • the effect depends on modules provided by other extensions: Slicer core features cannot depend on extensions

Draw Tube

Segment tubular structures, such as catheters, nerves, vessels, by clicking on a few points along the path.

Engrave

Draw text on segments using engraving or embossing.

Fast Marching

Grow complete segmentation from the current segment; only one segment is supported at once, leaking out is controlled by adjustable target volume.

Flood Filling

Add to the current segment all similar intensity voxels near the clicked position. Generally "Local threshold" effect is recommended instead of this effect because this effect often either cannot prevent leaking into other structures or provides incomplete segmentation.

Mask Volume

Fill a scalar volume with constant value inside/outside the selected segment. The effect was moved to Slicer core in Slicer-4.13.

Split Volume

Extract pieces from a scalar volume around each segment and put them into separate scalar volumes (useful for createing multiple volumes from a scan that contains multiple specimens).

Surface Cut

Define a smooth 3D blob by specifying points on its surface. Useful for quick approximate segmentation of convex objects.

Watershed

Create complete segmentation from seeds, similarly to "Grow from seeds" effect in Slicer core. Advantage of this effectis that it can enforce smooth surfaces, thereby preventing leaks and reducing the need for additional smoothing after region growing. Disadvantage is that this effect recomputes the complete segmentation after any seed is changed, therefore it is significantly slower.

Local Threshold

Add the structure that is located at the selected position and has intensity values within the specified threshold range. Select a threshold range then Ctrl + left-click (on macOS Cmd + left-click) in a slice view to add the clicked region to the current segment.

The threshold range can be set visually (based on the glowing color overlay) or based on a local histogram. The histogram represents voxel intensity distribution within a selected region of the image. Region can be selected by left-click and drag in any slice viewers. The red lines on the left and right represent the minimum and maximum voxel intensities in the selected region, while the orange line represents the average intensity. The yellow highlight underneath the histogram shows the currently set threshold range. Clicking and dragging on the histogram will let you manually specify the minimum/maximum intensities. The average then becomes the median intensity between the two. Right clicking on the histogram will cancel the manual selection.

Labelled local threshold histogram

For finer control over the threshold range, the threshold range slider can be used without, or in conjunction with the histogram to specify the range.

Minimum diameter, ROI (region of interest), and segmentation algorithm can be changed to limit how large surrounding is added to the segment. To add less to the segment, increase "Minimum diameter" value and/or specify a region of interest. A larger minimum diameter value will prevent leaking through regions that are smaller than that minimum size, however for thin structures, a minimum diameter that is larger than the thinnest regions will result in the branches being truncated.

To make the segmented structure smoother, choose Watershed algorithm and increase feature size.

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.