def preproc_open_curve(beta, T=100):
    n, M, k = beta.shape

    q = np.zeros((n, T, k))
    beta2 = np.zeros((n, T, k))
    for i in range(0, k):
        beta1 = fs.resamplecurve(beta[:, :, i], T)
        beta2[:, :, i] = beta1
        q[:, :, i] = fs.curve_to_q(beta1)

    return (q, beta2)
Esempio n. 2
0
C = C.T

# calculate distance module SO(2) and/or gamma
lam = 0
k = 5
elastic = 1
rotation = 1
returnpath = 1
Disp_geodesic_between_the_curves = 1
Disp_registration_between_curves = 1

beta1 = C[:, :, 0]
beta2 = C[:, :, 2]
n, T = beta1.shape

beta1 = fs.resamplecurve(beta1, T)
beta2 = fs.resamplecurve(beta2, T)

centroid1 = fs.calculatecentroid(beta1)
beta1 = beta1 - np.tile(centroid1, [T, 1]).T
centroid2 = fs.calculatecentroid(beta2)
beta2 = beta2 - np.tile(centroid2, [T, 1]).T

q1 = fs.curve_to_q(beta1)

if rotation:
    beta2, O1, tau = fs.find_rotation_and_seed_coord(beta1, beta2)
    q2 = fs.curve_to_q(beta2)
else:
    O1 = np.eye(2)
    q2 = fs.curve_to_q(beta2)
Esempio n. 3
0
C = C.T

# calculate distance module SO(2) and/or gamma
lam = 0
k = 5
elastic = 1
rotation = 1
returnpath = 1
Disp_geodesic_between_the_curves = 1
Disp_registration_between_curves = 1

beta1 = C[:, :, 0]
beta2 = C[:, :, 2]
n, T = beta1.shape

beta1 = fs.resamplecurve(beta1, T)
beta2 = fs.resamplecurve(beta2, T)

centroid1 = fs.calculatecentroid(beta1)
beta1 = beta1 - np.tile(centroid1, [T, 1]).T
centroid2 = fs.calculatecentroid(beta2)
beta2 = beta2 - np.tile(centroid2, [T, 1]).T

q1 = fs.curve_to_q(beta1)

if rotation:
    beta2, O1, tau = fs.find_rotation_and_seed_coord(beta1, beta2)
    q2 = fs.curve_to_q(beta2)
else:
    O1 = np.eye(2)
    q2 = fs.curve_to_q(beta2)
    return (q, beta2)


fun = h5py.File(
    '/Users/jderektucker/Documents/Research/SRVF_FDA/Data/Full20shapedata.h5')
C = fun['beta'][:]
C = C.T

a, b, c = C.shape
beta = np.zeros((a, b, 40))
cnt = 0
for ii in range(40, 60):
    beta_tmp = np.zeros((a, b + 1))
    beta_tmp[:, 0:b] = C[:, :, ii]
    beta_tmp[:, b] = C[:, 0, ii]
    beta[:, :, cnt] = fs.resamplecurve(beta_tmp, b)
    beta_tmp = np.zeros((a, b + 1))
    beta_tmp[:, 0:b] = C[:, :, ii + 1080]
    beta_tmp[:, b] = C[:, 0, ii + 1080]
    beta[:, :, cnt + 20] = fs.resamplecurve(beta_tmp, b)
    cnt += 1

y = np.ones(40, dtype=int)
y[20:40] = -1

n = beta.shape[0]
N = beta.shape[2]
T = 200
time = np.linspace(0, 1, T)

B = bs(time, df=60, degree=4, include_intercept=True)
Esempio n. 5
0
import fdasrsf as fs
# import curve_functions as cf
# import curve_regression as cr
fun = h5py.File('/Users/jderektucker/Documents/Research/SRVF_FDA/Data/Full20shapedata.h5')
C = fun['beta'][:]
C = C.T

a, b, c = C.shape
beta = np.zeros((a, b, 40))
cnt = 0
for ii in range(200, 220):
    beta_tmp = np.zeros((a, b+1))
    beta_tmp[:, 0:b] = C[:, :, ii]
    beta_tmp[:, b] = C[:, 0, ii]
    # beta_tmp, scale = fs.scale_curve(beta_tmp)
    beta[:, :, cnt] = fs.resamplecurve(beta_tmp, b)
    # centroid1 = fs.calculatecentroid(beta_tmp)
    # beta[:, :, cnt] = beta_tmp - np.tile(centroid1, [b, 1]).T
    beta_tmp = np.zeros((a, b+1))
    beta_tmp[:, 0:b] = C[:, :, ii+1080]
    beta_tmp[:, b] = C[:, 0, ii+1080]
    # beta_tmp, scale = fs.scale_curve(beta_tmp)
    beta[:, :, cnt+20] = fs.resamplecurve(beta_tmp, b)
    # centroid1 = fs.calculatecentroid(beta_tmp)
    # beta[:, :, cnt+20] = beta_tmp - np.tile(centroid1, [b, 1]).T
    cnt +=1

y = np.ones(38, dtype=int)
y[19:39] = -1
beta1 = beta[:, :, 0:19]
beta2 = beta[:, :, 20:39]