RasterRegisterer
Transforms an image to minimize its difference with another.
Typical Uses
- Medical image processing
- Image noise reduction
- Computer Vision
How does it work?
The RasterRegisterer accepts two sets of raster features:
- Fixed Images, through the Fixed port, which provide a reference onto which moving images will be transformed.
- Moving Images, through the Moving port, which will be transformed to match the fixed one.
Fixed images and moving images will be grouped according to the Group By parameter. For each pair of matched features, a new feature will be output from the Registered output port. This feature will be the registered version of the moving image.
Non-raster features will be rejected.
The registration process
The registration process operates on two images. Once a moving image is paired with a fixed image, the registration process begins.
The moving image is transformed in the attempt to minimize the “difference” with the fixed image, which is determined by a metric. A metric is a function that takes to images and outputs a number that indicates how different they are. The metric value increases when the fixed and moving images are increasingly dissimilar. This transformer attempts to construct a transformation that, when applied to the moving image (creating the registered image), minimizes the metric value.
The construction of such a transformation is treated as an optimization problem. The RasterRegisterer starts from an initial transformation and iteratively modifies it in an attempt to minimize the metric value. This process can stop when either a certain tolerance is met, no further improvements can be made, or after a certain number of iterations.
Transformation modifications are performed according to the specified optimizer. The optimizer is a tool that evaluates whether the last change improved the metric value and takes action accordingly, to make a new change to the transformation. At every iteration the change made to the metric is called the step. The way the optimizer controls the transformation is by its transformation parameters. Transformation parameters are a set of free variables that uniquely determine a transformation and are exposed to the optimizer.
The RasterRegisterer offers a choice of Metric, Transformation, and Optimizer options.
Selecting Raster Bands and Palette
The RasterRegisterer operates on whole rasters and ignores any specific band or palette selection.
Alpha Bands and Nodata values
Alpha bands can be used to determine whether a certain pixel of the image will be used for registration.
Both the moving and fixed image may have an alpha band. If, at a given point, either the moving or the fixed image’s alpha band have a zero value, that point will not be used for metric evaluation.
For all values other than zero, the metric will be evaluated at that point. What the value is makes no difference.
Rasters with more than one alpha band will be rejected.
Attributes
Attributes from the moving feature will be preserved when output via the Registered port. Rejected features will preserve attributes from both ports.
Coordinate system handling
Features must be in comparable coordinate systems to be registered.
If the Fixed Image of a group has specified a coordinate system then all the Moving Images must have a coordinate system as well. Moving features without a coordinate system would be rejected in this case.
Whereas, if the Fixed Image does not have coordinate system specified, moving features in the same group, that do specify a coordinate system, will be rejected.
If the coordinate systems of a Moving Image and Fixed Image differ, the RasterRegisterer will attempt to reproject the Moving Image onto the coordinate system of the Fixed Image before registering. Moving images that could not be reprojected will also be rejected.
The Registered feature will be in the coordinate system space of the Fixed image.
Usage Notes
Choosing a Raster Transformer
FME has an extensive selection of transformers for working with raster data. They can be generally categorized as working with whole rasters, bands, cells or palettes, and those designed for workflow control or combining raster with vector data.
For information on raster geometry and properties, see Rasters (IFMERaster).
Working with Rasters
RasterCellOriginSetter | Sets the cell origin point within cells in a raster. |
RasterConvolver |
Applies a convolution filter (sometimes called a kernel or lens) to raster features and outputs the results. |
RasterExpressionEvaluator | Evaluates expressions on each cell in a raster or pair of rasters, including algebraic operations and conditional statements. |
RasterExtentsCoercer | Replaces the geometry of input raster features with a polygon covering either the extents of a raster or the extent of data within a raster. |
RasterGCPExtractor | Extracts Ground Control Point (GCP) coordinate system and point values from a raster feature and exposes them as attributes. |
RasterGCPSetter | Sets Ground Control Points (GCPs) on a raster, pairing cell positions with known coordinates. |
RasterGeoreferencer | Georeferences a raster by either known corner coordinates or origin, cell size, and rotation. |
RasterHillshader | Generates a grayscale shaded relief representation of terrain, based on elevation values. |
RasterInterpretationCoercer |
Alters the interpretation type of rasters, including all bands, and converts cell values if necessary. |
RasterMosaicker | Merges multiple raster features into a single raster feature. |
RasterPropertyExtractor | Extracts the geometry properties of a raster feature and exposes them as attributes. |
RasterPyramider | Resamples rasters to multiple resolutions, based on either number of levels or dimensions of the smallest output raster. |
RasterRegisterer | Transforms an image to minimize its difference with another. |
RasterResampler | Resamples rasters, based on specified output dimensions, cell size in ground units, or percentage of original, and interpolates new cell values. |
RasterRotationApplier |
Rotates a raster feature according to its rotation angle property, interpolating new cell values, updating all other affected raster properties, and producing an output raster feature with a rotation angle of zero. |
RasterSharpener | Enhances the features of a raster image. The RasterSharpener enhances the borders, lines, and curves while reducing noise in the flat areas of the raster image. |
RasterSubsetter | Clips raster features using pixel bounds instead of ground coordinates, and optionally adds cells around the perimeter. |
RasterTiler | Splits each input raster into a series of tiles by specifying either a tile size in cells/pixels or the number of tiles. |
RasterToPolygonCoercer | Creates polygons from input raster features. One polygon is output for each contiguous area of pixels with the same value in the input raster. |
WebMapTiler | Creates a series of image tiles that can be utilized by web mapping applications such as Bing™ Maps, Google Maps™, or Web Map Tile Service. This is done by resampling rasters to various different resolutions and then splitting them into tiles. |
Working with Bands
RasterBandAdder | Adds a new band to a raster feature. |
RasterBandCombiner | Merges coincidental raster features into a single output raster feature, preserving and appending all bands. |
RasterBandInterpretationCoercer |
Alters the interpretation type of individual raster bands, converting cell values if necessary. |
RasterBandKeeper |
Removes all unselected bands from a raster feature. |
RasterBandMinMaxExtractor | Extracts the minimum and maximum band values, palette keys, and palette values from a raster feature, and adds them to a list attribute. |
RasterBandNameSetter | Sets the band name of selected bands on a raster, making raster contents simpler to understand compared to band numbers. |
RasterBandNodataRemover | Removes the existing Nodata identifier from selected bands of a raster feature. Any values previously equal to the Nodata value are considered valid data. |
RasterBandNodataSetter | Sets a new Nodata value on selected bands of a raster feature. |
RasterBandOrderer | Specifies the required order of bands in a raster. Bands are reordered according to the input band indices. |
RasterBandPropertyExtractor | Extracts the band and palette properties of a raster feature and exposes them as attributes. |
RasterBandRemover | Removes any selected bands from a raster feature. |
RasterBandSeparator | Separates bands or unique band and palette combinations, and outputs either individual raster features or a single new raster feature containing all combinations. |
RasterStatisticsCalculator | Calculates statistics on raster bands and adds the results as attributes. |
Working with Cells
RasterAspectCalculator |
Calculates the aspect (direction of slope) for each cell of a raster. Aspect is measured in degrees from 0 to 360, clockwise from north. |
RasterCellCoercer | Creates individual points or polygons for each cell in a raster, optionally extracting band values as z coordinates or attributes. |
RasterCellValueCalculator | Evaluates basic arithmetic , minimum, maximum or average operations on the cell values of a pair of rasters. |
RasterCellValueReplacer | Replaces a range of band values in a raster with a new single value. |
RasterCellValueRounder | Rounds off raster cell values. |
RasterSegmenter | Partitions a raster image into arbitrarily sized groups of cells from the input image based on intensity differences in the input raster image cells. |
RasterSingularCellValueCalculator | Performs basic arithmetic operations on the cell values of a raster against a numeric value. |
RasterSlopeCalculator | Calculates the slope (maximum rate of change in z) for each cell of a raster. |
Working with Palettes
RasterPaletteAdder |
Creates a palette from an attribute, and adds this palette to all selected bands on a raster. |
RasterPaletteExtractor | Creates a string representation of an existing palette on a raster and saves it to an attribute. |
RasterPaletteGenerator | Generates a palette out of the selected band(s) of a raster. The output raster will have the selected band(s) replaced by a new band with a palette. |
RasterPaletteInterpretationCoercer |
Alters the interpretation type of raster palettes. |
RasterPaletteNodataSetter |
Identifies the palette key that matches a raster band’s Nodata value, and sets a value on it. |
RasterPaletteRemover | Removes selected palette(s) from raster features. |
RasterPaletteResolver | Resolves the palette(s) on a raster by replacing cell values with their corresponding palette values. Palette values with multiple components, such as RGB, are broken down and the individual values assigned to multiple, newly-added bands. |
Workflow Control
RasterCheckpointer | Forces accumulated raster operations to be processed, saving the state to disk and releasing resources to tune performance or assist with memory limitations. |
RasterConsumer | Reads raster features for testing purposes, including any accumulated raster operations. No additional operations are performed, and nothing is done with the features. |
RasterExtractor | Serializes the geometry of a raster feature into a Blob attribute, encoding the contents according to a choice of common binary raster formats. |
RasterNumericCreator | Creates a numeric raster of specified size and resolution, with default cell values. |
RasterReplacer | Decodes a binary attribute containing encoded rasters stored as Blobs, replacing the feature’s geometry with the decoded raster. |
RasterRGBCreator | Creates a color raster feature of specified size, resolution, and interpretation type, with default cell values. |
RasterSelector |
Selects specific bands and palettes of a raster for subsequent transformer operations. |
Vectors and Rasters
ImageRasterizer | Creates a raster representation of vector or point cloud input features, using the fme_color attribute over a solid background fill for vector features. Point clouds may be rendered using their color or intensity components. |
NumericRasterizer | Creates a numeric raster representation of vector or point cloud input features, where cell values are taken from the z coordinates of the input features and overlaid on a uniform background. |
MapnikRasterizer | Generates a raster from input vector and raster features, with fine control over symbolization and labeling, using the Mapnik toolkit. |
PointCloudOnRasterComponentSetter | Sets point cloud component values by overlaying a point cloud on a raster. The component values for each point are interpolated from band values at the point location. |
PointOnRasterValueExtractor | Extracts the band and palette values from a raster at the location of one or more input points and sets them as attributes on the feature. |
RasterDEMGenerator | Produces a raster digital elevation model (DEM) by uniformly sampling a Delaunay triangulation generated from input points and breaklines. |
VectorOnRasterOverlayer | Rasterizes vector or point cloud features onto an existing raster. For vector features the fme_color attribute sets pixel color, and point clouds may be rendered using their color or intensity components. |
Configuration
Input Ports
Accepts raster images to be used as fixed images in the registration process
This transformer accepts only raster features. Palettes are not supported and will be resolved prior to registration.
Features will be grouped according to the Group by Parameter to form a group. A group can have one or more Moving Images and exactly one Fixed Image, and all Moving Images of the group will be registered against the Fixed Image of that group.
Accepts raster images to be used as moving images in the registration process
This transformer accepts only raster features. Palettes are not supported and will be resolved prior to registration.
Features will be grouped according to the Group by Parameter to form a group. A group can have 1 or more Moving Images and exactly one Fixed Image, and all Moving Images of the group will be registered against the Fixed Image of that group.
Output Ports
Output registered moving images.
Non-raster features, invalid rasters, and Moving and Fixed Images that could not be paired will be routed to the <Rejected> port.
Rejected features will have an fme_rejection_code attribute with one of the following values:
INVALID_RASTER_PALETTE
INVALID_RASTER_TOO_MANY_BANDS
INVALID_RASTER_NO_BAND
INVALID_RASTER_INCONSISTENT_BAND_SIZE
INVALID_RASTER_INCONSISTENT_BAND_INTERPRETATION
INVALID_RASTER_CELL_VALUE_OUT_OF_BOUNDS
INVALID_RASTER_ALL_BANDS_CONSTANT
INVALID_GEOMETRY_NAN
INVALID_GEOMETRY_COORDINATE_SYSTEM
INVALID_GEOMETRY_TYPE
INVALID_GEOMETRY_NO_INTERSECTION
MISSING_FIXED_IMAGE
NO_VALID_MOVING_IMAGES
TOO_MANY_FIXED_IMAGES
Rejected Feature Handling: can be set to either terminate the translation or continue running when it encounters a rejected feature. This setting is available both as a default FME option and as a workspace parameter.
Parameters
Group By |
If Group By attributes are selected, features with the same values in the Group By attributes are grouped together, and features will only be registered with other features in the same group. All moving images of a given group of features will be registered against the single fixed image of that group. Optional |
Group By Mode |
Process At End (Blocking): This is the default behavior. Processing will only occur in this transformer once all input is present. Process When Group Changes (Advanced): This transformer will process input groups in order. Changes of the value of the Group By parameter on the input stream will trigger processing on the currently accumulating group. This may improve overall speed (particularly with multiple, equally-sized groups), but could cause undesired behavior if input groups are not truly ordered. Considerations for Using Group By
There are two typical reasons for using Process When Group Changes (Advanced) . The first is incoming data that is intended to be processed in groups (and is already so ordered). In this case, the structure dictates Group By usage - not performance considerations. The second possible reason is potential performance gains. Performance gains are most likely when the data is already sorted (or read using a SQL ORDER BY statement) since less work is required of FME. If the data needs ordering, it can be sorted in the workspace (though the added processing overhead may negate any gains). Sorting becomes more difficult according to the number of data streams. Multiple streams of data could be almost impossible to sort into the correct order, since all features matching a Group By value need to arrive before any features (of any feature type or dataset) belonging to the next group. In this case, using Group By with Process At End (Blocking) may be the equivalent and simpler approach. Note: Multiple feature types and features from multiple datasets will not generally naturally occur in the correct order. As with many scenarios, testing different approaches in your workspace with your data is the only definitive way to identify performance gains. |
These determine what kind of registration you are performing.
Metric |
The metric is the function that, given two images, returns a number indicating how much they differ one from the other. Single Modality Default (Default): Alias to the Mean Squares metric. Multi Modality Default: Alias to the Mattes Mutual Information metric. Mean Squares: Use the Mean of the squared pixel values to compute how different the images are. Useful for comparing images of the same modality (MRIs with MRIs and Visible images with Visible images) with similar intensities. This metric is positive and smaller values indicate a better match. Correlation: Normalized Cross Correlation image metric. Works well in deformable registration of images of the same modality, with similar intensities. This metric is negative and negative values of greater magnitude indicate a better match. Mattes Mutual Information: Mutual Information Metric by Mattes et al. This metric is designed to handle images of different modalities, but works well. This metric is negative and negative values of greater magnitude indicate a better match. Required |
Transformation |
Choose how the moving image can be transformed to match the moving one. Affine: (Default) Transformation that preserve points and straight lines. (3 parameters) Rigid: Transformation that preserves all shapes and areas. (6 parameters) BSpline: Deformable transformation using a BSpline representation with third order splines. A deformation is defined by setting deformation vectors for each point on a sparse regular grid of control points, called mesh points. The deformation vector at non mesh points is obtained by using a cubic spline interpolation kernel. (32 or more parameters, 128 by default) Required |
Optimizer |
The optimizer is the component that iteratively tweaks the transformation that matches the moving image with the fixed one. All optimizers have different characteristics and each have scenarios for which they are better suited than others. Choosing one is usually a matter of trial and error and intuition. However optimizers do have their particular characteristics. Regular Step Gradient Descent (Default): A Gradient Descent optimizer that reduces the step when it detects a change in the derivative, by multiplying the step by a relaxation factor. Fast and robust in early stages of registration, gets slower as the metric starts to converge. Good for early low resolution stages. Conjugate Gradient: A Conjugate Gradient optimizer where each Gradient Descent iteration is followed by a line search to find the best value for the learning rate. Faster but less robust than Regular Step Gradient Descent. Better suited for a later stage of a multi stage registration process. Quasi Newton: A Quasi Newton Optimizer with Broyden Fletcher Goldfarb Shannon (BFGS) minimization. This optimizer can be the metric to converge very quickly when the metric value is already small. It works well in the final stages of a multi stage registration process. Amoeba: Implementation of the Nelder-Meade downhill simplex problem. It explores the parameter space by changing the shape of a convex polygon (specifically a simplex). When it converges, it can converge quickly from an early stage, but is very sensitive to local minima. One Plus One Evolutionary: Use an evolutionary strategy to minimize the metric. This optimizer has a chaotic behavior that causes a large parameter space to be explored but it can be very slow at all stages. It should perform better with the Mattes Mutual Information metric. Required |
Depending on the value of the Optimizer parameter, different parameters will be available in the Termination Conditions and Optimization Parameters sections. These parameters are described below.
Termination Conditions
Minimum Step |
Halt when the Gradient Magnitude of the transformation parameters is less than this value. Floating-point value. Default: 0.001. Required |
Tolerance |
Halt when change in the metric is less than this value. Floating-point value. Default: 0.001. Required |
Max Iterations |
Halt after this number of iterations. Positive integer. Default: 1500. Required |
Optimization Parameters
Estimate Learning Rate |
Yes (Default): Automatically determine how quickly to alter the transformation in the direction of an improvement. More robust, but it may take much longer than setting a default. No: Manually set a learning rate. Required |
Learning Rate |
Learning coefficient in the gradient descent update equation. Increase if the metric values are decreasing too slowly and decrease if the metric values are overshooting a potential minimum or producing results far from a reasonable registration. Floating-point value. Default: 1. Required when Estimate Learning Rate is set to No |
Relaxation Factor |
When the optimizer detects a change in the derivative of the metric, it multiplies the next step by a relaxation factor, to shorten it. If the metric values are converging too slowly increasing this parameter towards 1 might help, while reducing it might aid convergence. Floating-point value strictly between 0 and 1. Default: 0.5. Required |
Termination Conditions
Convergence Window |
Look back at this many iterations to check for convergence. Positive integer. Default: 10. Required |
Convergence Value Tolerance |
Coefficient that determines the sensitivity of the convergence checker. Floating-point value. Default: 1e-6. Required |
Max Iterations |
Halt after this number of iterations. Positive integer. Default: 1500. Required |
Optimization Parameters
Estimate Learning Rate |
Yes (Default): Automatically determine a starting learning rate. No: Manually set a starting learning rate. Required |
Initial Learning Rate |
Initial value for the learning rate The learning rate is the learning coefficient in the gradient descent update equation. Increase if the metric values are decreasing too slowly and decrease if the metric values are overshooting a potential minimum or producing results far from a reasonable registration within a few iterations. Floating-point value. Default: 1. Required when Estimate Learning Rate is set to No |
Minimum Learning Rate Multiplier |
Control how much can the metric decrease between updates. The lower bound of the interval in which a line search is performed to find a learning rate is determined by multiplying the current learning rate value by this number. For example, if for one iteration the learning rate is 5, and the minimum learning rate multiplier is 0.5, the learning rate in the next iteration will be somewhere between 2.5 and the maximum. Non negative floating-point value. Default: 0. Required |
Maximum Learning Rate Multiplier |
Control how much can the metric increase between updates. The upper bound of the interval in which a line search is performed to find a learning rate is determined by multiplying the current learning rate value by this number. For example, if for one iteration the learning rate is 5, and the minimum learning rate multiplier is 1.5, the learning rate in the next iteration will be somewhere between the minimum and 7.5. When both the Maximum and the Minimum learning rate are set to 1, this optimizer behaves like a regular gradient descent optimizer. Positive floating-point value. Default: 20. Required |
Line Search Tolerance |
Control the accuracy of the line search. Positive floating-point value. Default: 0.2. Required |
Termination Conditions
Convergence Window |
Look back at this many iterations to check for convergence. Positive integer. Default: 10. Required |
Convergence Value Tolerance |
Coefficient that determines the sensitivity of the convergence checker. Floating-point value. Default: 1e-6. Required |
Iterations Without Progress |
Halt if the metric hasn’t improved in this many iterations. Positive integer. Default: 30. Required |
Max Iterations |
Halt after this number of iterations. Positive integer. Default: 1500. Required |
Termination Conditions
Transformation Tolerance |
Halt when the magnitude of the changes to the transformation parameters are less than this value. Non negative floating-point value. Default: 1e-5. Required |
Metric Tolerance |
Halt when the change in the metric is less than this value. Non negative floating-point value. Default: 1e-5. Required |
Max Iterations |
Halt after this number of iterations. Positive integer. Default: 1500. Required |
Optimization Parameters
On Convergence |
Terminate (Default): End the Optimization process once the termination conditions are met. Restart: Restart the optimization process with a simplex with edges of half the size. Required |
Termination Conditions
Max Iterations |
Halt after this number of iterations. Positive integer. Default: 1500. Required |
Optimization Parameters
Initial Search Radius |
Set the initial search radius. The Search radius determines how different transformation parameter solutions can be in between steps. Subsequent iterations will alter the search radius. Increasing this parameter reduces computation time at the cost of accuracy. Non negative floating-point value. Default: 0.1. Required |
Minimum Search Radius |
Choose transformation parameter solutions further than this value. Increasing will speed up convergence, but increases the risk of failing to converge. Non negative floating-point value. Default: 1e-6. Required |
Center Initialization |
Center of Mass (Default): Compute the center of the images as the "center of mass" of the image, using pixel intensities, then align the centers of the images prior to registration. Extents: Use the image extents, described in the raster properties, to compute the center of the image, then align the centers of the images prior to registration. None: Register the images in the position they come in. Note: Even if the images are already aligned for registration, enabling the appropriate form of center initialization can still improve the performance and accuracy of this transformer. This happens because center initialization also alters the “center” of the image, which is used as a reference. Required |
Metric Sampling Strategy |
It is often not necessary to use all of the image to evaluate the metric, but a subset may suffice. This parameter controls the strategy used for selection of points for metric evaluation. Sampling happens on the already shrunken and smoothed image if those options are enabled. Regular (Default): Choose a subset of the pixels of the image, distributed according to a constant pattern, for metric evaluation. Random: Choose a random subset of points to evaluate the metric at. None: Use the whole image for metric evaluation. This is a slower option, useful when the image has a fine pattern. Required |
Metric Sampling Rate |
Control what percentage of pixels in the image to use for metric evaluation. Decreasing this parameter trades performance at the cost of accuracy. Values between 10 and 50 are generally good for medical images. Noisy or detailed images can register worse with lower sampling rates than other images. Floating-point value between 0 and 100. Default: 50. Required with a Metric Sampling Strategy other than None. |
Shrink Factor |
Shrink the images by this factor before registration. Greater values make registration happen on smaller images which can make registration faster and more robust in earlier stages. A shrink factor, combined with setting a non zero smoothing factor, makes the metric smoother. The input images are only shrunk for the registration process, the output raster will have the full resolution. This option is used to create a multi stage resolution process, by chaining multiple RasterRegisterers with decreasing shrink factors and smoothing factors. To register at full resolution set the shrink factor to 1. This option is used to create a multi stage resolution process, by chaining multiple RasterRegisterers with decreasing shrink factors and decreasing smoothing coefficients. Floating-point value greater than or equal to 1. Default: 1. Required |
Smoothing Factor |
Apply and control Gaussian Smoothing on the images. Positive values of this option set the standard deviation of the blur equation. 0 disables the Smoothing. A shrink factor, combined with setting a non zero smoothing factor, makes the metric smoother. This option is used to create a multi stage resolution process, by chaining multiple RasterRegisterers with decreasing shrink factors and decreasing smoothing coefficients. Non negative floating-point value. Default: 0. Required |
Registered Extents From |
Fixed Image (Default): The registered image will have the same extents as the fixed image. Pixel values will be interpolated. Good for the terminal stage of a multi stage registration as it allows for direct comparison of pixel values. Computed Transform: The registered image will have the extents obtained by applying the computed transformation. Doesn’t affect pixel values by only raster properties. Good for non terminal stages of a multi stage registration as it doesn’t require interpolation. Note: Neither option requires the images to have the same extents to begin with. Required when a rigid or affine transformation is selected |
B-Spline Control Points per Dimension |
Set the mesh size, by setting its number of control points per side. The mesh consists of a grid of vectors that represent a movement of a pixel from one point to another. A B-Spline transformation is constructed by manipulating these points. The BSpline transformation has 2*ControlPointsPerDimension^2 parameters, one parameter for each coordinate of each point of the mesh. This numbers grows quickly and optimizers can take longer to evaluate the step in the transformation. Integer greater than 4. Default: 8. Required when the Transformation is set to BSpline |
Editing Transformer Parameters
Using a set of menu options, transformer parameters can be assigned by referencing other elements in the workspace. More advanced functions, such as an advanced editor and an arithmetic editor, are also available in some transformers. To access a menu of these options, click beside the applicable parameter. For more information, see Transformer Parameter Menu Options.
Defining Values
There are several ways to define a value for use in a Transformer. The simplest is to simply type in a value or string, which can include functions of various types such as attribute references, math and string functions, and workspace parameters. There are a number of tools and shortcuts that can assist in constructing values, generally available from the drop-down context menu adjacent to the value field.
Using the Text Editor
The Text Editor provides a convenient way to construct text strings (including regular expressions) from various data sources, such as attributes, parameters, and constants, where the result is used directly inside a parameter.
Using the Arithmetic Editor
The Arithmetic Editor provides a convenient way to construct math expressions from various data sources, such as attributes, parameters, and feature functions, where the result is used directly inside a parameter.
Conditional Values
Set values depending on one or more test conditions that either pass or fail.
Parameter Condition Definition Dialog
Content
Expressions and strings can include a number of functions, characters, parameters, and more.
When setting values - whether entered directly in a parameter or constructed using one of the editors - strings and expressions containing String, Math, Date/Time or FME Feature Functions will have those functions evaluated. Therefore, the names of these functions (in the form @<function_name>) should not be used as literal string values.
These functions manipulate and format strings. | |
Special Characters |
A set of control characters is available in the Text Editor. |
Math functions are available in both editors. | |
Date/Time Functions | Date and time functions are available in the Text Editor. |
These operators are available in the Arithmetic Editor. | |
These return primarily feature-specific values. | |
FME and workspace-specific parameters may be used. | |
Creating and Modifying User Parameters | Create your own editable parameters. |
Dialog Options - Tables
Transformers with table-style parameters have additional tools for populating and manipulating values.
Row Reordering
|
Enabled once you have clicked on a row item. Choices include:
|
Cut, Copy, and Paste
|
Enabled once you have clicked on a row item. Choices include:
Cut, copy, and paste may be used within a transformer, or between transformers. |
Filter
|
Start typing a string, and the matrix will only display rows matching those characters. Searches all columns. This only affects the display of attributes within the transformer - it does not alter which attributes are output. |
Import
|
Import populates the table with a set of new attributes read from a dataset. Specific application varies between transformers. |
Reset/Refresh
|
Generally resets the table to its initial state, and may provide additional options to remove invalid entries. Behavior varies between transformers. |
Note: Not all tools are available in all transformers.
Reference
Processing Behavior |
|
Feature Holding |
No |
Dependencies | None |
Aliases | |
History |
FME Community
The FME Community is the place for demos, how-tos, articles, FAQs, and more. Get answers to your questions, learn from other users, and suggest, vote, and comment on new features.
Search for all results about the RasterRegisterer on the FME Community.
Examples may contain information licensed under the Open Government Licence – Vancouver and/or the Open Government Licence – Canada.