- inputThe mesh we want to modify
C++ Type:MeshGeneratorName
Unit:(no unit assumed)
Controllable:No
Description:The mesh we want to modify
ImageSubdomainGenerator
Samples an image at the coordinates of each element centroid, using the resulting pixel color value as each element's subdomain ID
Example Syntax
Normal usage of ImageSubdomainGenerator involves creation of a standard mesh (in the example, GeneratedMeshGenerator
), using that mesh as the input for ImageSubdomainGenerator, and providing an image to sample. See an example below:
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 41
ny = 41
[]
[./image]
input = gen
type = ImageSubdomainGenerator
file = kitten.png
threshold = 100
[../]
[]
(moose/test/tests/preconditioners/fsp/fsp_test_image.i)In this example, the parameter threshold
is used. This sets a color value above which the subdomain ID is set to upper_value
(default = 1) and below which the subdomain ID is set to lower_value
(default = 0). More information about these and other extended parameters can be seen below in the Input Parameters section.
Input Image (kitten.png)
Mesh Subdomain ID Output
Input Parameters
- componentThe image RGB-component to return, leaving this blank will result in a greyscale value for the image to be created. The component number is zero based, i.e. 0 returns the first (RED) component of the image.
C++ Type:unsigned int
Unit:(no unit assumed)
Controllable:No
Description:The image RGB-component to return, leaving this blank will result in a greyscale value for the image to be created. The component number is zero based, i.e. 0 returns the first (RED) component of the image.
- dimensionsx,y,z dimensions of the image (defaults to mesh dimensions)
C++ Type:libMesh::Point
Unit:(no unit assumed)
Controllable:No
Description:x,y,z dimensions of the image (defaults to mesh dimensions)
- fileName of single image file to extract mesh parameters from. If provided, a 2D mesh is created.
C++ Type:FileName
Unit:(no unit assumed)
Controllable:No
Description:Name of single image file to extract mesh parameters from. If provided, a 2D mesh is created.
- file_baseImage file base to open, use this option when a stack of images must be read (ignored if 'file' is given)
C++ Type:FileNameNoExtension
Unit:(no unit assumed)
Controllable:No
Description:Image file base to open, use this option when a stack of images must be read (ignored if 'file' is given)
- file_rangeRange of images to analyze, used with 'file_base' (ignored if 'file' is given)
C++ Type:std::vector<unsigned int>
Unit:(no unit assumed)
Controllable:No
Description:Range of images to analyze, used with 'file_base' (ignored if 'file' is given)
- file_suffixSuffix of the file to open, e.g. 'png'
C++ Type:std::string
Unit:(no unit assumed)
Controllable:No
Description:Suffix of the file to open, e.g. 'png'
- originOrigin of the image (defaults to mesh origin)
C++ Type:libMesh::Point
Unit:(no unit assumed)
Controllable:No
Description:Origin of the image (defaults to mesh origin)
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Set the enabled status of the MooseObject.
- save_with_nameKeep the mesh from this mesh generator in memory with the name specified
C++ Type:std::string
Unit:(no unit assumed)
Controllable:No
Description:Keep the mesh from this mesh generator in memory with the name specified
Advanced Parameters
- flip_xFalseFlip the image along the x-axis
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Flip the image along the x-axis
- flip_yFalseFlip the image along the y-axis
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Flip the image along the y-axis
- flip_zFalseFlip the image along the z-axis
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Flip the image along the z-axis
Flip Parameters
- lower_value0The value to set for data less than the threshold value
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The value to set for data less than the threshold value
- thresholdThe threshold value
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The threshold value
- upper_value1The value to set for data greater than the threshold value
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The value to set for data greater than the threshold value
Threshold Parameters
- nemesisFalseWhether or not to output the mesh file in the nemesisformat (only if output = true)
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Whether or not to output the mesh file in the nemesisformat (only if output = true)
- outputFalseWhether or not to output the mesh file after generating the mesh
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Whether or not to output the mesh file after generating the mesh
- show_infoFalseWhether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Whether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)
Debugging Parameters
- scale1Multiplier to apply to all pixel values; occurs after shifting
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Multiplier to apply to all pixel values; occurs after shifting
- shift0Value to add to all pixels; occurs prior to scaling
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Value to add to all pixels; occurs prior to scaling