Giter Club home page Giter Club logo

pyfocusr's Introduction

PyFOCUSR

License: MIT
Build Status
|Documentation|

Python implementation of the FOCUSR
FOCUSR = Feature Oriented Correspondence using Spectral Regularization and is described in [1].

Introduction / Background

This package will find correspondence between points on two surfaces using spectral coordinate information to regularize the surface matching. Non-rigid registration between surface points is conducted using Coherent Point Drift (CPD) as described in [2] and impelmented in CyCPD [3]. More recent versions/updated versions of this (spectral alignment/registration) algorithm were developed by the original authors [4], [5] but are not covered here.

[1] Lombaert H, Grady L, Polimeni JR, Cheriet F. FOCUSR: Feature Oriented Correspondence Using Spectral Regularization--A Method for Precise Surface Matching. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2013;35(9):2143-2160. doi:10.1109/TPAMI.2012.276

[2] Myronenko A, Xubo Song. Point Set Registration: Coherent Point Drift. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2010;32(12):2262-2275. doi:10.1109/TPAMI.2010.46
An open-source version of the manuscript can be found here: https://tinyurl.com/tph4u7e

[3] https://github.com/gattia/cycpd

[4] Lombaert H, Sporring J, Siddiqi K. Diffeomorphic Spectral Matching of Cortical Surfaces. In: Gee JC, Joshi S, Pohl KM, Wells WM, Zöllei L, eds. Information Processing in Medical Imaging. Vol 7917. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer Berlin Heidelberg; 2013:376-389. doi:10.1007/978-3-642-38868-2_32

[5] Lombaert H, Arcaro M, Ayache N. Brain Transfer: Spectral Analysis of Cortical Surfaces and Functional Maps. In: Ourselin S, Alexander DC, Westin C-F, Cardoso MJ, eds. Information Processing in Medical Imaging. Vol 9123. Lecture Notes in Computer Science. Cham: Springer International Publishing; 2015:474-487. doi:10.1007/978-3-319-19992-4_37

Installation

It is recommended that installtion is performed in a new environment.

conda create --name focusr python=3.7
git clone https://github.com/gattia/pyfocusr
cd pyfocusr

# install dependencies
make requirements

# install pyfocusr
make install

Examples

Jupyter notebook Example_registering_two_bone_meshes in /examples shows extended example with visualizations along the way. Some example steps include:

Spectral coordinates

Normalized spectral coordinates (eigenvectors) are calculated for each mesh. Below shows examples for the first 3 eigenvectors.

Eigen Vector 1 - Fiedler vector Eigen Vector 2 Eigen Vector 3

Next, the spectral coordinates (eigenvectors) for each node of the mesh (shown above) are used as xyz positions and are aligned.

The following includes the meshes at various steps of the registration process as well as one mesh calculated as the average of the source & target.

Source Mesh Target Mesh
Source Transformed to Target Average Mesh

MIT License.

pyfocusr's People

Contributors

gattia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

pyfocusr's Issues

Update FOCUSR object to make parameters callable

class Focusr(object):

Update paramaeters like:

  • icp_register_first
  • icp_registration_mode
  • etc.

to be dynamically updateable by using:

focusr.icp_register_first = True

And the same for retrieving information:

print(focusr.icp_register_first)

but use proper @property instead of directly accessing that information from the object.

reg.align_maps() stuck in the middle, won't complete the process

Looks like reg.align_maps() won't complete the process. here is the output, but it doesn't complete the process

========================================================================

Eigenvector Sorting Results

========================================================================
The matches for eigenvectors were as follows:
Target	|  Source
     0	|  0     
     1	|  1     
     2	|  2     
     3	|  3     
     4	|  4     
     5	|  5     
*Negative source values means those eigenvectors were flipped*
 
Number of features (including spectral) used for registartion: 3
========================================================================

Non-Rigid (Deformable) Registration Beginning

