MCPcopy Create free account
hub / github.com/MITK/MITK / GenerateRandomImage

Function GenerateRandomImage

Modules/Core/include/mitkImageGenerator.h:161–266  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

159 */
160 template <typename TPixelType>
161 static mitk::Image::Pointer GenerateRandomImage(unsigned int dimX,
162 unsigned int dimY,
163 unsigned int dimZ = 1,
164 unsigned int dimT = 1,
165 mitk::ScalarType spacingX = 1,
166 mitk::ScalarType spacingY = 1,
167 mitk::ScalarType spacingZ = 1,
168 const double randomMax = 1000.0f,
169 const double randMin = 0.0f)
170 {
171 // set the data type according to the template
172 mitk::PixelType type = MakeScalarPixelType<TPixelType>();
173 // type.Initialize(typeid(TPixelType));
174
175 // initialize the MITK image with given dimension and data type
176 mitk::Image::Pointer output = mitk::Image::New();
177 auto dimensions = new unsigned int[4];
178 unsigned int numberOfDimensions = 0;
179 unsigned int bufferSize = 0;
180
181 // check which dimension is needed
182 if (dimT <= 1)
183 {
184 if (dimZ <= 1)
185 { // 2D
186 numberOfDimensions = 2;
187 dimensions[0] = dimX;
188 dimensions[1] = dimY;
189 bufferSize = dimX * dimY;
190 }
191 else
192 { // 3D
193 numberOfDimensions = 3;
194 dimensions[0] = dimX;
195 dimensions[1] = dimY;
196 dimensions[2] = dimZ;
197 bufferSize = dimX * dimY * dimZ;
198 }
199 }
200 else
201 { // 4D
202 numberOfDimensions = 4;
203 dimensions[0] = dimX;
204 dimensions[1] = dimY;
205 dimensions[2] = dimZ;
206 dimensions[3] = dimT;
207 bufferSize = dimX * dimY * dimZ * dimT;
208 }
209 output->Initialize(type, numberOfDimensions, dimensions);
210 mitk::Vector3D spacing;
211 spacing[0] = spacingX;
212 spacing[1] = spacingY;
213 spacing[2] = spacingZ;
214 output->SetSpacing(spacing);
215
216 // get a pointer to the image buffer to write into
217 TPixelType *imageBuffer = nullptr;
218 try

Callers

nothing calls this directly

Calls 5

GetComponentTypeMethod · 0.80
NewFunction · 0.70
InitializeMethod · 0.45
SetSpacingMethod · 0.45
GetDataMethod · 0.45

Tested by

no test coverage detected