4#include <vtkFloatArray.h>
5#include <vtkImageData.h>
6#include <vtkInformation.h>
7#include <vtkObjectFactory.h>
8#include <vtkPointData.h>
18 vtkInformationVector **inputVector,
19 vtkInformationVector *outputVector) {
21 auto inputImage = vtkImageData::GetData(inputVector[0]);
22 auto outputImage = vtkImageData::GetData(outputVector);
23 outputImage->ShallowCopy(inputImage);
25 size_t nPoints = outputImage->GetNumberOfPoints();
28 noise->SetName(
"Noise");
29 noise->SetNumberOfTuples(nPoints);
33 outputImage->GetDimensions(dim);
36 const std::string msg =
"Computing Noise (" + std::to_string(dim[0]) +
"x"
37 + std::to_string(dim[1]) +
"x"
38 + std::to_string(dim[2]) +
")";
42 for(
size_t i = 0; i < nPoints; i++)
43 noiseData[i] = ((
float)std::rand()) / ((float)RAND_MAX);
47 outputImage->GetPointData()->AddArray(noise);
#define ttkNotUsed(x)
Mark function/method parameters that are not used in the function body at all.
~ttkCinemaDarkroomNoise() override
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Base Class for all CinemaDarkroom Shaders.
static void * GetVoidPointer(vtkDataArray *array, vtkIdType start=0)
void setDebugMsgPrefix(const std::string &prefix)
int printMsg(const std::string &msg, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const
vtkStandardNewMacro(ttkCinemaDarkroomNoise)