Abstract:
A system and method for automatically generating a second graphical program based on a first graphical program. The first graphical program may be associated with a first programming development environment. For example, a user may have interactively created the first graphical program from within the first programming development environment, e.g., by using an editor to place various nodes on a block diagram, such that the nodes visually indicate functionality of the first graphical program. The method may operate to automatically, i.e., automatically, generate a second graphical program based on the first graphical program, such that the second graphical program is associated with a second programming development environment. The method may generate the second graphical program automatically, without relying on user input, or may prompt for user input to determine various options to use in generating the second graphical program. The second graphical program may implement the functionality of, or a portion of the functionality of, the first graphical program. The method preferably generates the second graphical program such that the second programming development environment is operable to treat the second graphical program identically to a graphical program interactively developed by a user using the second programming development environment. Thus, once the second graphical program has been generated, the user may use the second programming development environment to edit the second graphical program, execute the second graphical program, etc.
Abstract:
System and method for estimating a rotational shift between a first discrete curve and a second discrete curve, where the second discrete curve is a rotationally shifted version of the first discrete curve. First and second discrete curves are received. A rotational shift between the first discrete curve and the second discrete curve is estimated based on the first discrete curve and the second discrete curve. A cumulative rotational shift is updated based on the estimated rotational shift. A rotationally shifted version of the second discrete curve is generated based on the cumulative rotational shift. The estimating, updating, and generating are performed in an iterative manner using the respective rotationally shifted discrete curve for each iteration until a stopping condition occurs, thereby determining a final estimate of the rotational shift between the first discrete curve and the second discrete curve. The final estimate may be used to perform curve matching.
Abstract:
System and method for estimating a rotational shift between a first discrete curve and a second discrete curve, where the second discrete curve is a rotationally shifted version of the first discrete curve. First and second discrete curves are received. A rotational shift between the first discrete curve and the second discrete curve is estimated based on the first discrete curve and the second discrete curve. A cumulative rotational shift is updated based on the estimated rotational shift. A rotationally shifted version of the second discrete curve is generated based on the cumulative rotational shift. The estimating, updating, and generating are performed in an iterative manner using the respective rotationally shifted discrete curve for each iteration until a stopping condition occurs, thereby determining a final estimate of the rotational shift between the first discrete curve and the second discrete curve. The final estimate may be used to perform curve matching.
Abstract:
A system and method for selecting a best match of a received input signal from a set of candidate signals, wherein two or more of the candidate signals are uncorrelated. In a preprocessing phase a signal transform (UST) is determined from the candidate signals. The UST converts each candidate signal to a generalized frequency domain. The UST is applied at a generalized frequency to each candidate signal to calculate corresponding generalized frequency component values (GFCVs) for each candidate signal. At runtime, the input signal of interest is received, and the UST is applied at the generalized frequency to the input signal of interest to calculate a corresponding GFCV. The best match is determined between the GFCV of the input signal of interest and the GFCVs of each of the set of candidate signals. Finally, information indicating the best match candidate signal from the set of candidate signals is output.
Abstract:
System and method for characterizing configurations of discrete curves based on detected symmetries in the configuration. A configuration of discrete closed curves is received. A plurality of configuration rotational symmetry sub-groups of the configuration are determined, each associated with one or more of the discrete curves, and based on each curve's distance from a configuration center of mass, equivalence class, rotational symmetry group, and sub-configuration rotational symmetry group. The configuration rotational symmetry sub-groups are determined by normalizing the configuration, including determining a configuration center of mass, determining the equivalence class and rotational symmetry group for each discrete curve, determining one or more subsets of the discrete curves based on each discrete curve's equivalence class and distance from the configuration center of mass, and determining configuration rotational symmetry sub-groups for each of the subsets based on each curve's rotational symmetry group, and relative orientations of the discrete curves in the subset.
Abstract:
System and method for programmatically generating a second graphical program associated with a second programming development environment based on a first graphical program associated with a first programming development environment. The second graphical program may be generated programmatically, without relying on user input, or may prompt for user input to determine various options to use in generating the second graphical program. The second graphical program may implement the functionality of, or a portion of the functionality of, the first graphical program. The method preferably generates the second graphical program such that the second programming development environment is operable to treat the second graphical program identically to a graphical program interactively developed by a user using the second programming development environment. Thus, once the second graphical program has been generated, the user may use the second programming development environment to edit the second graphical program, execute the second graphical program, etc.
Abstract:
A system and method for performing a curve fit on a plurality of data points. In an initial phase, a subset Pmax of the plurality of points which represents an optimal curve is determined. This phase is based on a statistical model which dictates that after trying at most Nmin random curves, each connecting a randomly selected two or more points from the input set, one of the curves will pass within a specified radius of the subset Pmax of the input points. The subset Pmax may then be used in the second phase of the method, where a refined curve fit is made by iteratively culling outliers from the subset Pmax with respect to a succession of optimal curves fit to the modified subset Pmax at each iteration. The refined curve fit generates a refined curve, which may be output along with a final culled subset Kfinal of Pmax.
Abstract:
A system and method for selecting a best match of a received input signal from a set of candidate signals, wherein two or more of the candidate signals are uncorrelated. In a preprocessing phase a signal transform (UST) is determined from the candidate signals. The UST converts each candidate signal to a generalized frequency domain. The UST is applied at a generalized frequency to each candidate signal to calculate corresponding generalized frequency component values (GFCVs) for each candidate signal. At runtime, the input signal of interest is received, and the UST is applied at the generalized frequency to the input signal of interest to calculate a corresponding GFCV. The best match is determined between the GFCV of the input signal of interest and the GFCVs of each of the set of candidate signals. Finally, information indicating the best match candidate signal from the set of candidate signals is output.
Abstract:
A system and method for improving the accuracy and convergence rate in determining the affine transformation of one image or array of values with respect to another image or array of values. A particular embodiment of the present invention comprises a reference and an input image. A gradient matrix, &lgr;, may be constructed to contain gradient information of the position values of the reference image. Also, an estimate matrix, &rgr;, may be constructed to contain initial estimates of at least one of position, angle and scale of the input image. The input image is then subtracted from the reference image pixel by pixel producing an error matrix, e. The error matrix, e, is then multiplied with the matrices, &lgr; and &rgr;. The result is the new change in the position, angle and scale of the input image. New values for the position, angle and scale are calculated from the changes in the position, angle and scale values of the input image. These new values are substituted for the previous values of the input image. The input image is consequently transformed. The transformed input image is then subtracted from the reference image pixel by pixel forming a new error matrix, e. A new estimate matrix, &rgr;, is constructed from the previous estimate matrix, &rgr;, the error matrix, e, and the gradient matrix. The process is repeated until, e, is less than a given value. When that occurs, the correspondence between all points in the input and reference image has been determined.
Abstract:
A system and method for performing pattern matching to locate zero or more instances of a template image in a target image. The method first comprises sampling the template image using a Low Discrepancy sequence, also referred to as a quasi-random sequence, to determine a plurality of sample pixels in the template image which accurately characterize the template image. The Low Discrepancy sequence is designed to produce sample points which maximally avoid each other. After the template image is sampled or characterized, the method then performs pattern matching using the sample pixels and the target image to determine zero or more locations of the template image in the target image. The method may also perform a local stability analysis around at least a subset of the sample pixels to determine a lesser third number of sample pixels which have a desired degree of stability, and then perform pattern matching using the third plurality of sample pixels. In one embodiment, the local stability analysis determines a plurality of sets of sample pixels with differing stability neighborhood sizes, and the pattern matching performs a plurality of iterations of pattern matching using different sets of sample pixels, preferably performed in a coarse to fine manner, e.g., using sets of sample pixels with successively smaller stability neighborhood sizes and/or step sizes. The present invention also includes performing rotation invariant pattern matching by sampling the template image along one or more rotationally invariant paths, preferably circular perimeters, to produce one or more sets of sample pixels. These sample pixels from the circular paths are then used in the pattern matching. The rotationally invariant pattern matching may also use local stability analysis and coarse to fine searching techniques.