========================================================================
Iteration:1
ML: -8389.450; 	ML change (error):  8389.450; 	Sigma^2:     0.069; 	Sigma^2 change:     0.106
[                                                                        ]
Iteration:2
ML: -9115.060; 	ML change (error):   725.610; 	Sigma^2:     0.060; 	Sigma^2 change:     0.009
[                                                                        ]
Iteration:3
ML: -9167.780; 	ML change (error):    52.720; 	Sigma^2:     0.051; 	Sigma^2 change:     0.009
[                                                                        ]
Iteration:4
ML: -9236.975; 	ML change (error):    69.195; 	Sigma^2:     0.042; 	Sigma^2 change:     0.010
[                                                                        ]
Iteration:5
ML: -9338.161; 	ML change (error):   101.186; 	Sigma^2:     0.032; 	Sigma^2 change:     0.010
[=                                                                       ]
Iteration:6
ML: -9477.696; 	ML change (error):   139.535; 	Sigma^2:     0.023; 	Sigma^2 change:     0.009
[=                                                                       ]
Iteration:7
ML: -9641.891; 	ML change (error):   164.195; 	Sigma^2:     0.016; 	Sigma^2 change:     0.007
[=                                                                       ]
Iteration:8
ML: -9814.003; 	ML change (error):   172.112; 	Sigma^2:     0.011; 	Sigma^2 change:     0.005
[=                                                                       ]
Iteration:9
ML: -9986.759; 	ML change (error):   172.756; 	Sigma^2:     0.008; 	Sigma^2 change:     0.003
[==                                                                      ]
Iteration:10
ML:-10157.358; 	ML change (error):   170.599; 	Sigma^2:     0.006; 	Sigma^2 change:     0.002
[==                                                                      ]
Iteration:11
ML:-10323.423; 	ML change (error):   166.066; 	Sigma^2:     0.004; 	Sigma^2 change:     0.002
[==                                                                      ]
Iteration:12
ML:-10482.716; 	ML change (error):   159.293; 	Sigma^2:     0.003; 	Sigma^2 change:     0.001
[==                                                                      ]
Iteration:13
ML:-10632.643; 	ML change (error):   149.927; 	Sigma^2:     0.002; 	Sigma^2 change:     0.001
[===                                                                     ]
Iteration:14
ML:-10769.638; 	ML change (error):   136.995; 	Sigma^2:     0.001; 	Sigma^2 change:     0.001
[===                                                                     ]
Iteration:15
ML:-10889.379; 	ML change (error):   119.741; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===                                                                     ]
Iteration:16
ML:-10986.901; 	ML change (error):    97.523; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===                                                                     ]
Iteration:17
ML:-11058.007; 	ML change (error):    71.105; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[====                                                                    ]
Iteration:18
ML:-11102.755; 	ML change (error):    44.749; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[====                                                                    ]
Iteration:19
ML:-11126.791; 	ML change (error):    24.036; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[====                                                                    ]
Iteration:20
ML:-11138.080; 	ML change (error):    11.289; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[====                                                                    ]
Iteration:21
ML:-11142.988; 	ML change (error):     4.908; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=====                                                                   ]
Iteration:22
ML:-11145.126; 	ML change (error):     2.138; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=====                                                                   ]
Iteration:23
ML:-11146.143; 	ML change (error):     1.017; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=====                                                                   ]
Iteration:24
ML:-11146.705; 	ML change (error):     0.562; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=====                                                                   ]
Iteration:25
ML:-11147.070; 	ML change (error):     0.364; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[======                                                                  ]
Iteration:26
ML:-11147.336; 	ML change (error):     0.267; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[======                                                                  ]
Iteration:27
ML:-11147.548; 	ML change (error):     0.212; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[======                                                                  ]
Iteration:28
ML:-11147.725; 	ML change (error):     0.177; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[======                                                                  ]
Iteration:29
ML:-11147.877; 	ML change (error):     0.153; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[======                                                                  ]
Iteration:30
ML:-11148.012; 	ML change (error):     0.135; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=======                                                                 ]
Iteration:31
ML:-11148.134; 	ML change (error):     0.122; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=======                                                                 ]
Iteration:32
ML:-11148.245; 	ML change (error):     0.111; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=======                                                                 ]
Iteration:33
ML:-11148.348; 	ML change (error):     0.103; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=======                                                                 ]
Iteration:34
ML:-11148.443; 	ML change (error):     0.096; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[========                                                                ]
Iteration:35
ML:-11148.534; 	ML change (error):     0.090; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[========                                                                ]
Iteration:36
ML:-11148.619; 	ML change (error):     0.085; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[========                                                                ]
Iteration:37
ML:-11148.701; 	ML change (error):     0.081; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[========                                                                ]
Iteration:38
ML:-11148.778; 	ML change (error):     0.078; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=========                                                               ]
Iteration:39
ML:-11148.853; 	ML change (error):     0.074; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=========                                                               ]
Iteration:40
ML:-11148.924; 	ML change (error):     0.071; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=========                                                               ]
Iteration:41
ML:-11148.992; 	ML change (error):     0.068; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=========                                                               ]
Iteration:42
ML:-11149.058; 	ML change (error):     0.066; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==========                                                              ]
Iteration:43
ML:-11149.121; 	ML change (error):     0.063; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==========                                                              ]
Iteration:44
ML:-11149.181; 	ML change (error):     0.061; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==========                                                              ]
Iteration:45
ML:-11149.239; 	ML change (error):     0.058; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==========                                                              ]
Iteration:46
ML:-11149.295; 	ML change (error):     0.056; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===========                                                             ]
Iteration:47
ML:-11149.348; 	ML change (error):     0.053; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===========                                                             ]
Iteration:48
ML:-11149.399; 	ML change (error):     0.051; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===========                                                             ]
Iteration:49
ML:-11149.447; 	ML change (error):     0.048; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===========                                                             ]
Iteration:50
ML:-11149.494; 	ML change (error):     0.046; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============                                                            ]
Iteration:51
ML:-11149.537; 	ML change (error):     0.044; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============                                                            ]
Iteration:52
ML:-11149.579; 	ML change (error):     0.042; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============                                                            ]
Iteration:53
ML:-11149.619; 	ML change (error):     0.039; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============                                                            ]
Iteration:54
ML:-11149.656; 	ML change (error):     0.037; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============                                                            ]
Iteration:55
ML:-11149.691; 	ML change (error):     0.035; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=============                                                           ]
Iteration:56
ML:-11149.724; 	ML change (error):     0.033; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=============                                                           ]
Iteration:57
ML:-11149.756; 	ML change (error):     0.031; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=============                                                           ]
Iteration:58
ML:-11149.785; 	ML change (error):     0.029; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=============                                                           ]
Iteration:59
ML:-11149.813; 	ML change (error):     0.028; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==============                                                          ]
Iteration:60
ML:-11149.839; 	ML change (error):     0.026; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==============                                                          ]
Iteration:61
ML:-11149.863; 	ML change (error):     0.024; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==============                                                          ]
Iteration:62
ML:-11149.886; 	ML change (error):     0.023; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==============                                                          ]
Iteration:63
ML:-11149.907; 	ML change (error):     0.021; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===============                                                         ]
Iteration:64
ML:-11149.927; 	ML change (error):     0.020; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===============                                                         ]
Iteration:65
ML:-11149.945; 	ML change (error):     0.018; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===============                                                         ]
Iteration:66
ML:-11149.962; 	ML change (error):     0.017; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===============                                                         ]
Iteration:67
ML:-11149.978; 	ML change (error):     0.016; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[================                                                        ]
Iteration:68
ML:-11149.993; 	ML change (error):     0.015; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[================                                                        ]
Iteration:69
ML:-11150.007; 	ML change (error):     0.014; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[================                                                        ]
Iteration:70
ML:-11150.020; 	ML change (error):     0.013; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[================                                                        ]
Iteration:71
ML:-11150.032; 	ML change (error):     0.012; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=================                                                       ]
Iteration:72
ML:-11150.043; 	ML change (error):     0.011; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=================                                                       ]
Iteration:73
ML:-11150.053; 	ML change (error):     0.010; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=================                                                       ]
Iteration:74
ML:-11150.063; 	ML change (error):     0.010; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=================                                                       ]
Iteration:75
ML:-11150.072; 	ML change (error):     0.009; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==================                                                      ]
Iteration:76
ML:-11150.080; 	ML change (error):     0.008; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==================                                                      ]
Iteration:77
ML:-11150.087; 	ML change (error):     0.008; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==================                                                      ]
Iteration:78
ML:-11150.094; 	ML change (error):     0.007; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==================                                                      ]
Iteration:79
ML:-11150.101; 	ML change (error):     0.006; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==================                                                      ]
Iteration:80
ML:-11150.107; 	ML change (error):     0.006; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===================                                                     ]
Iteration:81
ML:-11150.112; 	ML change (error):     0.006; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===================                                                     ]
Iteration:82
ML:-11150.117; 	ML change (error):     0.005; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===================                                                     ]
Iteration:83
ML:-11150.122; 	ML change (error):     0.005; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===================                                                     ]
Iteration:84
ML:-11150.126; 	ML change (error):     0.004; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[====================                                                    ]
Iteration:85
ML:-11150.130; 	ML change (error):     0.004; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[====================                                                    ]
Iteration:86
ML:-11150.134; 	ML change (error):     0.004; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[====================                                                    ]
Iteration:87
ML:-11150.138; 	ML change (error):     0.003; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[====================                                                    ]
Iteration:88
ML:-11150.141; 	ML change (error):     0.003; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=====================                                                   ]
Iteration:89
ML:-11150.144; 	ML change (error):     0.003; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=====================                                                   ]
Iteration:90
ML:-11150.146; 	ML change (error):     0.003; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=====================                                                   ]
Iteration:91
ML:-11150.149; 	ML change (error):     0.002; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=====================                                                   ]
Iteration:92
ML:-11150.151; 	ML change (error):     0.002; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[======================                                                  ]
Iteration:93
ML:-11150.153; 	ML change (error):     0.002; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[======================                                                  ]
Iteration:94
ML:-11150.155; 	ML change (error):     0.002; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[======================                                                  ]
Iteration:95
ML:-11150.157; 	ML change (error):     0.002; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[======================                                                  ]
Iteration:96
ML:-11150.158; 	ML change (error):     0.002; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=======================                                                 ]
Iteration:97
ML:-11150.160; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=======================                                                 ]
Iteration:98
ML:-11150.161; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=======================                                                 ]
Iteration:99
ML:-11150.162; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=======================                                                 ]
Iteration:100
ML:-11150.164; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[========================                                                ]
Iteration:101
ML:-11150.165; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[========================                                                ]
Iteration:102
ML:-11150.166; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[========================                                                ]
Iteration:103
ML:-11150.167; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[========================                                                ]
Iteration:104
ML:-11150.167; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[========================                                                ]
Iteration:105
ML:-11150.168; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=========================                                               ]
Iteration:106
ML:-11150.169; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=========================                                               ]
Iteration:107
ML:-11150.170; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=========================                                               ]
Iteration:108
ML:-11150.170; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=========================                                               ]
Iteration:109
ML:-11150.171; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==========================                                              ]
Iteration:110
ML:-11150.171; 	ML change (error):     0.001; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==========================                                              ]
Iteration:111
ML:-11150.172; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==========================                                              ]
Iteration:112
ML:-11150.172; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==========================                                              ]
Iteration:113
ML:-11150.173; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===========================                                             ]
Iteration:114
ML:-11150.173; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===========================                                             ]
Iteration:115
ML:-11150.173; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===========================                                             ]
Iteration:116
ML:-11150.174; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===========================                                             ]
Iteration:117
ML:-11150.174; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============================                                            ]
Iteration:118
ML:-11150.174; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============================                                            ]
Iteration:119
ML:-11150.174; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============================                                            ]
Iteration:120
ML:-11150.175; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============================                                            ]
Iteration:121
ML:-11150.175; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=============================                                           ]
Iteration:122
ML:-11150.175; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=============================                                           ]
Iteration:123
ML:-11150.175; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=============================                                           ]
Iteration:124
ML:-11150.175; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=============================                                           ]
Iteration:125
ML:-11150.175; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==============================                                          ]
Iteration:126
ML:-11150.176; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==============================                                          ]
Iteration:127
ML:-11150.176; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==============================                                          ]
Iteration:128
ML:-11150.176; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==============================                                          ]
Iteration:129
ML:-11150.176; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==============================                                          ]
Iteration:130
ML:-11150.176; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===============================                                         ]
Iteration:131
ML:-11150.176; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===============================                                         ]
Iteration:132
ML:-11150.176; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===============================                                         ]
Iteration:133
ML:-11150.176; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===============================                                         ]
Iteration:134
ML:-11150.176; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[================================                                        ]
Iteration:135
ML:-11150.176; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[================================                                        ]
Iteration:136
ML:-11150.176; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[================================                                        ]
Iteration:137
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[================================                                        ]
Iteration:138
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=================================                                       ]
Iteration:139
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=================================                                       ]
Iteration:140
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=================================                                       ]
Iteration:141
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=================================                                       ]
Iteration:142
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==================================                                      ]
Iteration:143
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==================================                                      ]
Iteration:144
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==================================                                      ]
Iteration:145
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[==================================                                      ]
Iteration:146
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===================================                                     ]
Iteration:147
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===================================                                     ]
Iteration:148
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===================================                                     ]
Iteration:149
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===================================                                     ]
Iteration:150
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[====================================                                    ]
Iteration:151
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[====================================                                    ]
Iteration:152
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[====================================                                    ]
Iteration:153
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[====================================                                    ]
Iteration:154
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[====================================                                    ]
Iteration:155
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=====================================                                   ]
Iteration:156
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=====================================                                   ]
Iteration:157
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=====================================                                   ]
Iteration:158
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=====================================                                   ]
Iteration:159
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[======================================                                  ]
Iteration:160
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[======================================                                  ]
Iteration:161
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[======================================                                  ]
Iteration:162
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[======================================                                  ]
Iteration:163
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=======================================                                 ]
Iteration:164
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=======================================                                 ]
Iteration:165
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=======================================                                 ]
Iteration:166
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=======================================                                 ]
Iteration:167
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[========================================                                ]
Iteration:168
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[========================================                                ]
Iteration:169
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[========================================                                ]
Iteration:170
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[========================================                                ]
Iteration:171
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=========================================                               ]
Iteration:172
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=========================================                               ]
Iteration:173
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=========================================                               ]
Iteration:174
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=========================================                               ]
Iteration:175
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==========================================                              ]
Iteration:176
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==========================================                              ]
Iteration:177
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==========================================                              ]
Iteration:178
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==========================================                              ]
Iteration:179
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==========================================                              ]
Iteration:180
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===========================================                             ]
Iteration:181
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===========================================                             ]
Iteration:182
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===========================================                             ]
Iteration:183
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===========================================                             ]
Iteration:184
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[============================================                            ]
Iteration:185
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[============================================                            ]
Iteration:186
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[============================================                            ]
Iteration:187
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[============================================                            ]
Iteration:188
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=============================================                           ]
Iteration:189
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=============================================                           ]
Iteration:190
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=============================================                           ]
Iteration:191
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=============================================                           ]
Iteration:192
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==============================================                          ]
Iteration:193
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==============================================                          ]
Iteration:194
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==============================================                          ]
Iteration:195
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==============================================                          ]
Iteration:196
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===============================================                         ]
Iteration:197
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===============================================                         ]
Iteration:198
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===============================================                         ]
Iteration:199
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===============================================                         ]
Iteration:200
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[================================================                        ]
Iteration:201
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[================================================                        ]
Iteration:202
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[================================================                        ]
Iteration:203
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[================================================                        ]
Iteration:204
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[================================================                        ]
Iteration:205
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=================================================                       ]
Iteration:206
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=================================================                       ]
Iteration:207
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=================================================                       ]
Iteration:208
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=================================================                       ]
Iteration:209
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==================================================                      ]
Iteration:210
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==================================================                      ]
Iteration:211
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==================================================                      ]
Iteration:212
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==================================================                      ]
Iteration:213
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===================================================                     ]
Iteration:214
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===================================================                     ]
Iteration:215
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===================================================                     ]
Iteration:216
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===================================================                     ]
Iteration:217
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[====================================================                    ]
Iteration:218
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[====================================================                    ]
Iteration:219
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[====================================================                    ]
Iteration:220
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[====================================================                    ]
Iteration:221
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=====================================================                   ]
Iteration:222
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=====================================================                   ]
Iteration:223
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=====================================================                   ]
Iteration:224
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=====================================================                   ]
Iteration:225
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[======================================================                  ]
Iteration:226
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[======================================================                  ]
Iteration:227
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[======================================================                  ]
Iteration:228
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[======================================================                  ]
Iteration:229
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[======================================================                  ]
Iteration:230
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=======================================================                 ]
Iteration:231
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=======================================================                 ]
Iteration:232
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=======================================================                 ]
Iteration:233
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=======================================================                 ]
Iteration:234
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[========================================================                ]
Iteration:235
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[========================================================                ]
Iteration:236
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[========================================================                ]
Iteration:237
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[========================================================                ]
Iteration:238
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=========================================================               ]
Iteration:239
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=========================================================               ]
Iteration:240
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=========================================================               ]
Iteration:241
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=========================================================               ]
Iteration:242
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==========================================================              ]
Iteration:243
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==========================================================              ]
Iteration:244
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==========================================================              ]
Iteration:245
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==========================================================              ]
Iteration:246
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===========================================================             ]
Iteration:247
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===========================================================             ]
Iteration:248
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===========================================================             ]
Iteration:249
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===========================================================             ]
Iteration:250
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[============================================================            ]
Iteration:251
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============================================================            ]
Iteration:252
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[============================================================            ]
Iteration:253
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============================================================            ]
Iteration:254
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[============================================================            ]
Iteration:255
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=============================================================           ]
Iteration:256
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=============================================================           ]
Iteration:257
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[=============================================================           ]
Iteration:258
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[=============================================================           ]
Iteration:259
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==============================================================          ]
Iteration:260
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==============================================================          ]
Iteration:261
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==============================================================          ]
Iteration:262
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[==============================================================          ]
Iteration:263
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:     0.000
[===============================================================         ]
Iteration:264
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===============================================================         ]
Iteration:265
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===============================================================         ]
Iteration:266
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[===============================================================         ]
Iteration:267
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[================================================================        ]
Iteration:268
ML:-11150.177; 	ML change (error):     0.000; 	Sigma^2:     0.001; 	Sigma^2 change:    -0.000
[================================================================        ]
========================================================================
Registration Performance Metrics
========================================================================
Time to initialize EM: 0.0028879642486572266
Time to initialize registration: 0.16175317764282227
Average Expectation Time:                    0.0345 +/- 0.0031
Average Maximization Time:                   0.0061 +/- 0.0007
Maximization Times - Per individual step
Average Update Transform Time:               0.0058 +/- 0.0007
Average Transform Time:                      0.0001 +/- 0.0000
Average Update Variance Time:                0.0001 +/- 0.0000

