2010-12-06 25 views
0

ptrepack est presque ce que je veux, sauf qu'il a seulement les options pour écraser ou ignorer les chemins en double. l'exemple ci-dessous illustre ce que je veux passer avec les structuresfusionner 2 fichiers hdf5 avec pytables

fichier d'entrée

un

/ (RootGroup) '' 
/data_set_name (Group) 'group of images files' 
/data_set_name_Set (EArray(7913, 128)) '' 
/data_set_name/image_set_index (Table(3,)) '' 
    /data_set_name/i100 (Group) 'sift features and coordinates' 
    /data_set_name/i100/descriptors (Array(7913, 128)) 'sift descriptors' 
    /data_set_name/i100/locations (Array(7913, 4)) 'sift feature locations' 
fichier d'entrée

deux

/ (RootGroup) '' 
/data_set_name (Group) 'group of images files' 
/data_set_name_Set (EArray(4328, 128)) '' 
/data_set_name/image_set_index (Table(4,)) '' 
    /data_set_name/i1156 (Group) 'sift features and coordinates' 
    /data_set_name/i1156/descriptors (Array(4328, 128)) 'sift descriptors' 
    /data_set_name/i1156/locations (Array(4328, 4)) 'sift feature locations' 

de sortie souhaitée

/ (RootGroup) '' 
/data_set_name (Group) 'group of images files' 
/data_set_name_Set (EArray(12241, 128)) '' 
/data_set_name/image_set_index (Table(7,)) '' 
    /data_set_name/i100 (Group) 'sift features and coordinates' 
    /data_set_name/i100/descriptors (Array(7913, 128)) 'sift descriptors' 
    /data_set_name/i100/locations (Array(7913, 4)) 'sift feature locations' 

    /data_set_name/i1156 (Group) 'sift features and coordinates' 
    /data_set_name/i1156/descriptors (Array(4328, 128)) 'sift descriptors' 
    /data_set_name/i1156/locations (Array(4328, 4)) 'sift feature locations' 

Ce qui est un moyen efficace de va faire ça?

Répondre

1

Vous voulez agrandir automatiquement les ensembles de données avec les mêmes chemins? Hmmm, je n'y ai pas pensé, mais ça a l'air d'être une fonctionnalité intéressante à mettre en œuvre (bien que valable uniquement pour les tableaux extensibles). Ajout d'un billet:

http://pytables.org/trac/ticket/325

+0

cela pourrait aussi vous intéresser « ptrepack -v --overwrite nœuds node1.h5:/node2.h5:/» semble copier toutes les données (sur la base la taille du fichier) mais un seul groupe de fichiers est visible lors de l'affichage du contenu du fichier. cependant faire "ptrepack -v --overwrite-nodes node1.h5:/groupes node2.h5:/groups" tout est visible après la copie – Ben