Diseño Y Desarrollo De Una Aplicación De Escritorio Dedicada a La Composición Fotográfica

Total Page:16

File Type:pdf, Size:1020Kb

Diseño Y Desarrollo De Una Aplicación De Escritorio Dedicada a La Composición Fotográfica E.T.S.I. TELECOMUNICACIÓN TRABAJO FIN DE GRADO GRADO EN INGENIERÍA DE TECNOLOGÍAS DE TELECOMUNICACIÓN Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica Autor: D. Pablo Martín Junquera Tutora: Dra. Dña. Miriam Antón Rodríguez Valladolid, 4 de Junio de 2015 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica TFG – Pablo Martín Junquera 2 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica TRABAJO FIN DE GRADO TÍTULO: Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica: Autodesign AUTOR: D. Pablo Martín Junquera TUTORA: Dña. Míriam Antón Rodríguez DEPARTAMENTO: Teoría de la Señal y Comunicaciones e Ingeniería Telemática TRIBUNAL PRESIDENTA: Dña. Mª Ángeles Pérez Juárez VOCAL: Dña. Míriam Antón Rodríguez SECRETARIO: D. David González Ortega SUPLENTE 1: D. Mario Martínez Zarzuela SUPLENTE 2: D. Francisco Javier Díaz Pernas FECHA: Julio de 2015 CALIFICACIÓN: TFG – Pablo Martín Junquera 3 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica TFG – Pablo Martín Junquera 4 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica AGRADECIMIENTOS “A mis padres, por apoyarme y confiar en mí hasta el final; a mis hermanos, por animarme en todo momento; a Claudia, por su ayuda, apoyo y ánimos en los buenos y malos momentos; a mi tutora, Miriam, por toda su ayuda, esfuerzo y dedicación” TFG – Pablo Martín Junquera 5 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica TFG – Pablo Martín Junquera 6 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica RESUMEN En este Trabajo Fin de Grado se propone el diseño y desarrollo de una aplicación software dedicada a la edición digital de imágenes. El programa ofrecerá las capacidades y medios necesarios para realizar composiciones fotográficas a partir de diferentes archivos de imagen y tendrá como finalidad obtener una imagen que resulte de la correcta combinación de éstas. El objetivo es que los usuarios puedan realizar una composición fotográfica de forma básica e intuitiva que después será procesada de forma más compleja mediante un programa externo. La aplicación tendrá un enfoque a la edición digital de imagen desde los niveles más bajos, permitiendo a los usuarios más inexpertos expresar su creatividad e ideas en este campo. Por lo tanto, un aspecto clave será la experiencia de usuario basada en la sencillez y facilidad de uso de la propia herramienta. El trabajo a realizar comprende todas las fases en el desarrollo de un proyecto software de estas características, abarcando desde el extremo más teórico hasta el más práctico, y tanto en el ámbito más técnico como en el entorno de un usuario final. Para alcanzar los objetivos se hace uso de un amplio abanico de tecnologías, entre las que destacan los lenguajes de programación MySQL y Python, junto con las librerías convenientes, y el programa Eclipse como principal herramienta de desarrollo. PALABRAS CLAVE Desarrollo software, edición digital de imagen, Python, Eclipse, MySQL. TFG – Pablo Martín Junquera 7 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica ABSTRACT In this final project the design and development of a software application dedicated to the digital edition of images is proposed. The application will offer the abilities and means needed to create photographic compositions from different image files and will be destined to obtain a resulting image from the combination of these. Its goal is for the users to be able to carry out a photographic composition in a basic and intuitive way which will be processed in a more complex way by an external program afterwards. The application will be aimed at the digital edition of an image at its lower levels allowing the most inexperienced users to express their creativity and ideas in this field. Therefore, a key aspect of this application will be the user’s experience based in the simplicity and the ease in the use of this tool. The work to do includes every phase in the development of a software project of these characteristics, covering from the most theoretical aspects to the most practical ones, including the most technical issue as well as the final user environment. To achieve the goals, a wide variety of technologies have been used, among which the programming languages MySQL and Python stand out, along with the convenient libraries, and the application Eclipse as the main developing tool. KEYWORDS Software development, digital image edition, Python, Eclipse, MySQL TFG – Pablo Martín Junquera 8 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica TFG – Pablo Martín Junquera 9 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica ÍNDICE Trabajo Fin de Grado .................................................................................................... 3 Agradecimientos ........................................................................................................... 5 Resumen ....................................................................................................................... 7 Abstract ......................................................................................................................... 8 Capítulo 1: Introducción ......................................................... 22 1. Introducción al Proyecto ..................................................................................... 22 2. Contexto y Motivación ........................................................................................ 23 3. Objetivos .............................................................................................................. 24 4. Fases y Metodología ............................................................................................ 25 5. Introducción al Documento ................................................................................. 27 Capítulo 2: Conocimientos Teóricos ....................................... 30 1. Conceptos de Software ....................................................................................... 30 1.1. Tipos de aplicaciones............................................................................................... 30 1.2. Sistemas operativos ................................................................................................ 35 2. Conceptos de imagen .......................................................................................... 36 2.1. Tipos de imagen digital ........................................................................................... 36 2.2. Formatos de imagen................................................................................................ 38 2.3. Canales de color. El canal Alfa ................................................................................. 45 3. Tecnologías .......................................................................................................... 49 3.1. Lenguajes de programación: Python ....................................................................... 49 3.2. Librerías de Python .................................................................................................. 53 3.3. Herramientas de desarrollo: Eclipse ....................................................................... 55 3.4. Servidor: XAMPP ..................................................................................................... 58 3.5. Bases de datos ......................................................................................................... 62 3.6. Arquitecturas software para el intercambio de información: REST ....................... 66 3.7. Formatos de intercambio de información: JSON .................................................... 68 TFG – Pablo Martín Junquera 10 Diseño y desarrollo de una aplicación de escritorio dedicada a la composición fotográfica Capitulo 3: Desarrollo del Proyecto ....................................... 71 1. Archivos Base ....................................................................................................... 71 2. Estructura de Ficheros y Directorios ................................................................... 72 3. Ficheros de Código .............................................................................................. 74 3.1. __init ........................................................................................................................ 74 3.2. main.py .................................................................................................................... 74 3.3. panel_usuario.py ..................................................................................................... 75 3.4 panel_imagenes.py ...................................................................................................... 75 3.5. panel_edicion.py ..................................................................................................... 75 3.6. panel_proyecto.py .................................................................................................. 75 3.7. imagen.py ................................................................................................................ 76 3.8. bd.py .......................................................................................................................
Recommended publications
  • Staged Model-Driven Generators Shifting Responsibility for Code Emission to Embedded Metaprograms
    Staged Model-Driven Generators Shifting Responsibility for Code Emission to Embedded Metaprograms Yannis Lilis1, Anthony Savidis1, 2 and Yannis Valsamakis1 1Institute of Computer Science, FORTH, Heraklion, Crete, Greece 2Department of Computer Science, University of Crete, Crete, Greece Keywords: Model-Driven Engineering, Multistage Languages, Code Generation, Compile-Time Metaprogramming. Abstract: We focus on MDE tools generating source code, entire or partial, providing a basis for programmers to introduce custom system refinements and extensions. The latter may introduce two maintenance issues once code is freely edited: (i) if source tags are affected model reconstruction is broken; and (ii) code inserted without special tags is overwritten on regeneration. Additionally, little progress has been made in combining sources whose code originates from multiple generative tools. To address these issues we propose an alternative path. Instead of generating code MDE tools generate source fragments as abstract syntax trees (ASTs). Then, programmers deploy metaprogramming to manipulate, combine and insert code on-demand from ASTs with calls resembling macro invocations. The latter shifts responsibility for source code emission from MDE tools to embedded metaprograms and enables programmers control where the produced code is inserted and integrated. Moreover, it supports source regeneration and model reconstruction causing no maintenance issues since MDE tools produce non-editable ASTs. We validate our proposition with case studies involving a user-interface builder and a general purpose modeling tool. 1 INTRODUCTION driven tools and focuses on addressing the maintenance issues arising from code generation. In general, Model-Driven Engineering (MDE) We continue elaborating on parameters of the involves tools, models, processes, methods and problem and then brief the key contributions of our algorithms addressing the demanding problem of work to address this issue.
    [Show full text]
  • Introduction to Eclipse and Pydev Fall 2021 Page 1 of 6
    Introduction to Eclipse and PyDev Fall 2021 Page 1 of 6 Introduction to Eclipse and PyDev We will be using Eclipse PyDev plugin in this course to create and run Python programs. Eclipse is a platform that can be used for application development tasks using different languages, including Java and Python. A separate handout describes how to install Eclipse and its Python plugin - PyDev. This handout will take you through the process of creating and running a Python program. Specifying the Eclipse workspace When you start Eclipse, you will be asked to specify the directory in which to store your projects. By default, on Windows, it creates a folder called eclipse-workspace in your personal folder Use this directory or another of your choice. To switch the workspace to a different folder, after starting Eclipse, go to File > Switch Workspace and select the desired folder. Creating a new PyDev project To create and run a Python program in Eclipse, you must form a project for it: 1. Create a new PyDev Project by selecting File > New > Project>PyDev > PyDev Project. This will open the PyDev Project dialog window (see Error! Reference source not found.) 2. In the dialog window: • Enter a project name of your choice into the Project name field. 3. In the PyDev Project dialog box ( Figure 1), make sure the right interpreter is selected (To make sure python version 3 is selected, click on Configure the interpreter not listed link verifying that the selected interpreter’s location should be within anaconda3 installation, i.e. mention anaconda3 in the path (Figure 2) ) Click on Finish.
    [Show full text]
  • Learning Perl Through Examples Part 2 L1110@BUMC 2/22/2017
    www.perl.org Learning Perl Through Examples Part 2 L1110@BUMC 2/22/2017 Yun Shen, Programmer Analyst [email protected] IS&T Research Computing Services Spring 2017 Tutorial Resource Before we start, please take a note - all the codes and www.perl.org supporting documents are accessible through: • http://rcs.bu.edu/examples/perl/tutorials/ Yun Shen, Programmer Analyst [email protected] IS&T Research Computing Services Spring 2017 Sign In Sheet We prepared sign-in sheet for each one to sign www.perl.org We do this for internal management and quality control So please SIGN IN if you haven’t done so Yun Shen, Programmer Analyst [email protected] IS&T Research Computing Services Spring 2017 Evaluation One last piece of information before we start: www.perl.org • DON’T FORGET TO GO TO: • http://rcs.bu.edu/survey/tutorial_evaluation.html Leave your feedback for this tutorial (both good and bad as long as it is honest are welcome. Thank you) Yun Shen, Programmer Analyst [email protected] IS&T Research Computing Services Spring 2017 Today’s Topic • Basics on creating your code www.perl.org • About Today’s Example • Learn Through Example 1 – fanconi_example_io.pl • Learn Through Example 2 – fanconi_example_str_process.pl • Learn Through Example 3 – fanconi_example_gene_anno.pl • Extra Examples (if time permit) Yun Shen, Programmer Analyst [email protected] IS&T Research Computing Services Spring 2017 www.perl.org Basics on creating your code How to combine specs, tools, modules and knowledge. Yun Shen, Programmer Analyst [email protected] IS&T Research Computing
    [Show full text]
  • Pyqgis Testing Developer Cookbook
    PyQGIS testing developer cookbook QGIS Project Sep 25, 2021 CONTENTS 1 Introduction 1 1.1 Scripting in the Python Console ................................... 1 1.2 Python Plugins ............................................ 2 1.2.1 Processing Plugins ...................................... 3 1.3 Running Python code when QGIS starts ............................... 3 1.3.1 The startup.py file ................................... 3 1.3.2 The PYQGIS_STARTUP environment variable ...................... 3 1.4 Python Applications ......................................... 3 1.4.1 Using PyQGIS in standalone scripts ............................. 4 1.4.2 Using PyQGIS in custom applications ............................ 5 1.4.3 Running Custom Applications ................................ 5 1.5 Technical notes on PyQt and SIP ................................... 6 2 Loading Projects 7 2.1 Resolving bad paths .......................................... 8 3 Loading Layers 9 3.1 Vector Layers ............................................. 9 3.2 Raster Layers ............................................. 12 3.3 QgsProject instance .......................................... 14 4 Accessing the Table Of Contents (TOC) 15 4.1 The QgsProject class ......................................... 15 4.2 QgsLayerTreeGroup class ...................................... 16 5 Using Raster Layers 19 5.1 Layer Details ............................................. 19 5.2 Renderer ............................................... 20 5.2.1 Single Band Rasters ....................................
    [Show full text]
  • Php Editor Mac Freeware Download
    Php editor mac freeware download Davor's PHP Editor (DPHPEdit) is a free PHP IDE (Integrated Development Environment) which allows Project Creation and Management, Editing with. Notepad++ is a free and open source code editor for Windows. It comes with syntax highlighting for many languages including PHP, JavaScript, HTML, and BBEdit costs $, you can also download a free trial version. PHP editor for Mac OS X, Windows, macOS, and Linux features such as the PHP code builder, the PHP code assistant, and the PHP function list tool. Browse, upload, download, rename, and delete files and directories and much more. PHP Editor free download. Get the latest version now. PHP Editor. CodeLite is an open source, free, cross platform IDE specialized in C, C++, PHP and ) programming languages which runs best on all major Platforms (OSX, Windows and Linux). You can Download CodeLite for the following OSs. Aptana Studio (Windows, Linux, Mac OS X) (FREE) Built-in macro language; Plugins can be downloaded and installed from within jEdit using . EditPlus is a text editor, HTML editor, PHP editor and Java editor for Windows. Download For Mac For macOS or later Release notes - Other platforms Atom is a text editor that's modern, approachable, yet hackable to the core—a tool. Komodo Edit is a simple, polyglot editor that provides the basic functionality you need for programming. unit testing, collaboration, or integration with build systems, download Komodo IDE and start your day trial. (x86), Mac OS X. Download your free trial of Zend Studio - the leading PHP Editor for Zend Studio - Mac OS bit fdbbdea, Download.
    [Show full text]
  • Introduction to Python for IBM I
    Introduction to Python for IBM i Mike Pavlak – IT Strategist [email protected] Agenda ■ A little about Python ■ Why use Python ■ How to install/determine if installed ▶IDE ■ Syntax 101 ▶Variables ▶Strings ▶Functions 2 Acknowledgements ■ Kevin Adler ■ Tony Cairns ■ Jesse Gorzinski ■ Google ■ Memegenerator ■ Corn chips and salsa ■ Parrots ■ And, of course, spam 3 A little about Python What is it, really? ■ General purpose language ■ Easy to get started ■ Simple syntax ■ Great for integrations (glue between systems) ■ Access to C and other APIs ■ Infrastructure first, but applications, too 5 Historically… ■ Python was conceptualized by Guido Van Rossum in the late 1980’s ■ Rossum published the first version of Python code (0.9.0) in February of 1991 at the CWI(Centrum Wiskunde & Informatica) in the Netherlands, Amsterdam ■ Python is derived from the ABC programming language, which is a general purpose language that was also developed at CWI. ■ Rossum chose the name “Python” since he was a fan of Monty Python’s Flying Circus. ■ Python is now maintained by a core development team at the institute, although Rossum still holds a vital role in directing its progress and as leading “commitor”. 6 Python lineage ■ Python 1 – 1994 ■ Python 2 – 2000 (Not dead yet…) ▶2.7 – 2010 ■ Python 3 – 2008 ▶3.5 – 2015 ▶3.6.2 – July 2017 ▶3.7 ➔ ETA July 2018 7 Python 2 or 3? 8 What’s the diff? ■ Example: ▶Python 2 print statement replaced by function ● Python 2 – print “Hello World!” ● Python 3 – print(“Hello World!”) ■ Many more differences, tho…
    [Show full text]
  • Guide Pédagogique
    2de SCIENCES NUMÉRIQUES ET TECHNOLOGIE GUIDE PÉDAGOGIQUE foucherconnect.fr Dans ce manuel, des ressources en accès direct pour tous SCIENCES NUMÉRIQUES ET TECHNOLOGIE 2de GUIDE PÉDAGOGIQUE Coordination : Dominique Lescar Cédric Blivet, professeur de sciences de l’ingénieur, lycée Gustave Monod Enghien-les-Bains (95) Fabrice Danes, professeur de sciences de l’ingénieur, lycée Pierre Mendès-France, Rennes (35) Hassan Dibesse, professeur de sciences de l’ingénieur, lycée Lesage, Vannes (56) Patricia Kerner, professeure de sciences de l’ingénieur, lycée Yves Thépot, Quimper (29) Yannig Salaun, professeur de mathématiques, lycée de l’Élorn, Landerneau (29) Édition : Emmanuelle Mary Mise en page : Grafatom « Le photocopillage, c’est l’usage abusif et collectif de la photocopie sans auto- risation des auteurs et des éditeurs. Largement répandu dans les établissements d’enseignement, le photocopillage menace l’avenir du livre, car il met en danger son équilibre économique. Il prive les auteurs d’une juste rémunération. En dehors de l’usage privé du copiste, toute reproduction totale ou partielle de cet ouvrage est interdite. » ISBN : 978-2-216-15505-7 Toute reproduction ou représentation intégrale ou partielle, par quelque procédé que ce soit, des pages publiées dans le présent ouvrage, faite sans autorisation de l’éditeur ou du Centre français du Droit de copie (20, rue des Grands-Augustins, 75006 Paris), est illicite et constitue une contrefaçon. Seules sont autorisées, d’une part, les reproductions strictement réservées à l’usage privé du copiste et non destinées à une utilisation collective, et, d’autre part, les analyses et courtes citations justifiées par le caractère scien- tifique ou d’information de l’œuvre dans laquelle elles sont incorporées (Loi du 1er juillet 1992 - art.
    [Show full text]
  • Το Παιχνιδι ‘Binary Droids’»
    Α ΡΙΣΤΟΤΕΛΕΙΟ Π ΑΝΕΠΙΣΤΗΜΙΟ Θ ΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Α.Ε.Μ. 2090 «ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ ΓΛΩΣΣΑ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ ‘BINARY DROIDS’» (Learning Games Development in Python: The ‘Binary Droids’ Game) ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΤΑΥΡΟΣ Επ. Καθηγητής ΘΕΣΣΑΛΟΝΙΚΗ 2015 ΠΕΡΙΛΗΨΗ Π ΕΡΙΛΗΨΗ Αντικείμενο της παρούσας εργασίας είναι η παιχνιδοκεντρική μάθηση και η ανάπτυξη ενός εκπαιδευτικού παιχνιδιού. Με την ανάπτυξη της τεχνολογίας στις μέρες μας, η διαδικασία της εκπαίδευσης και της μάθησης έχουν αλλάξει δραματικά. Η μάθηση δεν είναι πλέον μια κλασσική διαδικασία που στηρίζεται μόνο στα βιβλία. Η εργασία ασχολείται με την παιχνιδοκεντρική μάθηση και τη χρήση των παιχνιδιών σε αυτή τη διαδικασία, ενώ περιγράφεται και η ανάπτυξη ενός τέτοιου εκπαιδευτικού παιχνιδιού. Στο πρώτο μέρος περιγράφεται η έννοια της παιχνιδοκεντρικής μάθησης, εκείνης της διαδικασίας μάθησης που χρησιμοποιεί ως μηχανισμό το παιχνίδι. Επίσης περιγράφονται οι διάφορες κατηγορίες εκπαιδευτικών παιχνιδιών. Στο δεύτερο μέρος γίνεται αναφορά στη γλώσσα Python, το μοντέλο εκτέλεσής της και την ιστορία της. Έπειτα γίνεται αναφορά στη βιβλιοθήκη Pygame και στα εργαλεία που χρησιμοποιήθηκαν στην ανάπτυξη του παιχνιδιού. Στο τρίτο μέρος της εργασίας αναλύεται η υλοποίηση ενός εκπαιδευτικού ψηφιακού παιχνιδιού με τίτλο «Binary Droids», υλοποιημένο σε Python, με χρήση της Pygame. Το παιχνίδι έχει σκοπό την εκμάθηση μιας βασικής έννοιας της Πληροφορικής, αυτήν του δυαδικού συστήματος αρίθμησης, και της μετατροπής αριθμών από το δυαδικό σύστημα στο γνωστό σε όλους δεκαδικό. Το παιχνίδι χρησιμοποιεί επιβραβεύσεις και ποινές, όταν ο χρήστης εκτελεί τις μετατροπές των αριθμών σωστά και όταν τις εκτελεί λάθος, αντίστοιχα. Όσο ο χρήστης επιβραβεύεται για τις επιδόσεις του στο παιχνίδι, ανεβαίνει επίπεδα και συνεπώς αυξάνεται και η δυσκολία.
    [Show full text]
  • Raul Oscar Irene Rivas Resume
    R a u l O s car Ir ene Rivas Contact Com p ute r Sys t e ms Engi neer i n g +64 (021) 2019196 [email protected] m PERSO N A L INFORMA TION EXPERIENCE S kype: osca r _ i r ene www.raulrivas.info Name Raúl Oscar Irene Rivas Aurora College Birthday 14th May 1991 (28) 2018-2019 Spanish Tutor Aid Interpreter OBJECTIVE Relationship Single * Help Colombian refugees to understand their high school Born Mexican subjects. Hard-working and results-oriented java, swift and python programmer with over three years Languages Spanish, English Computers in Home of experience in producing robust and clean code. 2018-2019 Tutor CONTACT * Teach Colombian refugees As a mobile developer, have created two published how to use the core functions of a computer and le apps for both Android and iOS and one Android Mobile +64 (021) 2019196 management. prototype as part of my master thesis project. Email [email protected] 2018-2019 Master in Information Technology Looking to support and participate in the (Graduated May-2019) Skype oscar_irene growth of the company by applying Southern Institute of Technology * proven programming skills. Address 43 Islington St. Invercargill, New Zealand. Invercargill, New Zealand. 2017 9810 May - Dec High level in English 2014 AREAS OF INT EREST * Southern Lakes English College Queenstown, New Zealand. PROFESSI ONA L EXPER IENCE Mobile and web development, 2014-2017 P i neda Covalin Experience 7 years Software Developer data analysis and project management. Currently Software Developer * Automate administrative processes through software SOFT SKILLS EDUCATIO N (Python, Java).
    [Show full text]
  • An Operationally Based Vision Assessment Simulator for Domes
    IMAGE 2012 Conference AN OPERATIONALLY BASED VISION ASSESSMENT SIMULATOR FOR DOMES John Archdeacon, Principal Engineer and IG Architect Dell Services Federal Government/NASA Ames Research Center Moffett Field, CA James P. Gaska, Ph.D 711 HPW/USAFSAM/FECO Wright Patterson AFB, OH Samson Timoner, Ph.D Scalable Display Technologies Cambridge, MA with an objective of minimizing latency in the system. The ABSTRACT performance of the automatic calibration system used in the dome is also described. Various recommendations for The Operational Based Vision Assessment (OBVA) possible future implementations shall also be discussed. simulator was designed and built by NASA and the United States Air Force (USAF) to provide the Air Force School of Aerospace Medicine (USAFSAM) with a scientific INTRODUCTION testing laboratory to study human vision and testing standards in an operationally relevant environment. This The work described here is part of the U.S. Air Force paper describes the general design objectives and sponsored Operational Based Vision Assessment (OBVA) implementation characteristics of the simulator visual program which has been tasked with developing a high system being created to meet these requirements. fidelity flight simulation laboratory to determine the relationship between visual capabilities and performance A key design objective for the OBVA research simulator is in simulated operationally relevant tasks. This paper to develop a real-time computer image generator (IG) and describes the general design objectives and display subsystem that can display and update at 120 implementation characteristics of the visual system being frames per second (design target), or at a minimum, 60 developed by NASA to meet this requirement.
    [Show full text]
  • Python-101.Pdf
    What is Python? I Object-oriented, rapid prototyping language I Multi-purpose: Web, GUI, scripting, science, etc. I Interpreted and interactive; very easy to learn I Strongly typed and dynamically typed I Focus on readability and productivity I Extensive standard library and community I CPython, Jython, IronPython, PyPy, etc. I Home page: http://www.python.org/ Python 101 1 Who uses Python? I Google (various projects) I NASA (several projects) I NYSE (one of only three languages \on the floor") I Industrial Light & Magic (everything) I Yahoo! (Yahoo mail & groups) I RealNetworks (function and load testing) I RedHat and Ubuntu (Linux installation tools) I LLNL, Fermilab (steering scientific applications) More success stories at http://www.pythonology.com/ Python 101 2 Python vs Java Python Java I Dynamically typed I Statically typed (assign names to values) (must declare variables) I Concise: \expressing much I Verbose: \abounding in in a few words; implies words; using or containing clean-cut brevity, attained by more words than are excision of the superfluous” necessary" import java.io.*; ... # open the filed.txt // open the filed.txt myFile = open("d.txt") BufferedReader myFile = new BufferedReader( new FileReader("d.txt")); http://pythonconquerstheuniverse.wordpress.com/category/java-and-python/ Python 101 3 Some Basics I Indentation matters (no braces!) I Type matters (must be consistent) I Comments start with a # I Strings use 's or "s (or """s) I print (vs System.out.println) I None ≈ null, self ≈ this I and, or, not instead of &&,
    [Show full text]
  • Desktop GUI Development
    Learn Quickly Creating Professional Looking Desktop Application Using Python2.7/wxPython, wxFormBuilder, Py2exe and InnoSetup Take your ability to develop powerful applications for desktop to the next level today. This book is the companion to my video series on Learning GUI with Python You may freely copy and distribute this eBook as long as you do not modify the text. You must not make any charge for this eBook. Author: Umar Yusuf Tel: +2348039508010 URL: www.UmarYusuf.com Email: [email protected] 1 | P a g e LESSON CONTENTS 1: Introduction and overview of our app 2: Beautiful Apps created with wxPython 3: Downloading and Installation o Python 2.x.x o Python Libraries: wxPython, and Py2Exe (easy_install, PIP) o wxFormBuilder o InnoSetup o Editor/IDE (NotePad++, SublimeText, or AptanaStudio) 4: Testing installations 5: Developing the console program 6: Sketch the App GUI (Graphical User Interface) 7: Creating GUI (Graphical User Interface) Setup wxformbuilder Create Frame Window Add Menu and Status bars Add Widgets (Buttons and TextControl) Define/name Widgets Methods 8: Binding Events to Methods 9: Compiling, Packaging and distributing our completed App 10: References 2 | P a g e INTRODUCTION AND OVERVIEW OF OUR APP My name is Umar Yusuf, am based in Nigeria, Africa. I love to help people grow in their technical careers! I have a passion for condensing complex topics into accessible concepts, practical skills and ready-to- use examples. See more details about me here: www.UmarYusuf.com This tutorial will show you how to design and build a fully-functional desktop Graphical User Interface (GUI) application for maths Expression Evaluation using a combination of Python 2.x, wxPython, wxFormBuilder, Py2exe and InnoSetup.
    [Show full text]