Number of iterations performed:          268
Error at time of finish:                 8.756614988669753e-09
time to get cdist: 0.18356680870056152

if I stop the process and continue then I'm getting the following error
TypeError: Could not find a suitable VTK type for object
while executing below line
reg.view_meshes_colored_by_spectral_correspondences()
complete error is as follows

TypeError                                 Traceback (most recent call last)
<ipython-input-17-becf559b59fd> in <module>
----> 1 reg.view_meshes_colored_by_spectral_correspondences()

/usr/local/lib/python3.7/site-packages/pyfocusr-0.0.1-py3.7.egg/pyfocusr/focusr.py in view_meshes_colored_by_spectral_correspondences(self, x_translation, y_translation, z_translation, shadow)
    541 
    542         source_mesh = vtk_deep_copy(self.graph_source.vtk_mesh)
--> 543         source_mesh.GetPointData().SetScalars(numpy_to_vtk(self.corresponding_target_idx_for_each_source_pt))
    544 
    545         target_transform = vtk.vtkTransform()

/usr/local/lib/python3.7/site-packages/vtkmodules/util/numpy_support.py in numpy_to_vtk(num_array, deep, array_type)
    145         vtk_typecode = array_type
    146     else:
--> 147         vtk_typecode = get_vtk_array_type(z.dtype)
    148     result_array = create_vtk_array(vtk_typecode)
    149 

