Skip to contents

Align shape using baseline/Bookstein registration with specified landmarks.

Usage

coo_baseline(x, id1 = 1, id2 = nrow(x), t1 = c(-0.5, 0), t2 = c(0.5, 0))

coo_bookstein(x, id1 = 1, id2 = nrow(x))

Arguments

x

A matrix (nx2) of coordinates.

id1

Integer. Index of first landmark point.

id2

Integer. Index of second landmark point.

t1

Numeric vector of length 2. Target position for first landmark.

t2

Numeric vector of length 2. Target position for second landmark.

Value

A matrix with the baseline-corrected shape.

Details

coo_bookstein() is an alias for coo_baseline() with default target positions at (-0.5, 0) and (0.5, 0) for standardized alignment.

Note: These functions do not use the make_coo_function dispatcher as they require specific landmark indices.

Examples

# Bookstein registration using first and last points
coo_bookstein(shapes$cat, id1 = 1, id2 = 120)
#>               [,1]          [,2]
#>   [1,]  -0.5000000  0.000000e+00
#>   [2,]  -2.5000000 -3.314491e-17
#>   [3,]  -1.8846154 -9.230769e-01
#>   [4,]  -1.4230769 -2.615385e+00
#>   [5,]  -2.3461538 -4.230769e+00
#>   [6,]  -4.1153846 -4.076923e+00
#>   [7,]  -4.8846154 -2.923077e+00
#>   [8,]  -6.0384615 -1.692308e+00
#>   [9,]  -6.9615385 -3.076923e-01
#>  [10,]  -7.8846154  1.076923e+00
#>  [11,]  -8.5769231  2.615385e+00
#>  [12,]  -9.5000000  4.000000e+00
#>  [13,] -10.4230769  5.384615e+00
#>  [14,] -11.3461538  6.769231e+00
#>  [15,] -12.2692308  8.153846e+00
#>  [16,] -12.9615385  9.692308e+00
#>  [17,] -14.1153846  9.923077e+00
#>  [18,] -15.4230769  9.384615e+00
#>  [19,] -16.3461538  7.769231e+00
#>  [20,] -16.7307692  5.846154e+00
#>  [21,] -16.2692308  4.153846e+00
#>  [22,] -15.8076923  2.461538e+00
#>  [23,] -15.1153846  9.230769e-01
#>  [24,] -14.4230769 -6.153846e-01
#>  [25,] -13.5000000 -2.000000e+00
#>  [26,] -12.3461538 -3.230769e+00
#>  [27,] -11.1923077 -4.461538e+00
#>  [28,] -10.0384615 -5.692308e+00
#>  [29,]  -9.2692308 -6.846154e+00
#>  [30,]  -9.1923077 -8.461538e+00
#>  [31,] -11.0384615 -7.692308e+00
#>  [32,] -12.4230769 -6.615385e+00
#>  [33,] -13.8076923 -5.538462e+00
#>  [34,] -14.9615385 -4.307692e+00
#>  [35,] -16.1153846 -3.076923e+00
#>  [36,] -17.0384615 -1.692308e+00
#>  [37,] -17.9615385 -3.076923e-01
#>  [38,] -18.6538462  1.230769e+00
#>  [39,] -19.3461538  2.769231e+00
#>  [40,] -19.6538462  4.230769e+00
#>  [41,] -19.8846154  6.076923e+00
#>  [42,] -19.6538462  8.230769e+00
#>  [43,] -18.8846154  1.007692e+01
#>  [44,] -17.9615385  1.169231e+01
#>  [45,] -16.5769231  1.261538e+01
#>  [46,] -15.1923077  1.353846e+01
#>  [47,] -13.5000000  1.400000e+01
#>  [48,] -11.6538462  1.423077e+01
#>  [49,] -10.1153846  1.492308e+01
#>  [50,]  -8.7307692  1.584615e+01
#>  [51,]  -7.7307692  1.684615e+01
#>  [52,]  -6.5000000  1.800000e+01
#>  [53,]  -5.1153846  1.892308e+01
#>  [54,]  -3.8846154  2.007692e+01
#>  [55,]  -2.5000000  2.100000e+01
#>  [56,]  -1.1153846  2.192308e+01
#>  [57,]   0.4230769  2.261538e+01
#>  [58,]   1.8076923  2.353846e+01
#>  [59,]   3.5000000  2.400000e+01
#>  [60,]   5.3461538  2.423077e+01
#>  [61,]   7.1923077  2.446154e+01
#>  [62,]   8.6538462  2.476923e+01
#>  [63,]  10.6538462  2.476923e+01
#>  [64,]  12.8076923  2.453846e+01
#>  [65,]  15.1153846  2.407692e+01
#>  [66,]  16.7307692  2.315385e+01
#>  [67,]  18.1153846  2.207692e+01
#>  [68,]  19.7307692  2.115385e+01
#>  [69,]  21.8076923  2.053846e+01
#>  [70,]  23.9615385  2.030769e+01
#>  [71,]  25.8076923  2.053846e+01
#>  [72,]  26.9615385  2.130769e+01
#>  [73,]  28.5000000  2.200000e+01
#>  [74,]  30.1923077  2.246154e+01
#>  [75,]  32.0384615  2.269231e+01
#>  [76,]  34.1153846  2.207692e+01
#>  [77,]  35.9615385  2.130769e+01
#>  [78,]  37.8076923  2.153846e+01
#>  [79,]  39.8076923  2.153846e+01
#>  [80,]  41.7307692  2.115385e+01
#>  [81,]  41.1923077  1.946154e+01
#>  [82,]  39.9615385  1.830769e+01
#>  [83,]  38.8076923  1.753846e+01
#>  [84,]  38.1923077  1.646154e+01
#>  [85,]  38.4230769  1.461538e+01
#>  [86,]  38.2692308  1.284615e+01
#>  [87,]  37.8846154  1.092308e+01
#>  [88,]  37.7307692  9.153846e+00
#>  [89,]  36.1923077  8.461538e+00
#>  [90,]  34.1923077  8.461538e+00
#>  [91,]  32.1153846  9.076923e+00
#>  [92,]  30.5000000  9.000000e+00
#>  [93,]  29.1153846  8.076923e+00
#>  [94,]  28.1153846  7.076923e+00
#>  [95,]  26.8846154  5.923077e+00
#>  [96,]  25.5000000  5.000000e+00
#>  [97,]  24.1153846  4.076923e+00
#>  [98,]  22.7307692  3.153846e+00
#>  [99,]  21.0384615  2.692308e+00
#> [100,]  19.0384615  2.692308e+00
#> [101,]  17.0384615  2.692308e+00
#> [102,]  15.1923077  2.461538e+00
#> [103,]  13.5000000  2.000000e+00
#> [104,]  11.9615385  1.307692e+00
#> [105,]  10.8076923  5.384615e-01
#> [106,]   9.4230769 -3.846154e-01
#> [107,]   8.0384615 -1.307692e+00
#> [108,]   6.6538462 -2.230769e+00
#> [109,]   5.2692308 -3.153846e+00
#> [110,]   4.0384615 -4.307692e+00
#> [111,]   3.1923077 -5.538462e+00
#> [112,]   3.6538462 -7.230769e+00
#> [113,]   2.8076923 -8.461538e+00
#> [114,]   1.1153846 -8.923077e+00
#> [115,]  -0.7307692 -8.153846e+00
#> [116,]  -1.5000000 -7.000000e+00
#> [117,]  -1.9615385 -5.307692e+00
#> [118,]  -1.3461538 -3.230769e+00
#> [119,]  -0.5769231 -1.384615e+00
#> [120,]   0.5000000  1.657245e-17

