16#include "libmesh/bounding_box.h"
20#ifdef LIBMESH_HAVE_VTK
24#include "libmesh/ignore_warnings.h"
33#ifndef MOOSE_VTK_UNDEF_NLOHMANNJSON_HEADER_GUARDS
34#define MOOSE_VTK_UNDEF_NLOHMANNJSON_HEADER_GUARDS 0
37#if __has_include("vtk_nlohmannjson.h")
38#include "vtk_nlohmannjson.h"
39#if !VTK_MODULE_USE_EXTERNAL_vtknlohmannjson
40#undef MOOSE_VTK_UNDEF_NLOHMANNJSON_HEADER_GUARDS
41#define MOOSE_VTK_UNDEF_NLOHMANNJSON_HEADER_GUARDS 1
45#error "Could not auto-detect whether VTK built with external nlohmann json. \
46Define MOOSE_VTK_UNDEF_NLOHMANNJSON_HEADER_GUARDS=1 if built with vendored nlohmann \
47, otherwise define MOOSE_VTK_UNDEF_NLOHMANNJSON_HEADER_GUARDS=0"
51#if MOOSE_VTK_UNDEF_NLOHMANNJSON_HEADER_GUARDS && !defined(MOOSE_VTK_NLOHMANN_INCLUDED)
52#undef INCLUDE_NLOHMANN_JSON_FWD_HPP_
53#define MOOSE_VTK_NLOHMANN_INCLUDED
56#include "vtkSmartPointer.h"
57#include "vtkPNGReader.h"
58#include "vtkTIFFReader.h"
59#include "vtkImageData.h"
60#include "vtkStringArray.h"
61#include "vtkImageBinaryThreshold.h"
62#include "vtkImageNormalize.h"
63#include "vtkImageCast.h"
64#include "vtkImageShiftScale.h"
65#include "vtkImageMagnitude.h"
66#include "vtkImageFlip.h"
74#include "libmesh/restore_warnings.h"
128#ifdef LIBMESH_HAVE_VTK
165#ifdef LIBMESH_HAVE_VTK
A helper class for re-directing output streams to Console output objects form MooseObjects.
To be called in the validParams functions of classes that need to operate on ranges of files.
A helper class for reading and sampling images using VTK.
void vtkShiftAndScale()
Apply image re-scaling using the vtkImageShiftAndRescale object.
std::vector< int > _dims
Pixel dimension of image.
virtual libMesh::Real sample(const libMesh::Point &p) const
Return the pixel value for the given point.
libMesh::Point _physical_dims
Physical dimensions of image.
const InputParameters & _is_pars
Parameters for interface.
virtual void setupImageSampler(MooseMesh &mesh)
Perform initialization of image data.
vtkImageData * _data
Complete image data.
vtkSmartPointer< vtkStringArray > _files
List of file names to extract data.
vtkSmartPointer< vtkImageShiftScale > _shift_scale_filter
Pointer to the shift and scaling filter.
static InputParameters validParams()
Constructor.
vtkSmartPointer< vtkImageReader2 > _image
Complete image data.
libMesh::BoundingBox _bounding_box
Bounding box for testing points.
std::vector< double > _voxel
Physical pixel size.
vtkSmartPointer< vtkImageBinaryThreshold > _image_threshold
Pointer to thresholding filter.
unsigned int _component
Component to extract.
libMesh::Point _origin
Origin of image.
std::array< bool, 3 > _flip
image flip
vtkAlgorithmOutput * _algorithm
VTK-6 seems to work better in terms of "algorithm outputs" rather than vtkImageData pointers....
void vtkThreshold()
Perform thresholding.
vtkSmartPointer< vtkImageMagnitude > _magnitude_filter
Pointer to the magnitude filter.
void vtkMagnitude()
Convert the image to greyscale.
ConsoleStream _is_console
Create a console stream object for this helper class.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real