[Python] modulo TastyAuth (e presentazione)
ciao a tutt*, sono Alberto (aka vrde), lavoro con python da un po' di tempo ormai, magari ho visto molti di voi alle varie Pycon italiane (sempre presente dalla numero 2). Dall'anno scorso sto portando avanti un progetto, Urlist http://urli.st interamente scritto in Python. Non sono qui a fare pubblicità al servizio, al contrario vorrei invece condividere con voi il modulo che ho scritto per Urlist per gestire la auth(entication|orization). Lo trovate qui: * https://github.com/vrde/TastyAuth è basato su un modulo di Tornado che ho preso e riadattato. Il codice che ho scritto io è sotto BSD (la parte di Tornado sotto Apache License 2.0). Quindi, prendete e forkatene tutti :P Ciao! Alberto ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] modulo TastyAuth (e presentazione)
Lo trovate qui: * https://github.com/vrde/TastyAuth Grazie ed a presto! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] gestione della memoria
Ho iniziato da poco a scrivere script e piccoli programmi in python di elaborazione immagini. Utilizzo le librerie gdal per la conversione dei formati e per una lettura e scrittura di immagini da integrare in sistemi GIS. Ho un problema sulla gestione di matrici di grandi dimensioni. In particolare il programma va in errore a gestire 4 immagini 7000 x 7000 di tipo float. Posso chiaramente leggere una singola riga alla volta per ovviare a questo problema ma non posso utilizzare librerie come quelle mitiche scikit image dove sono presenti già funzioni che prendono in input immagini in forma di matrice. Come posso fare ? Ho provato ad aumentare la memoria virtuale della mia macchina ma il problema rimane sempre . cordiali saluti a tutti lorenzo bottai___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] gestione della memoria
scusa forse per l'ovvietà, ma hai già provato a dare uno sguardo a numpy? http://numpy.scipy.org/ Ciao Fabrizio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] gestione della memoria
Potrei postare il piccolo programma che gira solo con immagini piu' piccole e si blocca con matrici grandi, in modo che possiate vedere direttamente. Ovviamente utilizzo numpy e per la verità la definizione di matrici anche di grandi dimensioni non genera problemi il blocco avviene quando si richiama gdal e le altre. questo è il programmino: - import skimage.graph as graph from skimage import filter from skimage.morphology import watershed, is_local_maximum from scipy import ndimage import os, numpy, sys, time,math,csv from osgeo import gdal, ogr from osgeo.gdalconst import * from math import * from gdalconst import * startTime = time.time() os.chdir(r'c:\Users\lorenzo\lidar2') gdal.AllRegister() # open the image inDs1 = gdal.Open('conv_utm2m.tif',GA_ReadOnly) print 'legge immagine di convergenza' # get image size rows = inDs1.RasterYSize cols = inDs1.RasterXSize bands = inDs1.RasterCount transform = inDs1.GetGeoTransform() driver = gdal.GetDriverByName('GTiff') outDs1 = driver.Create('conv_massimo.tif', cols, rows, 1, GDT_Int32) outDs2 = driver.Create('conv_chiome.tif', cols, rows, 1, GDT_Int32) print 'righe', rows, 'colonne', cols, 'bande', bands driver1 = inDs1.GetDriver() convergenza = numpy.ones((rows,cols),numpy.float) massimi =numpy.zeros((rows,cols),numpy.int) chiome = numpy.zeros((rows,cols),numpy.float) inBand1 = inDs1.GetRasterBand(1) print 'leggo convergenza' convergenza = inBand1.ReadAsArray(0,0,cols,rows).astype(numpy.float) print ' fatto ..' print ' - calcolo con algoritmo watershed ---' print ' cerco il massimo locale sulla convergenza' massimi = is_local_maximum(convergenza) print ' numero in modo progressimo i massimi' markers = ndimage.label(massimi)[0] print ' allago le pozze i bacini' chiome = watershed(-convergenza, markers) print 'lette tutte le righe' outBand1 = outDs1.GetRasterBand(1) outBand2 = outDs2.GetRasterBand(1) # write the data outBand1.WriteArray(massimi, 0, 0) outBand1.FlushCache() stats1 = outBand1.GetStatistics(0, 1) outBand2.WriteArray(chiome, 0, 0) outBand2.FlushCache() stats2 = outBand2.GetStatistics(0, 1) outDs1.SetGeoTransform(transform) outDs2.SetGeoTransform(transform) outDs1 = None outDs2 = None inDs1 = None print 'script took', time.time() - startTime, 'seconds to run' - Messaggio originale - Da: Fabrizio Mancini mr.f...@gmail.com A: Discussioni generali sul linguaggio Python python@lists.python.it Inviato: Mercoledì, 6 giugno 2012 14:15:04 Oggetto: Re: [Python] gestione della memoria scusa forse per l'ovvietà, ma hai già provato a dare uno sguardo a numpy? http://numpy.scipy.org/ Ciao Fabrizio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] messaggi di errore con le gtk
Ciao a tutti, Ho un piccolo problema con delle finestre di errore. Ho costruito una piccola interfaccia per visualizzare il flusso video di una videocamera... e fin qui tutto bene. Vorrei migliorare il codice prevedendo alcuni errori che possono capitare all'utente. Nel caso specifico vorrei fare in modo che se la videocamera non è collegata mi si apra una message dialog di errore. Funziona tutto come dovrebbe a parte il fatto che sia l'interfaccia che il messaggio di errore non vengono renderizzati correttamente (sembrano vuoti). Credo che il tutto sia dovuto al fatto che l'errore, se c'è, si manifesta immediatamente al lancio del programma (e quindi questo non arrivi a completarsi). Può essere un ragionamento sensato o sto farneticando? La funzione richiamata in fase di avvio è la seguente: def error1(self, widget, data=None): md = gtk.MessageDialog(None, gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, Attenzione!\nCamera non collegata!) md.run() md.destroy() If camera: comandi vari else: self.error1(self,widget) Come posso fare a dare il tempo necessario all'interfaccia di crearsi? Grazie per qualunque dritta arrivi Ciao Matteo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] gestione della memoria
2012/6/6 Lorenzo Bottai bot...@lamma.rete.toscana.it Ho un problema sulla gestione di matrici di grandi dimensioni. In particolare il programma va in errore a gestire 4 immagini 7000 x 7000 di tipo float. Puoi dare una occhiata alla libreria hdf5 per python: - http://alfven.org/wp/hdf5-for-python/ HDF5 è un formato usato in fisica per gestire dati di grosse dimensioni. Per esempio, risultati di simulazioni, accelerazioni di particelle, osservazioni di telescopi. Credo che sia utilizzato anche in altri campi, come per esempio per le previsioni meteo ed altro. In principio, ogni file binario HDF5 è un piccolo file system a parte, con gruppi (directory) e datasets. Dovresti essere in grado di leggere il tuo dataset su un file HDF5 e lavorare su esso direttamente, senza doverlo caricare in memoria. La documentazione è molto buona e l'oggetto utilizzato per rappresentare una matrice è simile ad un array di numpy, addirittura alcuni metodi sono in comune e con un po' di fortuna le funzioni che utilizzi non si renderanno nemmeno conto della differenza. -- Giovanni Dall'Olio, phd student IBE, Institut de Biologia Evolutiva, CEXS-UPF (Barcelona, Spain) My blog on bioinformatics: http://bioinfoblog.it ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python