20 resultados para Python
Resumo:
Lo scopo della tesi è quello di descrivere e mettere a confronto tre diversi linguaggi, e quindi approcci, alla programmazione server-side e di back-end, ovvero il linguaggio PHP, il linguaggio Python ed il linguaggio Javascript, utilizzato però per una programmazione “Server Side”, e quindi associato al framework NodeJS. Questo confronto si pone l’obiettivo di sottolineare le differenti caratteristiche di ogni linguaggio, gli scopi a cui esso maggiormente si addice e di fornire una sorta di guida per far in modo che si possa comprendere al meglio quale dei tre linguaggi maggiormente usati per la programmazione backend si conformi meglio all’obiettivo prepostosi.
Resumo:
Lo scopo di questa tesi è dimostrare quale sia il miglior Web Framework con linguaggio Python fra i tre principali esponenti: Django, web2py e TurboGears. Inizialmente verrà effettuata un’analisi generale sui Web Framework, in particolare quelli con architettura MVC poiché sarà l’architettura utilizzata da Django, web2py e TurboGears. Successivamente, per ogni Web Framework verrà analizzata la struttura generale e i componenti core degli stessi. Tuttavia per stabilire chi sia il migliore fra di essi bisogna anche analizzare come essi gestiscono altri ambiti dello sviluppo web e quindi vengono analizzati tutti i tools messi a disposizione dai Web Framework. Alla fine verranno tratte le conclusioni in cui verrà chiarito quale sia il Web Framework migliore per uno sviluppatore e perché, andando a riassumere le caratteristiche di tutti e tre.
Resumo:
Grazie all'evoluzione dei servizi di rete indirizzare le interfacce di rete come se fossero i veri destinatari delle comunicazioni è diventato obsoleto. Per questo è nato il concetto di Internet of Threads, in cui gli indirizzi IP sono assegnati ad ogni processo in esecuzione nel computer mediante una rete ethernet virtuale. Attualmente esistono progetti che forniscono la gestione della rete virtuale e librerie che forniscono lo stack TCP/IP da integrare all'interno dei propri programmi. Queste librerie richiedono però la modifica e ricompilazione del proprio codice, anche a causa della loro interfaccia differente dai Berkeley Socket. Attraverso PycoTCP è possibile sperimentare all'interno di un ambiente IoTh senza riscrivere il proprio codice. Inoltre unifica le API fornite dalle librerie sottostanti esponendo una interfaccia identica a quella standard del Python, in modo che non sia necessario imparare un altro metodo di programmazione per utilizzare il nuovo paradigma.
Resumo:
La tesi tratta aspetti relativi all'ottimizzazione strutturale. Algoritmi di ottimizzazione scritti in linguaggio di programmazione Python, sia basati sul metodo del simplesso che di tipo gentico, sono stati integrati in ambiente Salome-Meca/CAE ed applicati ad esempi di interesse strutturale.
Resumo:
Synthetic Biology is a relatively new discipline, born at the beginning of the New Millennium, that brings the typical engineering approach (abstraction, modularity and standardization) to biotechnology. These principles aim to tame the extreme complexity of the various components and aid the construction of artificial biological systems with specific functions, usually by means of synthetic genetic circuits implemented in bacteria or simple eukaryotes like yeast. The cell becomes a programmable machine and its low-level programming language is made of strings of DNA. This work was performed in collaboration with researchers of the Department of Electrical Engineering of the University of Washington in Seattle and also with a student of the Corso di Laurea Magistrale in Ingegneria Biomedica at the University of Bologna: Marilisa Cortesi. During the collaboration I contributed to a Synthetic Biology project already started in the Klavins Laboratory. In particular, I modeled and subsequently simulated a synthetic genetic circuit that was ideated for the implementation of a multicelled behavior in a growing bacterial microcolony. In the first chapter the foundations of molecular biology are introduced: structure of the nucleic acids, transcription, translation and methods to regulate gene expression. An introduction to Synthetic Biology completes the section. In the second chapter is described the synthetic genetic circuit that was conceived to make spontaneously emerge, from an isogenic microcolony of bacteria, two different groups of cells, termed leaders and followers. The circuit exploits the intrinsic stochasticity of gene expression and intercellular communication via small molecules to break the symmetry in the phenotype of the microcolony. The four modules of the circuit (coin flipper, sender, receiver and follower) and their interactions are then illustrated. In the third chapter is derived the mathematical representation of the various components of the circuit and the several simplifying assumptions are made explicit. Transcription and translation are modeled as a single step and gene expression is function of the intracellular concentration of the various transcription factors that act on the different promoters of the circuit. A list of the various parameters and a justification for their value closes the chapter. In the fourth chapter are described the main characteristics of the gro simulation environment, developed by the Self Organizing Systems Laboratory of the University of Washington. Then, a sensitivity analysis performed to pinpoint the desirable characteristics of the various genetic components is detailed. The sensitivity analysis makes use of a cost function that is based on the fraction of cells in each one of the different possible states at the end of the simulation and the wanted outcome. Thanks to a particular kind of scatter plot, the parameters are ranked. Starting from an initial condition in which all the parameters assume their nominal value, the ranking suggest which parameter to tune in order to reach the goal. Obtaining a microcolony in which almost all the cells are in the follower state and only a few in the leader state seems to be the most difficult task. A small number of leader cells struggle to produce enough signal to turn the rest of the microcolony in the follower state. It is possible to obtain a microcolony in which the majority of cells are followers by increasing as much as possible the production of signal. Reaching the goal of a microcolony that is split in half between leaders and followers is comparatively easy. The best strategy seems to be increasing slightly the production of the enzyme. To end up with a majority of leaders, instead, it is advisable to increase the basal expression of the coin flipper module. At the end of the chapter, a possible future application of the leader election circuit, the spontaneous formation of spatial patterns in a microcolony, is modeled with the finite state machine formalism. The gro simulations provide insights into the genetic components that are needed to implement the behavior. In particular, since both the examples of pattern formation rely on a local version of Leader Election, a short-range communication system is essential. Moreover, new synthetic components that allow to reliably downregulate the growth rate in specific cells without side effects need to be developed. In the appendix are listed the gro code utilized to simulate the model of the circuit, a script in the Python programming language that was used to split the simulations on a Linux cluster and the Matlab code developed to analyze the data.
Resumo:
Sommario Il progetto descritto in questo documento consiste nella realizzazione di una prima applicazione pratica di uno specifico studio di ricerca rivolto al ripristino di reti wireless in scenari post-calamità naturali. In principio è stata descritta un’ampia analisi delle problematiche di rete che si vengono a creare in seguito ad eventi catastrofici. Successivamente, analizzando le varie tecniche e tecnologie oggetto di studio di diversi gruppi di ricerca, si è scelto di collaborare con il progetto STEM-Mesh, essendo ancora in fase sperimentale, il quale affronta il problema di ristabilire la connettività di rete in questi particolari scenari, attraverso l’utilizzo di tecnologie Cognitive Radio (CR), mobilità controllata e principi di reti auto-organizzanti. Di questo primo approccio pratico sono state poi descritte le fasi di progettazione, implementazione e testing. Nella fase di progettazione sono state studiate le componenti hardware e software che rispettassero il più possibile i requisiti e le caratteristiche dei dispositivi “staminali” STEM-Node cuore del progetto STEM-Mesh, ovvero dei dispositivi wireless altamente auto-riconfiguranti ed auto-organizzanti che possono diventare dispositivi sostituivi ai nodi compromessi in una rete, riconfigurandosi appunto in base alle funzionalità interrotte. Nella fase di implementazione si è passati alla stesura del codice, in Python e Wiring, abilitante il dispositivo STEM-Node. Infine nella fase di testing si è verificato che i risultati fossero quelli desiderati e che il sistema realizzato funzionasse come previsto.
Resumo:
Nel capitolo 1 si definisce la condizione mesoscopica e sono descritte le tecnologie utilizzate per la produzione e il deposito di particelle. Inoltre si discute come l’organizzazione dei gruppi di particelle sia influenzata dalla loro superficie e dalla loro reciproca interazione. Nel capitolo 2 si presenta un software per l'analisi di micrografie elettroniche, come è stato sviluppato, la sua portata, i limiti. Si descrivono gli algoritmi di base utilizzati per processare l’immagine e ottenere aree e perimetri delle nanoparticelle campionate. Infine il capitolo 3 contiene i risultati dell’analisi immagine e le relative conclusioni fisiche.
Resumo:
In numerosi campi scientici l'analisi di network complessi ha portato molte recenti scoperte: in questa tesi abbiamo sperimentato questo approccio sul linguaggio umano, in particolare quello scritto, dove le parole non interagiscono in modo casuale. Abbiamo quindi inizialmente presentato misure capaci di estrapolare importanti strutture topologiche dai newtork linguistici(Degree, Strength, Entropia, . . .) ed esaminato il software usato per rappresentare e visualizzare i grafi (Gephi). In seguito abbiamo analizzato le differenti proprietà statistiche di uno stesso testo in varie sue forme (shuffolato, senza stopwords e senza parole con bassa frequenza): il nostro database contiene cinque libri di cinque autori vissuti nel XIX secolo. Abbiamo infine mostrato come certe misure siano importanti per distinguere un testo reale dalle sue versioni modificate e perché la distribuzione del Degree di un testo normale e di uno shuffolato abbiano lo stesso andamento. Questi risultati potranno essere utili nella sempre più attiva analisi di fenomeni linguistici come l'autorship attribution e il riconoscimento di testi shuffolati.
Resumo:
L’idea da cui nasce questa tesi è quella di introdurre in Blender un Add-on in linguaggio Python che permetta di applicare alcune deformazioni di tipo surface-based a mesh poligonali. Questa tipologia di deformazioni rappresentano l’alternativa alle deformazioni di mesh poligonali tramite rigging ( cioè l’aggiunta di uno scheletro per controllare e per animare la mesh) e caging (cioè l’utilizzo di una struttura di controllo di tipo reticolare che propaga la sua deformazione su un oggetto in essa immerso), che di solito sono le prescelte in computer animation e in modellazione. Entrambe le deformazioni indicate sono già estremamente radicate in Blender, prova ne è il fatto che esiste più di un modificatore che le implementa, già integrato in codice nativo. Si introduce inizialmente la tecnica di deformazione di mesh poligonali tramite elasticità discreta, che è stata realizzata, quindi, presenteremo diverse metodologie di deformazione. Illustreremo poi come modellare, creare ed editare delle mesh in Blender. Non ci soffermeremo su dettagli puramente dettati dall’interfaccia utente, cercheremo invece di addentrarci nei concetti e nelle strutture teoriche, allo scopo di avere le basi logiche per definire una Add-on che risulti veramente efficace e utile all’interno del sistema di modellazione. Approfondiremo la struttura di due modificatori chiave per la deformazioni di mesh : Lattice Modifier e Mesh Deform Modifier che implementano una metodologia di tipo space-based. Infine ci concentreremo sulla parte di scripting Python in Blender. Daremo un’idea delle strutture dati, dei metodi e delle funzioni da utilizzare per interagire con l’ambiente circostante, con i singoli oggetti ed in particolare con le Mesh e daremo un esempio di script Python. Andremo infine a descrivere l’implementazione della deformazione elastica mediante add-on Python in Blender.
Resumo:
La presente ricerca consiste nel validare ed automatizzare metodiche di Adaptive Radiation Therapy (ART), che hanno come obiettivo la personalizzazione continua del piano di trattamento radioterapico in base alle variazioni anatomiche e dosimetriche del paziente. Tali variazioni (casuali e/o sistematiche) sono identificabili mediante l’utilizzo dell’imaging diagnostico. Il lavoro svolto presso la struttura di Fisica Medica dell’Azienda Ospedaliera Universitaria del Policlinico di Modena, si inserisce in un progetto del Ministero della Salute del bando Giovani Ricercatori dal titolo: “Dose warping methods for IGRT and ADAPTIVERT: dose accumulation based on organ motion and anatomical variations of the patients during radiation therapy treatments”. Questa metodica si sta affermando sempre più come nuova opportunità di trattamento e, per tale motivo, nasce l’esigenza di studiare e automatizzare processi realizzabili nella pratica clinica, con un utilizzo limitato di risorse. Si sono sviluppati script che hanno permesso l’automazione delle operazioni di Adaptive e deformazioni, raccogliendo i dati di 51 pazienti sottoposti a terapia mediante Tomotherapy. L’analisi delle co-registrazioni deformabili delle strutture e delle dosi distribuite, ha evidenziato criticità del software che hanno reso necessario lo sviluppo di sistemi di controllo dei risultati, per facilitare l’utente nella revisione quotidiana dei casi clinici. La letteratura riporta un numero piuttosto limitato di esperienze sulla validazione e utilizzo su larga scala di questi tools, per tale motivo, si è condotto un esame approfondito della qualità degli algoritmi elastici e la valutazione clinica in collaborazione di fisici medici e medici radioterapisti. Sono inoltre stati sviluppati principi di strutturazione di reti Bayesiane, che consentono di predirre la qualità delle deformazioni in diversi ambiti clinici (H&N, Prostata, Polmoni) e coordinare il lavoro quotidiano dei professionisti, identificando i pazienti, per i quali sono apprezzabili variazioni morfo-dosimetriche significative. Da notare come tale attività venga sviluppata automaticamente durante le ore notturne, sfruttando l’automation come strumento avanzato e indipendente dall’operatore. Infine, il forte sviluppo, negli ultimi anni della biomeccanica applicata al movimento degli organi (dimostrato dalla numerosa letteratura al riguardo), ha avuto come effetto lo sviluppo, la valutazione e l’introduzione di algoritmi di deformazione efficaci. In questa direzione, nel presente lavoro, si sono analizzate quantitivamente le variazioni e gli spostamenti delle parotidi, rispetto all’inizio del trattamento, gettando le basi per una proficua linea di ricerca in ambito radioterapico.
Analisi e progettazione di un'architettura per il monitoraggio a basso costo di catastrofi naturali.
Resumo:
Il monitoraggio ravvicinato di scenari protagonisti di fenomeni ambientali catastrofici, come improvvisi terremoti o violente eruzioni vulcaniche, è reso complicato dalla pericolosità intrinseca di tali ambienti per l'incolumità di operatori e attrezzature. L'obiettivo di questa tesi è di capire se è possibile realizzare un'alternativa alle attuali stazioni monitoranti, caratterizzata da una facile installazione e da un costo contenuto. Sarà fondamentale che la stazione possa trasmettere a distanza tutto ciò che i suoi sensori registrano, finché non sarà resa non operativa da un guasto meccanico causato dall'ambiente circostante.
Resumo:
In Italia hanno visto stampanti 3D commerciali, e grazie al gruppo di professori e ricercatori della Facoltà di Ingegneria Meccanica dell'Università di Bologna, con cui ho avuto la possibilità di realizzare questa tesi, è nato il progetto di una stampante 3D ibrida, dotata sia di una fresatrice che di un estrusore: una stampante talmente grande che si va a posizionare come la stampante più grande di tutta Italia. Il mio progetto, si chiama PrinterCAD, è in grado infatti di gestire le diverse fasi della stampa 3D ibrida con i necessari parametri di lavorazione e controllo. Questo applicazione è un modulo realizzato in Python e segue la filosofia del MVC; inoltre estende il software opensource FreeCAD.
Resumo:
Questo progetto ha lo scopo di creare un sistema di supporto per lo staff di grandi tornei internazionali di giochi da tavolo o di carte. Questi eventi sono solitamente gestiti da più di 40 persone e occupano grandi padiglioni fieristici. Vedremo come sia possibile, con l'ausilio di smartphone, facilitare le normali operazioni logistiche e permettere di risparmiare tempo e fatica. Analizzeremo le scelte progettuali e gli strumenti adottati per lo sviluppo di questo sistema.
Resumo:
Questa ricerca affronta in maniera interdisciplinare il tema delle funzioni polinomiali definite sugli anelli degli interi modulo la potenza di un numero primo. In primo luogo è stato esaminato il caso particolare del campo Zp, dimostrando che in esso tutte le funzioni sono polinomiali. In seguito è stato calcolato il numero delle funzioni polinomiali negli interi modulo 9 e modulo 25, mostrando un procedimento che può essere esteso a qualsiasi potenza di un numero primo. Esso fa uso di alcuni risultati di teoria dei numeri e di aritmetica e affronta il tema da un punto di vista prettamente algebrico. A queste dimostrazioni è stato affiancato un esperimento di tipo statistico, il cui obiettivo è cercare una regolarità che permetta, dati il numero primo p e il suo esponente n, di calcolare immediatamente il numero delle funzioni polinomiali nell'anello degli interi modulo p^n. Sono state presentate due congetture, ottenute utilizzando strumenti di tipo informatico: un software di calcolo e un linguaggio di programmazione ad alto livello. Gli strumenti della statistica descrittiva, in particolare il test di Pearson, si sono rivelati essenziali per verificare l'adeguatezza delle supposizioni. Questa ricerca può essere considerata il punto di partenza per dimostrare (o confutare) quello che è stato ipotizzato attraverso un'analisi di tipo sperimentale.
Resumo:
In questa tesi è stato proposto AffiliationExtractor, un tool modulare scritto in Python, preposto all'estrazione di informazioni su affiliazioni di autori di pubblicazioni scientifiche, producendo in output un dataset RDF contente queste informazioni.