# Custom baseline with target positions
coo_baseline(shapes$cat, id1 = 1, id2 = 60, t1 = c(0, 0), t2 = c(1, 0))
#>                [,1]          [,2]
#>   [1,]  0.000000000  0.000000e+00
#>   [2,] -0.018818868  7.799926e-02
#>   [3,] -0.049028104  4.531385e-02
#>   [4,] -0.110684660  1.139037e-02
#>   [5,] -0.182369692  3.219017e-02
#>   [6,] -0.193017209  1.026371e-01
#>   [7,] -0.155255664  1.434939e-01
#>   [8,] -0.118113161  2.000743e-01
#>   [9,] -0.072799307  2.491024e-01
#>  [10,] -0.027485453  2.981305e-01
#>  [11,]  0.025999752  3.396063e-01
#>  [12,]  0.071313607  3.886344e-01
#>  [13,]  0.116627461  4.376625e-01
#>  [14,]  0.161941315  4.866906e-01
#>  [15,]  0.207255169  5.357187e-01
#>  [16,]  0.260740374  5.771945e-01
#>  [17,]  0.258883249  6.243655e-01
#>  [18,]  0.225578804  6.702984e-01
#>  [19,]  0.153893772  6.910982e-01
#>  [20,]  0.075275474  6.880030e-01
#>  [21,]  0.013618918  6.540795e-01
#>  [22,] -0.048037638  6.201560e-01
#>  [23,] -0.101522843  5.786802e-01
#>  [24,] -0.155008048  5.372044e-01
#>  [25,] -0.200321902  4.881763e-01
#>  [26,] -0.237464405  4.315959e-01
#>  [27,] -0.274606909  3.750155e-01
#>  [28,] -0.311749412  3.184351e-01
#>  [29,] -0.349510957  2.775783e-01
#>  [30,] -0.411786554  2.593785e-01
#>  [31,] -0.399158103  3.386158e-01
#>  [32,] -0.370186951  4.027485e-01
#>  [33,] -0.341215798  4.668813e-01
#>  [34,] -0.304073295  5.234617e-01
#>  [35,] -0.266930791  5.800421e-01
#>  [36,] -0.221616937  6.290702e-01
#>  [37,] -0.176303083  6.780983e-01
#>  [38,] -0.122817878  7.195741e-01
#>  [39,] -0.069332673  7.610499e-01
#>  [40,] -0.015228426  7.868020e-01
#>  [41,]  0.054599480  8.131732e-01
#>  [42,]  0.140770088  8.244398e-01
#>  [43,]  0.220007429  8.118113e-01
#>  [44,]  0.291692460  7.910115e-01
#>  [45,]  0.340720565  7.456977e-01
#>  [46,]  0.389748669  7.003838e-01
#>  [47,]  0.423672156  6.387273e-01
#>  [48,]  0.450043333  5.688993e-01
#>  [49,]  0.491519128  5.154141e-01
#>  [50,]  0.540547233  4.701003e-01
#>  [51,]  0.588956296  4.405101e-01
#>  [52,]  0.645536709  4.033676e-01
#>  [53,]  0.694564814  3.580537e-01
#>  [54,]  0.751145227  3.209112e-01
#>  [55,]  0.800173332  2.755974e-01
#>  [56,]  0.849201436  2.302835e-01
#>  [57,]  0.890677232  1.767983e-01
#>  [58,]  0.939705336  1.314845e-01
#>  [59,]  0.973628823  6.982791e-02
#>  [60,]  1.000000000 -5.837524e-17
#>  [61,]  1.026371177 -6.982791e-02
#>  [62,]  1.052123313 -1.239322e-01
#>  [63,]  1.070942182 -2.019314e-01
#>  [64,]  1.082208741 -2.881020e-01
#>  [65,]  1.085922991 -3.824440e-01
#>  [66,]  1.065123189 -4.541290e-01
#>  [67,]  1.036152037 -5.182617e-01
#>  [68,]  1.015352235 -5.899468e-01
#>  [69,]  1.010895134 -6.767364e-01
#>  [70,]  1.022161694 -7.629070e-01
#>  [71,]  1.048532871 -8.327349e-01
#>  [72,]  1.089389625 -8.704965e-01
#>  [73,]  1.130865420 -9.239817e-01
#>  [74,]  1.164788907 -9.856382e-01
#>  [75,]  1.191160084 -1.055466e+00
#>  [76,]  1.186702984 -1.142256e+00
#>  [77,]  1.174074533 -1.221493e+00
#>  [78,]  1.200445710 -1.291321e+00
#>  [79,]  1.219264578 -1.369320e+00
#>  [80,]  1.222359787 -1.447939e+00
#>  [81,]  1.151293797 -1.442862e+00
#>  [82,]  1.094713384 -1.405720e+00
#>  [83,]  1.053856630 -1.367958e+00
#>  [84,]  1.006066609 -1.354092e+00
#>  [85,]  0.936238702 -1.380463e+00
#>  [86,]  0.865791754 -1.391111e+00
#>  [87,]  0.787173455 -1.394206e+00
#>  [88,]  0.716726507 -1.404853e+00
#>  [89,]  0.675250712 -1.351368e+00
#>  [90,]  0.656431844 -1.273369e+00
#>  [91,]  0.660888944 -1.186579e+00
#>  [92,]  0.642689117 -1.124304e+00
#>  [93,]  0.593661013 -1.078990e+00
#>  [94,]  0.545251950 -1.049400e+00
#>  [95,]  0.488671536 -1.012257e+00
#>  [96,]  0.439643432 -9.669432e-01
#>  [97,]  0.390615327 -9.216293e-01
#>  [98,]  0.341587223 -8.763155e-01
#>  [99,]  0.307663737 -8.146589e-01
#> [100,]  0.288844868 -7.366597e-01
#> [101,]  0.270026000 -6.586604e-01
#> [102,]  0.243654822 -5.888325e-01
#> [103,]  0.209731336 -5.271759e-01
#> [104,]  0.168255540 -4.736907e-01
#> [105,]  0.127398787 -4.359292e-01
#> [106,]  0.078370682 -3.906153e-01
#> [107,]  0.029342578 -3.453015e-01
#> [108,] -0.019685527 -2.999876e-01
#> [109,] -0.068713631 -2.546738e-01
#> [110,] -0.125294045 -2.175313e-01
#> [111,] -0.181255417 -1.961124e-01
#> [112,] -0.242911972 -2.300359e-01
#> [113,] -0.298873344 -2.086171e-01
#> [114,] -0.332796831 -1.469605e-01
#> [115,] -0.320168379 -6.772316e-02
#> [116,] -0.282406834 -2.686641e-02
#> [117,] -0.220750279  7.057076e-03
#> [118,] -0.133960629  2.599975e-03
#> [119,] -0.054723288 -1.002848e-02
#> [120,]  0.009409434 -3.899963e-02