CamiTK 5.2.0 provides features out-of-the-box

 

Although CamiTK also provides tools and a dedicated Software Development Kit, without writing any code you can already start doing amazing things with the open-source extensions provided directly with the end-user package.

Click on one of the three possible extension types to search for a feature provided in the community edition catalog:

action extensions
algorithms

ways to process your data
(this is called actions in CamiTK)
component extensions
file extensions

different data types can be visualized and processed in the interactive user interface
(this is called components in CamiTK)
viewer extensions
interactive viewers

interactive viewers to explore your data
(this is called viewers in CamiTK)

actions in action extensions

Search an action:

 

Extension Action Description
Arbitrary Slice Arbitrary Slice This action allows user to manually modify the orientation and translation of the arbitrary slice.
AverageVoxelValuesExtension Compute Average Neighbor Value Compute the average voxels value in the neiborhoods of the selected voxel. Show results on the log console.
Basic Mesh Extension Change Color Change the surface, wireframe or points colors of objects
Basic Mesh Extension Rendering Option Change the rendering option (surface, wireframe, points, label...) of the selected mesh(es).
Basic Mesh Extension Rigid Transform Rigid transformation of Components
Basic Mesh Extension Basic Mesh Picking Pick a mesh to retrieve point/cell information from the mesh
Basic Mesh Extension Center Mesh Center current mesh component in the world coordinates. When applied this action moves the barycenter of the mesh at world coordinate (0,0,0). Does not consider any frame transformation.
Basic Mesh Extension Mesh Quality Display basic mesh quality information (for more information: Knupp et al, The verdict geometric quality library).
Basic Mesh Extension Mesh To Image Stencil This action generates a new volume image and converts the mesh into a volume representation (vtkImageData) where the foreground voxels are colored and the background voxels are black.
Basic Mesh Extension Compute Normals Compute normals of surface mesh.
Basic Mesh Extension Extract Selection Extract the current selection
Basic Picking Tutorial Basic Image Picking Tutorial action that retrieve pixel information from the image
Basic Topology Grid Topology Build a regular grid
Basic Topology Sphere Topology Build a sphere
Crop Image Crop Image

This action crops a part of an image volume. Use the GUI to select the volume to crop. You can choose either the min and the max coordinates of each axis (i,j,k), i.e., 6 points or use only two extreme 3D points (the origin of parallelepiped and its opposite diagonal point).

