-\subsection{More on ...}
-\label{bbi-more-on}
-% ==========================================
-
-% ==========================================
-\subsubsection{Black box packages}
-\label{bbi-more-on-packages}
-% ==========================================
-
-There are various others user-intended packages :
-
-\paragraph{vtk}
-It contains some vtk based image processing filters :
-% \begin{enumerate}
- \subparagraph{AppendPolyData}
- Appends one of more polygonal datasets into a single polygonal dataset
- \subparagraph{ConeSource}
- Creates a Cone
- \subparagraph{ImageAnisotropicDiffusion3D}
-vtkImageAnisotropicDiffusion3D diffuses an volume iteratively.
-The neighborhood of the diffusion is determined by the instance flags.
-if 'Faces' is on, the 6 voxels adjoined by faces are included in the neighborhood.
-If 'Edges' is on the 12 edge connected voxels are included, and if 'Corners' is on, the 8 corner connected voxels are included.
-'DiffusionFactor' determines how far a pixel value moves toward its neighbors, and is insensitive to the number of neighbors chosen.
-The diffusion is anisotropic because it only occurs when a gradient measure is below 'GradientThreshold'.
-Two gradient measures exist and are toggled by the 'GradientMagnitudeThreshold' flag.
-When 'GradientMagnitudeThreshold' is on, the magnitude of the gradient, computed by central differences, above 'DiffusionThreshold' a voxel is not modified.
-The alternative measure examines each neighbor independently.
-The gradient between the voxel and the neighbor must be below the 'DiffusionThreshold' for diffusion to occur with THAT neighbor.
- \subparagraph{ImageCharacteristics}
- Exports objet sizes, and Spacings
- \subparagraph{ImageDilateErode3D}
- Dilates one value and erodes another.
- vtkImageDilateErode3D will dilate one value and erode another.
- It uses an elliptical foot print, and only erodes/dilates on the boundary of the two values.
- The filter is restricted to the X, Y, and Z axes for now.
- It can degenerate to a 2 or 1 dimensional filter by setting the kernel size to 1 for a specific axis.
- (bbfication of vtkImageDilateErode3D)
- \subparagraph{ImageGaussianSmooth}
- Performs a gaussian convolution of the input image
- \subparagraph{ImagePlanes}
-Creates three 3D planes with the input image mapped onto with which the user can interact.
-The output vtkImagePlaneWidget objects are to be inserted into a 3D scene (e.g. a Viewer3D
- \subparagraph{IsoSurfaceExtractor}
-Extracts an iso-surface of a 3D image and creates a vtkProp3D object to insert into a 3D scene (e.g. a Viewer3D
- \subparagraph{MarchingCubes}
- Extracts an iso-surface of an image using the marching cubes algorithm (bbfication of vtkMarchingCubes
- \subparagraph{MIPCreator}
-Creates a Maximum Intensity Projection (MIP) view of a 3D image.
-Creates a vtkProp3D object to insert into a 3D scene (e.g. a Viewer3D
- \subparagraph{MetaImageReader}
-Reads .mhd / .mhd image formats (bbfication of vtkMetaImageReader)
- \subparagraph{SegmentationConnectivity}
-Segmentation with min max threshold and connectivity
- \subparagraph{SphereSource}
- Creates a Sphere
-% \end{enumerate}
-
-\paragraph{itk}
-It contains some itk based image processing filters :
-
- \subparagraph{BinaryThresholdImageFilter}
- Binarizes an image by thresholding (generic bbification of itk::BinaryThresholdImageFilter)
- \subparagraph{DICOMSeriesFileNames}
- Reads a series from a DICOM directory as a 3D itk image
- \subparagraph{ExtractImageFilter}
- Decrease the image size by cropping the image to the selected region bounds (bbification of itk::ExtractImageFilter)
- \subparagraph{ImageProperties}
- Outputs different properties of an image (type, dimension, size, spacing, ...)
- \subparagraph{ImageRegion}
-Creates a generic ImageRegion (bbtk::any) from two vectors providing the index and size of the region.
-The dimension D of the actual itk::ImageRegion created is the max of the sizes of Index and Size
-(the smallest vector is padded by zeros)
- \subparagraph{ImageReader}
-Generic itk image reader
- \subparagraph{ImageWriter}
-Generic itk image writer
- \subparagraph{ImageSeriesReader}
-Generic itk image series reader.
- \subparagraph{ResampleImageFilter}
-Resamples an image
-\paragraph{itkvtk}
-It doesn't contain any end user intended box, only adaptors : to convert a generic itkImage to a vtkImageData, and vtkImageData* to a generic itkImage pointer
-
-Sorry nothing is done, right now for meshes.
-
-\paragraph{wxvtk}
-It contains two atomic black boxes, and some sophisticated complex black boxes :
-
- \subparagraph{Viewer2D}
- Receives a \textless vtkImageData* \textgreater (In), an Orientation(0:yz / 1:xz / 2:xy), and a initial slice number (Slice).
- Returns a \textgreater vtkRenderer* \textgreater (Renderer)
-
- \subparagraph{Viewer3D}
- Receives up to 5 Input Actors (\textless vtkProp3D* \textgreater), up to 5 Imput Observers (\textless vtkInteractorObserver* \textgreater),
- outputs an Interactor (\textless wxVTKRenderWindowInteractor* \textgreater) with which vtk widgets can interact,
- and a Renderer (\textless vtkRenderer* \textgreater) to which actors can be added.
- Has also a boolean 'Stereo' option, to use Red-Blue filter.
-
- \subparagraph{Viewer3D}
-