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 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.