Developer Studio Open Extension File This action offers an interactive GUI to manages CamiTK extension files. If you don't have any CamiTK extension file yet, use the "New Extension File" action.
Developer Studio New Extension File Create a new CamiTK extension files from scratch. If you already have a CamiTK extension file, use the "Open Extension File" action.
Developer Studio Load All Registered Extensions Load all the CamiTK extensions that are currently registered by the user. This list contains the currently valid extensions that were registered (imported) in the application settings.
Developer Studio Unload All Registered Extensions Unload all the CamiTK extensions that are currently registered by the user. This will remove them from memory, but not unregister them (they will be load again during the next launch). This requires a restart.
Developer Studio Register Extension Choose a CamiTK Extension File to register, i.e., import in the application settings so that it will always be available when you launch the application.
Note that if you move the CamiTK Extension File, you'll have to register it again.
Developer Studio Open Extension In IDE Open the given extension in Visual Studio Code or Codium
Developer Studio Unregister Extension Unregister the given extension from the application settings so that it will not be available automatically anymore when you launch the CamiTK application.
This is is the opposite to registering the extension.
Developer Studio Rebuild And Reload Extension Rebuild and reload the given extension. This requires a restart.
Developer Studio Always Rebuild Extensions Set the always rebuild option. If always rebuild is on, extensions are systematically rebuild when loaded. This might increase the startup time but ensure the last available source code version is used.
Edit Application Level Actions Select Last Instantiated Top Level Component Select the last top level component that was instantiated
Edit Application Level Actions Remove Last Instantiated Top Level Component Remove the last top level component that was instantiated without saving it
Edit Application Level Actions Clear Selection Clear the list of selected item
Edit Application Level Actions Set Path To Test Data Set the working directory path to the test data dir (useful for test purpose)
File Application Level Actions Open Open data (component) from a file
File Application Level Actions Open File Open data (component) from a given file
File Application Level Actions Open Workspace Open workspace from a file
File Application Level Actions Open Workspace File Open a CamiTK workspace from a given file
File Application Level Actions Save Save all the top-level of the selected components
File Application Level Actions Save As Save the currently selected data under a different filename or format
File Application Level Actions Save All Saves all the currently loaded data
File Application Level Actions Save Workspace Save the workspace
File Application Level Actions Close Close the currently selected components
File Application Level Actions Close All Close all components, prompting for additional information if needed
File Application Level Actions Quit Exit the application, prompting for additional information if needed
HardCodedPipelineExtension Hard-Coded Action Pipeline Demonstrate how to call one or more actions from another action (that is, implement a hard-coded action pipeline without modifying anything of the called actions).
Help Application Level Actions Toggle Log Console Toggle the redirection console window that shows log and std output.
Help Application Level Actions About... Show a little dialog about the application
Help Application Level Actions Change Language Change Language with a given .qm file
Help Application Level Actions Logger Parameters Play along with logger parameters: level and other specifications.
Note: This action does only modify the log interaction temporarily. Please use the application preference dialog or the console tool buttons to save the logger parameter in settings.
ITK Filters Canny Edge Detection The Canny edge detector is an edge detection operator that uses a multi-stage algorithm to detect a wide range of edges in images.
The filter steps are : * Preprocessing noise reduction using a gaussian convolution filtering. * Finding the intensity gradient of the image * Non-maximum suppression * Tracing edges through the image and hysteresis thresholding It was developed by John F. Canny in 1986. (source: Wikipedia).
This filter is widely used for edge detection since it is the optimal solution satisfying the constraints of good sensitivity, localization and noise robustness. (source: ITK Developer's Guide).
ITK Filters Sobel Edge Detection A 2D or 3D edge detection using the Sobel operator.
This filter uses the Sobel operator to calculate the image gradient and then finds the magnitude of this gradient vector. The Sobel gradient magnitude (square-root sum of squares) is an indication of edge strength..
ITK Filters Gradient Magnitude The magnitude of the image gradient is extensively used in image analysis, mainly to help in the determination of object contours and the separation of homogeneous regions.
The Gradient Magnitude filter computes the magnitude of the image gradient at each pixel location using a simple finite differences approach. (source: ITK Developer's Guide)
ITK Filters Gradient Magnitude With Smoothing Differentiation is an ill-defined operation over digital data.
In practice it is convenient to define a scale in which the differentiation should be performed. This is usually done by preprocessing the data with a smoothing filter.

It has been shown that a Gaussian kernel is the most choice for performing such smoothing. By choosing a particular value for the standard deviation (sigma) of the Gaussian, an associated scale is selected that ignores high frequency content, commonly considered image noise.

This filter computes the magnitude of the image gradient at each pixel location.

The computational process is equivalent to first smoothing the image by convolving it with a Gaussian kernel and then applying a differential operator.

The user selects the value of sigma. Internally this is done by applying an IIR filter that approximates a convolution with the derivative of the Gaussian kernel. Traditional convolution will produce a more accurate result, but the IIR approach is much faster, especially using large sigmas (Deriche1990,Deriche1993).

(source: ITK Developer's Guide)
ITK Filters Partial Derivative This filter is used for computing the partial derivative of an image.


Choose the order of the derivative:
  • Zero order: no derivation
  • First order derivative
  • Second order derivative
Choose the direction of the derivative:
  • Derivative along X axis
  • Derivative along Y axis
  • Derivative along Z axis
ITK Filters Laplacian Filter This filter computes the Laplacian of a scalar-valued image.

The Laplacian is an isotropic measure of the second spatial derivative of an image.

The Laplacian of an image highlights regions of rapid intensity change and is therefore often used for edge detection. Often, the Laplacian is applied to an image that has first been smoothed with a Gaussian filter in order to reduce its sensitivity to noise.

(source: ITK Developer's Guide)
ITK Filters Laplacian Filter With Smoothing Computes the Laplacian of Gaussian (LoG) of an image by convolution with the second derivative of a Gaussian.

This filter is implemented using the recursive gaussian filters.
ITK Filters Laplacian Sharpening This filter sharpens an image using a Laplacian filter .
Laplacian Sharpening highlights regions of rapid intensity change and therefore highlights or enhances the edges. The result is an image that appears more in focus.
ITK Filters Mean Filter The mean filter is commonly used for noise reduction.

This filter computes the value of each output pixel by finding the statistical mean of the neighborhood of the corresponding input pixel. The following figure illustrates the local effect of the mean filter in 2D case.
______________
| 28 | 26 | 50 |
|-----|-----|------|
| 27 | 25 | 29 | -> 30.22 -> 30
|-----|-----|------|
| 25 | 30 | 32 |
--------------------
Note that this algorithm is sensitive to the presence of outliers in the neighborhood.

The parameters are the size of the neighborhood along X, Y and Z directions.
The value on each direction is used as the semi-size of a rectangular box. For example in 2D a size of 1 in X direction and 2 in Y direction results in a 3x5 neighborhood.
ITK Filters Median Filter The median filter is commonly used as a reobust approach for noise reduction.
This filter is particularly efficient against salt-and-pepper noise. In other words, it is robust to the presence of gray-level outliers.
This filter computes the value of each output pixel as the statistical median of the neighborhood of values around the corresponding input pixel. The following figure illustrates the local effect of this filter in 2D case.
_____________
| 28 | 26 | 50 |
|----|-----|----|
| 27 | 25 | 29 | -> 28
|----|-----|----|
| 25 | 30 | 32 |
-----------------

The parameters are the size of the neighborhood along X, Y and Z directions. The value on each direction is used as the semi-size of a rectangular box. For example in 2D a size of 1 in X direction and 2 in Y direction results in a 3x5 neighborhood.
ITK Filters Morphological Operators Mathematical morphology has proved to be a powerful resource for image processing and analysis.

This filter implements classical mathematical morphology operators:
  • erosion
  • dilation
  • opening
  • closure
ITK Filters Gaussian Filter

Blurring is the traditional apporach for removing noise from images. It is usually implemented in the form of a convolution with a kernel. One of the most commonly used kernels is the Gaussian.

The classical methode of smoothing an image by convolution with a Gaussian kernel has the drawback that it is slow when the standard deviation sigma of the Gaussian is large.

The Recursive IIR (Infinite Impulse Rewponse) implements an approximation of convolution with the Gaussian. In practice, this filter requires a constant number of operations for approximating the convolution, regardless of the sigma value.

ITK Filters Anisotropic Diffusion

Anisotropic diffusion methods are formulated to reduce noise (or unwanted detail) in images while preserving specific image features. For many applications, there is an assumption that light-dark transitions (edges) are interesting. Standard isotropic diffusion methods move and blur light-dark boundaries. Anisotropic diffusion methods are formulated to specifically preserve edges.

The numberOfIterations parameter specifies the number of iterations (time-step updates) that the solver will perform to produce a solution image. The appropriate number of iterations is dependent on the application and the image being processed. As a general rule, the more iterations performed, the more diffused the image will become.

The conductance parameter controls the sensitivity of the conductance term in the basic anisotropic diffusion equation. It affect the conductance term in different ways depending on the particular variation on the basic equation. As a general rule, the lower the value, the more strongly the diffusion equation preserves image features (such as high gradients or curvature). A high value for conductance will cause the filter to diffuse image features more readily. Typical values range from 0.5 to 2.0 for data like the Visible Human color data, but the correct value for your application is wholly dependent on the results you want from a specific data set and the number or iterations you perform.

The Gradient anisotropic diffusion implements an N-dimensional version of the classic Perona-Malik anisotropic diffusion equation for scal-valued images.

The Curvature anisotropic diffusion performs anisotropic diffusion on an image using a modified curvature diffusion equation (MCDE). MCDE does not exhibit the edge enhancing properties of classic anisotropic diffusion, which can under certain conditions undergo a negative diffusion, which enhances the contrast of edges. Equations of the form MCDE always undergo positive diffusion, with the conductance term only varying the stregth of that diffusion.

ITK Filters Connected Components Classification Labels connected components of a binary image and order the labes with respect to the size of the connected components (i.e., the larges connected component has the label 1, the one a little smaller has the label 2, and so on...)
ITK Segmentation Otsu Threshold Filter

This filter creates a binary thresholded image that separates an image into foreground and background components.
The filter calculates the optimum threshold separating those two classes so that their combined spread (intra-class variance) is minimal (see http://en.wikipedia.org/wiki/Otsu%27s_method). Then the filter applies that threshold to the input image using an Itk binary fileter. The numberOfHistogram bins can be set for the Otsu Calculator. The insideValue and outsideValue can be set for the Itk binary filter. The filter produces a labeled volume.

The original reference is:
. Otsu, ''A threshold selection method from gray level histograms,'' IEEE Trans.Syst.ManCybern.SMC-9,62-66 1979.

ITK Segmentation Manual Threshold Filter Creates a new binary image depending on the initial voxel value:
  • If the initial value is between low and high thresholds (included), the new voxel value will be set to 255 (usually displayed as white)
  • Otherwise the new voxel value is set to 0 (usually displayed as black)

If you want to select all the voxels that have a specific value x, set both thresholds to the value x.

ITK Segmentation Region Growing Segmentation This filter segments volume images using region growing approach. It starts from a seed point that is considered to be inside the object to be segmented. The pixels neighboring this seed point are evaluated to determine if they should also be considered part of the object. If so, they are added to the region and the process continues as long as new pixels are added to the region. For connected threshold filter, the criterion is based on the intensity of the neighboring pixels. They are considered as part of the object if theyr value is between a lower and an upper threshold.
Image LUT Image Look Up Table Modify the LUT of an image components
ImageAcquisitionActionExtension InitImagerAction initialize the acquisition device
ImageAcquisitionActionExtension startImaging2D start the 2D acquisition done with the device (i.e : running a acquisition in live mode...)
ImageAcquisitionActionExtension stopImaging2D stop the 2D continuous acquisition performed by the device
ImageAcquisitionActionExtension startImaging3D start the 3D continuous acquisition performed by the device
ImageAcquisitionActionExtension stopImaging3D stop the 3D continuous acquisition performed by the device
ImageAcquisitionActionExtension singleAcquisition2D acquire one 2D ImageComponent by the device
ImageAcquisitionActionExtension singleAcquisition3D acquire one 3D ImageComponent by the device
MML Generate Model Generates a model from a mesh: mml, pml and corresponding lml are generated.

The current points selected by picking (Picked Selection) will be considered as fixed nodes.

MML Simulation Dialog Show MML Simulation Dialog
Medical Image Viewer Visibility Show Axial Viewer Show the Axial Viewer Only
Medical Image Viewer Visibility Show Coronal Viewer Show the Coronal Viewer Only
Medical Image Viewer Visibility Show Sagittal Viewer Show the Sagittal Viewer Only
Medical Image Viewer Visibility Show 3D Viewer Show the 3D Viewer Only
Medical Image Viewer Visibility Show All Viewers Show Classical Medical Image Viewer (Axial, Coronal, Sagittal and 3D in a 4 panels)
Medical Image Viewer Visibility Show Arbitrary Viewer Show the Arbitrary Slice Viewer Only
Mesh Point Data Show Point Data This action demonstrates how to show the point data on a color scale
Mesh Processing Decimation This action reduce the number of triangles in a triangle mesh, forming a good approximation to the original geometry.

The algorithm proceeds as follows. Each vertex in the mesh is classified and inserted into a priority queue. The priority is based on the error to delete the vertex and retriangulate the hole. Vertices that cannot be deleted or triangulated (at this point in the algorithm) are skipped. Then, each vertex in the priority queue is processed (i.e., deleted followed by hole triangulation using edge collapse). This continues until the priority queue is empty. Next, all remaining vertices are processed, and the mesh is split into separate pieces along sharp edges or at non-manifold attachment points and reinserted into the priority queue. Again, the priority queue is processed until empty. If the desired reduction is still not achieved, the remaining vertices are split as necessary (in a recursive fashion) so that it is possible to eliminate every triangle as necessary.

To use this object, at a minimum you need to specify the parameter Decimation percentage. The algorithm is guaranteed to generate a reduced mesh at this level as long as the following four conditions are met:
  • topology modification is allowed (i.e., the parameter Preserve topology is false);
  • mesh splitting is enabled (i.e., the parameter Splitting is true);
  • the algorithm is allowed to modify the boundaries of the mesh (i.e., the parameter Boundary vertex deletion? is true);
  • the maximum allowable error (i.e., the parameter Maximum error) is set to 1.0e+38f (default value).
Other important parameters to adjust are the Feature angle and Split angle parameters, since these can impact the quality of the final mesh.
Mesh Processing Clean Mesh Merge duplicate points, and/or remove unused points and/or remove degenerate cells.
Mesh Processing Fill With Points Fill a surfacic mesh with regularly spaced nodes by creating new nodes inside the mesh.
Mesh Processing Warp Out Move the outside points along the normal in order to thicken a volumic mesh (works only with closed- centered- mesh).
Mesh Processing Extract Surface Extract Surface from Volumetric Mesh
Mesh Processing ICP Registration Iterative Closest Point algorithm between two mesh.
At least two mesh components must be selected :
  • The first one is the source mesh (the one to be registered)
  • The second one is the target mesh
Mesh Processing Invert Mesh Invert the mesh faces
Mesh Processing Smooth Filter This filter adjusts point positions using Laplacian smoothing.
It makes the cells better shaped and the vertices more evenly distributed.
The effect is to "relax" the mesh, making the cells better shaped and the vertices more evenly distributed. Note that this filter operates on the lines, polygons, and triangle strips composing an instance of vtkPolyData. Vertex or poly-vertex cells are never modified.

The algorithm proceeds as follows. For each vertex v, a topological and geometric analysis is performed to determine which vertices are connected to v, and which cells are connected to v. Then, a connectivity array is constructed for each vertex. (The connectivity array is a list of lists of vertices that directly attach to each vertex.) Next, an iteration phase begins over all vertices. For each vertex v, the coordinates of v are modified according to an average of the connected vertices. (A relaxation factor is available to control the amount of displacement of v). The process repeats for each vertex. This pass over the list of vertices is a single iteration. Many iterations (generally around 20 or so) are repeated until the desired result is obtained.

There are some special parameters used to control the execution of this filter. (These parameters basically control what vertices can be smoothed, and the creation of the connectivity array.) The Boundary smoothing paramerter enables/disables the smoothing operation on vertices that are on the "boundary" of the mesh. A boundary vertex is one that is surrounded by a semi-cycle of polygons (or used by a single line).

Another important parameter is Feature edge smoothing. If this ivar is enabled, then interior vertices are classified as either "simple", "interior edge", or "fixed", and smoothed differently. (Interior vertices are manifold vertices surrounded by a cycle of polygons; or used by two line cells.) The classification is based on the number of feature edges attached to v. A feature edge occurs when the angle between the two surface normals of a polygon sharing an edge is greater than the FeatureAngle ivar. Then, vertices used by no feature edges are classified "simple", vertices used by exactly two feature edges are classified "interior edge", and all others are "fixed" vertices.

Once the classification is known, the vertices are smoothed differently. Corner (i.e., fixed) vertices are not smoothed at all. Simple vertices are smoothed as before (i.e., average of connected vertex coordinates). Interior edge vertices are smoothed only along their two connected edges, and only if the angle between the edges is less than the EdgeAngle ivar.

The total smoothing can be controlled by the The Number of iterations which is a cap on the maximum number of smoothing passes.

Note that this action does not create a new component, but modify the selected one(s).
Mesh Processing Extract Edges Extract edges from a mesh
Mesh Processing Merge Meshes Create a new mesh from two input meshs and merge them.
  • If points are exactly at the same coordinates, they will be merged.
  • If cells (tetras, triangles) are overlapped, just one is kept (Points must be exactly at the same coordinates).
  • If a triangle is enclosed in a volume during the merging action, it will be removed.
The parameters below help you to print a file which contains an indice value for each element of each mesh after they are merged. If the parameter File path is empty, the file is not printed.

WARNING:At this stage, this action works only with triangular surfacic mesh or tetrahedral and/or triangular volume mesh.
Mesh Processing Mesh Clipping Interactive Mesh Clipping in the 3D Viewer
Mesh Processing Compute Curvatures Computes curvatures of a surface.
Mesh Processing Load Transformation Load a transformation from a file. The file should contains the 4x4 matrix values (4 lines of 4 values). See also the "Save Displacement From Transformation" action.
Mesh Processing Export As MDL Export As MDL (an old legacy file format from early CAMI devices). This is kept for historical reason only.
Mesh Processing Load Texture From BMP Load Texture From BMP
Mesh Processing Save Displacement From Transformation Save the displacement from the last translation in a text file. Alternatively, load a transformation from a text file and apply it on the selected Mesh component.
Mesh Processing Append Meshes Append several meshes in one mesh.
Mesh Projection Extension Mesh Projection Project the mesh contours onto an image in the 2D slice viewer
Mesh Selection Compute Selection Barycenter This action demonstrates how to compute the barycenter of the currently selected mesh nodes
MultiPickingExtension Multiple Picking Action to manage several pixel points in an image (coordinates and index).
PMLExploreExtension Explore PML Content This action aims at exploring inner PML information (atoms, cells and components). Features a specific Qt explorer.
PMLExploreExtension Create Structural Component From Selection Generates a Structural Component from a given bounding box or current PML explorer selection
Pixel Color Changer Pixel Color Changer Sets clicked XxYxZ cube of voxels (by CTRL + Mouse Left) to a new defined color value.
  • A size of 1 (X, Y or Z) corresponds to one pixel in the considered slice.
  • A size of 2 corresponds to 3 pixels in the slice, in the aim to always keep the picked pixel as the center.
    (Size 3-> 5pix; 4->7pix...)

Compatible with this pixel types formats :[unsigned] short / float / double / char
PropertiesExtension Add Dynamic Property Add a dynamic property to the currently selected component.
PropertiesExtension Add Lots Of Properties Add lots of dynamic property to the currently selected component.
PropertiesExtension Enum Property Example Demonstrates how to add an enum parameters in an action. Show the information on the log console.
Reconstruction Reconstruction Marching cubes is a simple algorithm for creating a triangle mesh from an implicit function (one of the form f(x, y, z) = 0).
It works by iterating ("marching") over a uniform grid of cubes superimposed over a region of the function. If all 8 vertices of the cube are positive, or all 8 vertices are negative, the cube is entirely above or entirely below the surface and no triangles are emitted. Otherwise, the cube straddles the function and some triangles and vertices are generated. Since each vertex can either be positive or negative, there are technically 28 possible configurations, but many of these are equivalent to one another.

This action uses this algorithm to build a 3D surfacic mesh of the input image.
Registration using elastix executable Simple Elastix Registration

Registration using Elastix

Note that elastix should be installed on your machine.

This action can only modifies the following three main parameters:

  • Initialization: whether or not the initial translation between images should be estimated as the distance between their centers.
  • Transformation model: determines what type of deformations between the fixed and moving image is handled. There are 6 models available in elastix. Only three different types are available in this action: translation only, affine transformation (includes translation, rotation, scaling and shearing, and the nonrigid (i.e., elastic) B-spline transformation (uses cubic multidimensional B-spline polynomial control points). See section "2.6 Transform" of the elastix manual.
  • Similarity metrics: the similarity measure uses to compare the voxel values and find the best match during the registration. There are 5 different similarity measures available in elastix, the main one being: Mean Squared Difference (MSD) and Mutual Information (MI). See section "2.3 Metrics" of the elastix manual.
Reorient Image Extension Reorient Medical Image This action re-orients a medical image according to Dicom RCS (Reference Coordinates System).
ResampleExtension Resample Resamples the input image in two different ways:
  • 1. Resamples the scalar type of the voxels unless new scalard type is SAME_AS_INPUT
  • 2. Resamples the size of the voxels
Restart Application Restart Restart the application after confirmation
Shaker Extension Basic Shaker The shaker motor. It shakes your mesh in all directions (once)!
Shaker Extension Direct Shaker The shaker motor. It shakes your mesh in all directions!
Shaker Extension External Shaker The shaker motor. It uses the shakerlib external library to move the mesh in all directions!
ShowIn3DExtension Show Image In 3D Shows the Image Volume in 3D viewer
ShowIn3DExtension Show Axial Slice In 3D Toggle display of the axial slice in 3D
ShowIn3DExtension Show Coronal Slice In 3D Toggle display of the coronal slice(s) in 3D
ShowIn3DExtension Show Sagittal Slice In 3D Toggle display of the sagittal slice(s) in 3D
ShowIn3DExtension Show Arbitrary Slice In 3D Toggle display of the arbitrary slice(s) in 3D
Sleeping While Working Working When Sleeping (Linear) This action generates a linear exploration of slice sagittal, coronal and axial viewers
Sleeping While Working Working When Sleeping (Random) This action generates a random exploration of slice sagittal, coronal and axial viewers.
Threshold (VTK) Threshold (VTK) Simple threshold filter based on vtkImageThreshold.
Creates a new binary image depending on the initial voxel value:
  • If the initial value is between low and high thresholds (included), the new voxel value will be set to 'In Value' (e.g., 255 that is usually displayed as white)
  • Otherwise the new voxel value is set to 'Out Value' (e.g., 0 that is usually displayed as black)

If you want to select all the voxels that have a specific value x, set both thresholds to the value x. You can replace the in values, the out values or both with the given values (note: replacing both, the default, will result in a binary image).

VolumeRenderingExtension Volume Rendering Volume rendering of 3D medical image using ray casting
(Use Ctrl+R to render a selected image volume)
Vtk Widget Tutorial Box Widget Add a VTK 3D Widget to the 3D viewer.
Mouse interaction
  • Left button: grab on the six face handles → slide the faces
  • Left button: grab the center handle → move the entire box
  • Shift+Left button: inside the box widget → Translation
  • Right button: inside the box widget → up/down scaling
  • Left mouse: pick a face (not a face handle) → rotate (if Rotation Enabled is ticked)
Vtk Widget Tutorial Contour Widget Add a VTK Contour widget to a 2D viewer.
  • Click Apply and then left click in the chosen viewer to add the first contour node
  • Left Click: Add/select a point
  • Right Click: Add final point
  • Middle Click: Translate
  • Delete Contour Widget: Delete the current contour (keeps the generated mesh component)
  • Close Contour Widget: Either join start/end points interactively or click the push button

file extensions in component extensions

Search a component:

 

Extension Description File Extensions
Alias Wavefront OBJ Component Manage Alias Wavefront OBJ .obj files in CamiTK.
(very few support!)
  • obj
CamiTK Workspace Manage CamiTK Workspace format.
  • camitk
ItkImages Component Manage any file type supported by itk and not by vtk in CamiTK.
For more info about image data format: http://www.dclunie.com/medical-image-faq/html
  • hdr is the Analyse header file format
  • spr is the Stimulate header file format
  • gipl is the Guys Image Processing Lab Format
  • pic is the Bio-Rad file format, used by confocal micropscopes like MRC 1024 and MRC 600
  • LSM is a line of confocal laser scanning microscopes produced by the Zeiss company
  • Nrrd is the "Nearly Raw Raster Data"
  • NIfTI-1 (.nii) is adapted from the widely used ANALYZE 7.5 file format. For more info about image data format: http://nifti.nimh.nih.gov/nifti-1/
  • hdr
  • spr
  • gipl
  • pic
  • lsm
  • nrrd
  • hdr.gz
  • nii
  • nii.gz
  • img
  • img.gz
MML Component Manage .mml document in CamiTK.
Lots of things are possible with MML!
  • mml
  • scn
Msh Component This simple MSH Component allows you to manipulate .msh files (initially from gmsh software). See http://www.geuz.org/gmsh/doc/texinfo/gmsh.html for more information about this format
  • msh
Off Component OFF .off files in CamiTK
(c) Univ. Grenoble Alpes
  • off
PML Component New PML COMPONENT!
  • pml
Pick Me Component This tutorial show how to the pointPicked(..) and cellPicked(..) method to interact directly with your component
  • pickme
STL Component Manage STL format, see https://en.wikipedia.org/wiki/STL_%28file_format%29
  • stl
  • STL
Testing Abort Component A small extension that can be used for testing how CamiTK handle AbortException in component constructor.
  • abort
Testing Mixed Component A small extension that integrates mha and vtk together, i.e .mixed files in CamiTK.
(very few support!)
  • mixed
VRML 2 Component Basic support for VRML 2 .wrl and .vrml documents
  • vrml
  • wrl
VTK Image Manage image file type directly supported by vtk. For MetaImage documentation, check the official documentation (https://itk.org/Wiki/ITK/MetaIO).
  • mha
  • mhd
  • png
  • tiff
  • tif
  • bmp
  • pbm
  • pgm
  • ppm
  • jpg
  • raw
VTK Mesh Manage VTK .vtk mesh files in CamiTK.
  • vtk
DICOM This extension adds support for DICOM single image file (.dcm) and series thanks to the gdcm library
  • [directory]

interactive viewers in viewer extensions

Search a viewer:

 

Extension Viewer Description
Action Viewer Extension Action Viewer "Action Viewer" displays the currently selected action's GUI as well as an action selector
BitmapViewer Extension Bitmap Viewer BitmapViewer is a simple 2D image viewer
Component Explorer Extension Component Explorer The Explorer viewer shows all the instantiated components
Interactive Geometry Viewer Extension 3D Viewer Default 3D viewers that shows components with a geometry or bitmap representation
Interactive Slice Viewer Extension Axial Viewer Default slice viewer that displays the axial slices
Interactive Slice Viewer Extension Coronal Viewer Default slice viewer that displays the coronal slices
Interactive Slice Viewer Extension Sagittal Viewer Default slice viewer that displays the sagittal slices
Interactive Slice Viewer Extension Arbitrary Viewer Default slice viewer that displays the arbitrary orientation slices
Medical Image Viewer Extension Medical Image Viewer The Medical Image Viewer embeds all classical medical image views (axial, sagittal, coronal, 3D and arbitrary orientation)
MixedViewer Extension Mixed Viewer A two panels viewer (left is axial, right is 3D), specialized in mixed component
Property Explorer Extension Property Explorer The property explorer shows the properties of the currently selected component
TextViewer Extension Text Viewer This text only viewer displays the number of opened components (docked by default)
Transformation Explorer Extension Transformation Explorer The transformation explorer shows all transformations and frames of reference