In [ ]:
%pylab inline
import ibeis
import vtool
import utool
import six
import numpy as np
import numpy.linalg as npl
import pandas as pd
np.set_printoptions(precision=2)
pd.set_option('display.max_rows', 10)  
pd.set_option('display.max_columns', 10)  
pd.set_option('isplay.notebook_repr_html', True)
ibeis.ensure_pz_mtest()
ibs = ibeis.opendb('PZ_MTEST')

In [ ]:


In [ ]:
taids = ibs.get_valid_aids()[0:20:2]
tvecs_list = ibs.get_annot_desc(taids)
tkpts_list = ibs.get_annot_kpts(taids)
orig_idx2_vec, orig_idx2_ax, orig_idx2_fx = vtool.nearest_neighbors.invert    from vtool import clustering2 as clustertool
    clustertool.rrr()
    vecs_list = annots_df['vecs'][train_aids].as_matrix()
    train_vecs = np.vstack(vecs_list)
    print('Training %d word vocabulary with %d annots and %d descriptors' %
          (nCentroids, len(train_aids), len(train_vecs)))
    words = clustertool.precompute_akmeans(train_vecs, nCentroids, max_iters=100)

    able_stack(tvecs_list, taids) 
_kpts_col = pd.DataFrame(tkpts_list, index=taids, columns=['kpts'])
_vecs_col = pd.DataFrame(tvecs_list, index=taids, columns=['vecs'])
annots_df = pd.concat([_vecs_col, _kpts_col], axis=1)

In [ ]:
series = annots_df['vecs'][[1, 3, 5]] 
series.to_frame()

In [ ]:


In [ ]:
from vtool import clustering2 as clustertool
clustertool.rrr()
vecs_col = annots_df['vecs']
idx2_vec = np.vstack(vecs_col.as_matrix())
nCentroids = 10
centroids = clustertool.akmeans(idx2_vec, nCentroids, max_iters=100)
fig = clustertool.plot_centroids(idx2_vec, centroids, num_pca_dims=2)

In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:
print(repr(type(annots_df['vecs'])))
#annots_df['vecs'].values

In [ ]:
np.vstack(annots_df['vecs'].values).shape

In [ ]:


In [ ]:


In [ ]:
#help(pd.DataFrame)

In [ ]:
#help(pd.concat)