def convert_dir(adresse, adresse_s): param = get_param(adresse) spec = [] date = time.strftime("%Y%m%d", time.localtime(os.path.getmtime(adresse))) heure = time.strftime("%H%M", time.localtime(os.path.getmtime(adresse))) d = data.Data(adresse, param, spec, index=1, date=date, heure=heure) print(d.fichier) lh5py.obj_in_h5py(d, lh5py.file_name_in_dir(d, adresse_s))
def save_volume(self, savefolder, start=None, end=None): """ Une fois qu'on a la liste des volumes on souhaite créer un fichier HDF5 pour chaque volume """ d = self.data Nt = len(self.m['tV']) for i in range(Nt): v0 = Volume(d, m={}) Vol, instant, t = self.get_volume(i, start, end) #Vol,instant,t v0.m['volume'] = Vol v0.m['instant'] = instant v0.m['t'] = t f = lh5py.file_name_in_dir(v0, savefolder) lh5py.obj_in_h5py(v0, f) f.close()
def convert_files(adresse, adresse_s): name_dir = adresse.rsplit('/', 1)[1] liste_fichier = os.listdir(adresse) liste_fichier = tri_insertion(liste_fichier, adresse) cine = is_cine(liste_fichier, adresse) p = glob.glob(adresse + "/*param.txt") if (len(p) > 0): p = p[0] #choisit arbirtrairement le premier else: p = {} index = 1 #Maintenant on s'occupe à tous les fichiers présents dans le dossier for file in liste_fichier: #spec est une liste propre à chaque fichier spec = [] #sont les paramètres propre à chaque fichier #auxquels on ajoute ceux commun au dossier #regarde si le fichier est un .cine #ou s'il n'y a pas de .cine il prend les .avi if (get_extention(file) == "cine" or (get_extention(file) == "avi" and not (cine))): cinefile = adresse + '/' + file #On veut récupérer l'heure et la date #Si le fichier n'a pas la date de son dossier il la prend #Si le fichier n'a pas de date en titre il met alors date du fichier try: dir = int(name_dir) except ValueError: date = time.strftime( "%Y%m%d", time.localtime(os.path.getmtime(cinefile))) heure = time.strftime( "%H%M", time.localtime(os.path.getmtime(cinefile))) else: heure = time.strftime( "%H%M", time.localtime(os.path.getmtime(cinefile))) if (len(name_dir) == 6): date = "20" + str(dir) else: date = str(dir) #On a tous ce qui est nécessaire à la création de Data spec = cinefile d = data.Data(cinefile, p, spec, index=index, date=date, heure=heure) lh5py.obj_in_h5py(d, lh5py.file_name_in_dir(d, adresse_s)) index += 1 elif (get_extention(file) in ["tif", "jpeg", "png"]): cinefile = adresse + '/' + file date = time.strftime("%Y%m%d", time.localtime(os.path.getmtime(cinefile))) heure = time.strftime("%H%M", time.localtime(os.path.getmtime(cinefile))) d = data.Data(adresse + "/" + file, p, spec, index=index, date=date, heure=heure) lh5py.obj_in_h5py(d, lh5py.file_name_in_dir(d, adresse_s)) index += 1
} #20181114 tab[7] = { "fichier": "/media/stephane/DATA/Experimental_data/Turbulence3d/20181114/PIV3dscan_mikro50mm_fps20000_pump30Hz_jets16Random_f500Hz_A3000mV.cine", "param": "/media/stephane/DATA/Experimental_data/Turbulence3d/20181114/PIV3dscan_nikon50mm_param.txt" } heure = "0000" for i in range(6, len(tab)): print(os.path.exists(tab[i]["fichier"])) print(os.path.exists(tab[i]["param"])) fichier = tab[i]["fichier"] param = tab[i]["param"] spec = fichier date = fichier.split("/")[6] print(os.path.dirname(fichier)) d = data.Data(fichier, param, spec, date=date, heure=heure) m = mesure.Mesure(d) v = volume.Volume(d) v = v.volume() m.add_measurement(v) f = lh5py.file_name_in_dir(m, os.path.dirname(fichier) + "/Mesure_Volume/") lh5py.obj_in_h5py(m, f) f.close() v.get_volume( os.path.dirname(fichier), os.path.dirname(fichier), os.path.dirname(fichier) + "/Mesure_Volume/Mesure_0_" + date + "_1_" + os.path.basename(fichier).rsplit(".", 1)[0] + ".hdf5")
t1 = time.time() overlap = 16 window_size = 32 cinefile_truncated = cinefile.rsplit(".", 1)[0] piv3 = piv3.analysis_multi_proc('', cinefile_truncated, cinefile_truncated, npy=None, fx='toto', dt_origin=None, frame_diff=None, crop_lims=None, maskers=None, window_size=window_size, overlap=overlap, search_area_size=window_size, save=False, s2n_thresh=1.2, bg_n_frames=None) t2 = time.time() m.add_measurement(piv3) #save the piv result in a hdf5 file f = lh5py.file_name_in_dir(m, savefolder) lh5py.obj_in_h5py(m, f) f.close() #v.save_volume(savefolder + "/Volume/")
stophere v = m.Volume Nt = len(v.m['tV']) for i in range(Nt): v0 = lvolume.Volume(d, m={}) #,m={}) Vol, instant, t = v.get_volume(i) #Vol,instant,t #v0.m={} v0.m['volume'] = Vol v0.m['instant'] = instant v0.m['t'] = t f = lh5py.file_name_in_dir(v0, savefolder + '/Volume' + "/") lh5py.obj_in_h5py(v0, f) f.close() # del Vol,instant,t,v0 # m.add_measurement(v0) # save the measure of volume in a hdf5 file # f = lh5py.file_name_in_dir(m, savefolder + '/Volume'+ "/") # lh5py.obj_in_h5py(m, f) # f.close() #stophere ###generate Piv3D object piv3 = lpiv3d.Piv3D(d) m.add_measurement(piv3)
#print(d.param.fps) #print(d.param.f) overlap = 16 window_size = 32 piv3 = piv3.analysis_multi_proc('', cinefile, cinefile, npy=None, fx='toto', dt_origin=None, frame_diff=None, crop_lims=None, maskers=None, window_size=window_size, overlap=overlap, search_area_size=window_size, save=False, s2n_thresh=1.2, bg_n_frames=None) t2 = time.time() ###Mise des données dans un fichier HDF5### ##Si le fichier est déjà crée : #f = ouverture_fichier("/home/ldupuy/Documents/Stage_Python_(2018)/new/Mesure_0_20171109_1_frame.hdf5") ##Pour créer le fichier f = h5py.file_name_in_dir(mesure, adresse_s) h5py.obj_in_h5py(mesure, f) print("temps : ") print(t2 - t1)
#f = h5pylea.file_name_in_dir(Data, savefolder) #h5pylea.obj_in_h5py(Data,f) #f.close() # get the phase between images and volume scanning v = lvolume.Volume(Data) v = v.volume(nb_im=100) #print(v.m['instantV'][0]) #save the first volume position. Works for movies without time jump setattr(Data.param, 'startV', v.m['instantV'][0][0]) setattr(Data.param, 'endV', v.m['instantV'][0][1]) setattr(Data.param, 'tV', v.m['tV'][0]) #sauvegarde le fichier Data f = h5pylea.file_name_in_dir(Data, savefolder) h5pylea.obj_in_h5py(Data, f) f.close() print('Data object saved') #cree un mesure à partir d'un fichier hdf5 existant mesurefile = ask(folder, ext='/Mesure*' + os.path.basename(cinefile).rsplit(".", 1)[0] + '.hdf5') f = h5pylea.ouverture_fichier(mesurefile) M = h5pylea.h5py_in_Mesure(f) f.close() print('Mesure object loaded')