/usr/local/lib/python3.7/site-packages/vtkmodules/util/numpy_support.py in get_vtk_array_type(numpy_array_type)
     69             return vtk_type
     70     raise TypeError(
---> 71         'Could not find a suitable VTK type for %s' % (str(numpy_array_type)))
     72 
     73 def get_vtk_to_numpy_typemap():

TypeError: Could not find a suitable VTK type for object

module 'cycpd' has no attribute 'deformable_registration'

I have installed cycpd. I'm using macos Catalina. and also I have tried to run this on ubuntu as well, but the same error was there

AttributeError                            Traceback (most recent call last)
<ipython-input-12-796a4f10423b> in <module>
 reg.align_maps()

pyfocusr/examples/pyfocusr/focusr.py in align_maps(self)
  
            print_header('Non-Rigid (Deformable) Registration Beginning')
            self.register_target_to_source('deformable')
    
            self.get_initial_correspondences()

pyfocusr/examples/pyfocusr/focusr.py in register_target_to_source(self, reg_type)
        def register_target_to_source(self, reg_type='deformable'):
            if reg_type == 'deformable':
             reg = cycpd.deformable_registration(**{
                    'X': self.source_spectral_coords[
                         self.graph_source.get_list_rand_idxs(self.n_coords_spectral_registration), :],

AttributeError: module 'cycpd' has no attribute 'deformable_registration'

AttributeError: module 'itk' has no attribute 'PolyLineParametricPath'

I have installed all the dependecies, i'm running this on ubuntu 20.04 LTS, python version 3.7. Below you can find the whole error, I tried this on windows 10 as well, but I have the same error in windows also, the dependencies are as below for both OS

itk version 5.1.0
python version 3.7

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/itkwidgets-0.31.3-py3.7.egg/itkwidgets/trait_types.py in validate(self, obj, value)
    363                         geometry, dict) or 'vtkClass' not in geometry:
--> 364                     geometries[index] = to_geometry(geometry)
    365                 if 'metadata' not in geometries[index]:

~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/itkwidgets-0.31.3-py3.7.egg/itkwidgets/_transform_types.py in to_geometry(geometry_like)
    481         return geometry
--> 482     elif isinstance(geometry_like, itk.PolyLineParametricPath):
    483         vertex_list = geometry_like.GetVertexList()

~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/itk_core-5.1.0.post3-py3.7-linux-x86_64.egg/itkLazy.py in __getattribute__(self, attr)
     47     def __getattribute__(self, attr):
---> 48         value = types.ModuleType.__getattribute__(self, attr)
     49         if value is not_loaded:

AttributeError: module 'itk' has no attribute 'PolyLineParametricPath'

During handling of the above exception, another exception occurred:

TraitError                                Traceback (most recent call last)
<ipython-input-8-d900103ec6b1> in <module>
----> 1 reg.graph_source.view_mesh_eig_vec(eig_vec=eig_vec)

~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/cycpd-0.0.1-py3.7.egg/pyfocusr/graph.py in view_mesh_eig_vec(self, eig_vec)
    267         tmp_mesh = vtk_deep_copy(self.vtk_mesh)
    268         tmp_mesh.GetPointData().SetScalars(numpy_to_vtk(np.ascontiguousarray(self.eig_vecs[:, eig_vec])))
--> 269         plotter = Viewer(geometries=[tmp_mesh]
    270                          )
    271         return plotter

~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/itkwidgets-0.31.3-py3.7.egg/itkwidgets/widget_viewer.py in __init__(self, **kwargs)
    370             kwargs['interpolation'] = False
    371 
--> 372         super(Viewer, self).__init__(**kwargs)
    373 
    374         if not self.image and not self.label_image:

~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/ipywidgets-8.0.0a0-py3.7.egg/ipywidgets/widgets/widget.py in __init__(self, **kwargs)
    381         """Public constructor"""
    382         self._model_id = kwargs.pop('model_id', None)
--> 383         super().__init__(**kwargs)
    384 
    385         Widget._call_widget_constructed(self)

~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/traitlets/traitlets.py in __init__(self, *args, **kwargs)
    995             for key, value in kwargs.items():
    996                 if self.has_trait(key):
--> 997                     setattr(self, key, value)
    998                 else:
    999                     # passthrough args that don't set traits to super

~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/traitlets/traitlets.py in __set__(self, obj, value)
    583             raise TraitError('The "%s" trait is read-only.' % self.name)
    584         else:
--> 585             self.set(obj, value)
    586 
    587     def _validate(self, obj, value):

~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/traitlets/traitlets.py in set(self, obj, value)
    557 
    558     def set(self, obj, value):
--> 559         new_value = self._validate(obj, value)
    560         try:
    561             old_value = obj._trait_values[self.name]

~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/traitlets/traitlets.py in _validate(self, obj, value)
    589             return value
    590         if hasattr(self, 'validate'):
--> 591             value = self.validate(obj, value)
    592         if obj._cross_validation_lock is False:
    593             value = self._cross_validate(obj, value)

~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/itkwidgets-0.31.3-py3.7.egg/itkwidgets/trait_types.py in validate(self, obj, value)
    367             return geometries
    368         except BaseException:
--> 369             self.error(obj, value)
    370 
    371 

~/anaconda3/envs/pyfocusr/lib/python3.7/site-packages/traitlets/traitlets.py in error(self, obj, value)
    623             e = "The '%s' trait must be %s, but a value of %r was specified." \
    624                 % (self.name, self.info(), repr_type(value))
--> 625         raise TraitError(e)
    626 
    627     def get_metadata(self, key, default=None):

TraitError: The 'geometries' trait of a Viewer instance must be A data structure for rendering geometry in vtk.js consisting of points, verts (vertices), lines, polys (polygons), triangle strips, point data, and cell data., but a value of [(vtkmodules.vtkCommonDataModel.vtkPolyData)0x7f0773d042f0] <class 'list'> was specified.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.