Exemple #1
0
def select_threshold(static, moving):
    pca_moving = pca_transform_norm(static, moving, 20)

    con_static = np.concatenate(static)
    con_moving = np.concatenate(moving)
    con_pca_moving = np.concatenate(pca_moving)

    mean_m = np.mean(np.concatenate(moving), axis=0)
    mean_s = np.mean(np.concatenate(static), axis=0)
    moving_center = [i - mean_m + mean_s for i in moving]
    moving_center = np.concatenate(moving_center)

    tree = KDTree(moving_center)
    dist_before_PCA_centerd = np.hstack(tree.query(con_static, k=1)[0])

    tree = KDTree(con_moving)
    dist_before_PCA = np.hstack(tree.query(con_static, k=1)[0])

    tree = KDTree(con_pca_moving)
    dist_after_PCA = np.hstack(tree.query(con_static, k=1)[0])

    plt.hist(dist_before_PCA_centerd, bins='auto')
    plt.title("Distance before PCA - Centered (Moving is base)")
    plt.ylabel("Frequncy")
    plt.xlabel("Distance")
    plt.savefig('../pics/dist_before_PCA_centerd.png', dpi=600)
    plt.close()
    # plt.show()

    plt.hist(dist_before_PCA, bins='auto')
    plt.title("Distance before PCA (Moving is base)")
    plt.ylabel("Frequncy")
    plt.xlabel("Distance")
    plt.savefig('../pics/dist_before_PCA.png', dpi=600)
    plt.close()
    # plt.show()

    plt.hist(dist_after_PCA, bins='auto')
    plt.title("Distance After PCA (Moving is base) - distance < 20")
    plt.ylabel("Frequncy")
    plt.xlabel("Distance")
    plt.savefig('../pics/dist_after_PCA3.png', dpi=600)
    plt.close()
    # plt.show()

    costs = np.array(ut.costs) / 1000
    plt.plot(costs)
    plt.title("Cost valuse during optimization")
    plt.ylabel("Costs (k)")
    plt.xlabel("Number of evaluations")
    plt.savefig('pics/cost.png', dpi=600)
    plt.close()
Exemple #2
0
import numpy as np
from sklearn.neighbors import KDTree

import matplotlib.pyplot as plt

from dipy.tracking.streamline import transform_streamlines

from src.tractography.io import read_ply
from src.tractography.Utils import pca_transform_norm, flip
from src.tractography.registration import register
from src.tractography.viz import draw_bundles

static = read_ply('data/197348/m_ex_atr-left_shore.ply')
moving = read_ply('data/197348/m_ex_atr-right_shore.ply')
''' Apply PCA '''
pre_moving = pca_transform_norm(static, moving, best=True)
draw_bundles([pre_moving, static], [[0, 0, 1], [1, 0, 0]])
''' Flip '''
'''
pre_moving = flip(moving,x=-1)
draw_bundles([pre_moving,static],[[0,0,1],[1,0,0]])
'''

con_static = np.concatenate(static)
con_moving = np.concatenate(pre_moving)

start = time()
new_moving = register(static, pre_moving)
end = time()

kdtree = KDTree(con_static)
Exemple #3
0
from sklearn.neighbors import KDTree

from dipy.core.optimize import Optimizer
from dipy.tracking.streamline import transform_streamlines
from dipy.align.streamlinear import compose_matrix44

import matplotlib.pyplot as plt

from src.tractography.Utils import pca_transform_norm, distance_pc
from src.tractography.io import read_ply
from src.tractography.viz import draw_bundles

static = read_ply('data/197348/m_ex_atr-left_shore.ply')
moving = read_ply('data/197348/m_ex_atr-right_shore.ply')

pca_moving = pca_transform_norm(static, moving)

max_range = 46
x0 = [0, 0, 0, 0, 0, 0, 1]
options = {
    'maxcor': 10,
    'ftol': 1e-7,
    'gtol': 1e-5,
    'eps': 1e-8,
    'maxiter': 1000
}

start = time()
m = Optimizer(distance_pc,
              x0,
              args=(static, pca_moving, 1, 50),