Where will PyRAF lead us?: The future of data analysis software at STScI Perry Greenfield Science Analysis Tools Project Space Telescope Science Institute.

Slides:



Advertisements
Similar presentations
Guy Griffiths. General purpose interpreted programming language Widely used by scientists and programmers of all stripes Supported by many 3 rd -party.
Advertisements

COM vs. CORBA.
Programming Paradigms and languages
Test Automation Success: Choosing the Right People & Process
Data Analysis Plan GBT IDL Workshop October 15, 2004.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Embedded Systems Development Selecting a language for a real-time embedded system.
1 CMSC 132: Object-Oriented Programming II Software Development III Department of Computer Science University of Maryland, College Park.
Russell Taylor Lecturer in Computing & Business Studies.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Data Structures and Programming.  John Edgar2.
Python Introduction.
MIRI software; implementation plan Peter Roelfsema.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Groovy WHAT IS IT? HOW DOES IT WORK? IS IT USEFUL?
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Software – Applications software and programming languages
ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue.
GLAST Science Support CenterAugust 9, 2004 Implementation of the Standard Analysis Environment (SAE) James Peachey (HEASARC/GLAST SSC—GSFC/L3)
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Trilinos Software Engineering Technologies.
Data Management Subsystem: Data Processing, Calibration and Archive Systems for JWST with implications for HST Gretchen Greene & Perry Greenfield.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Putting What We Learned Into Context – WSGI and Web Frameworks A290/A590, Fall /16/2014.
The Python Language Petr Přikryl Part I Socrates IP, 15th June 2004 TU of Brno, FIT, Czech Republic.
Python: An Introduction
SPACE TELESCOPE SCIENCE INSTITUTE Operated for NASA by AURA COS Pipeline Language(s) We plan to develop CALCOS using Python and C Another programming language?
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Summary of distributed tools of potential use for JRA3 Dugan Witherick HPC Programmer for the Miracle Consortium University College.
R R R 1 Frameworks III Practical Issues. R R R 2 How to use Application Frameworks Application developed with Framework has 3 parts: –framework –concrete.
Software – Applications software and programming languages.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
Doug Tody E2E Perspective EVLA Advisory Committee Meeting December 14-15, 2004 EVLA Software E2E Perspective.
28-29 th March 2006CCP4 Automation STAB MeetingCCP4i and Automation 1 CCP4i and Automation : Opportunities and Limitations Peter Briggs, CCP4.
The SINGS SED Tool Daniela Calzetti (STScI) June 10 th, 2002 SSC Deliverable  SSC Deliverable – IDL Image Analysis Software to provide: o PSF-matched,
SDD/DFS R. Hook. VLT 2 nd Generation Instrumentation Pipelines, 18 Apr Richard Hook Sampo & ESO Reflex background, status and plans.
Copyright © 2010 Certification Partners, LLC -- All Rights Reserved Perl Specialist.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
EVLA Software Bryan Butler. 2007May22EVLA SAGE Meeting2 Requirements and Goals of EVLA Software Maximize scientific throughput of the instrument At a.
What the Data Products Program Offers Users Todd Boroson Dick Shaw Presentation to NOAO Users Committee October 23, 2003.
1 KFPA Critical Design Review – Fri., Jan. 30, 2009 KFPA Data Pipeline Bob Garwood- NRAO-CV.
Copyright © 2003 ProsoftTraining. All rights reserved. Perl Fundamentals.
1 1 Office of Science Jean-Luc Vay Accelerator Technology & Applied Physics Division Lawrence Berkeley National Laboratory HEP Software Foundation Workshop,
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
JWST Pipeline/Analysis Tools Perry Greenfield Science Software Branch.
00/XXXX 1 Data Processing in PRISM Introduction. COCO (CDMS Overloaded for CF Objects) What is it. Why is COCO written in Python. Implementation Data Operations.
Overview of the Systems Biology Workbench Michael Hucka, Andrew Finney, Herbert Sauro, Hamid Bolouri ERATO Kitano Systems Biology Project California Institute.
Page 1 PACS GRITS 17 June 2011 Herschel Data Analysis Guerilla Style: Keeping flexibility in a system with long development cycles Bernhard Schulz NASA.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Project Information Abstract Project Objectives The objective of this project is to: Create a visual designer that will allow inexperienced end- users.
Procedural programming Procedural programming is where you specify the steps required. You do this by making the program in steps. Procedural programming.
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
What is a Computer An electronic, digital device that stores and processes information. A machine that accepts input, processes it according to specified.
Environment & Education & More Dan Bothell. Overview Data Teaching Materials Environment Other ACT-R 5.0 and RPM issues.
Part I: Python. Part I: Python Guido van Rossum Over six years ago, in December 1989, I was.
SOAR Data Reduction Pipelines
Development Environment
Object Oriented Programming
MET4750 Techniques for Earth System Modeling
Scripting Languages Info derived largely from Programming Language Pragmatics, by Michael Scott.
The Mach System Sri Ramkrishna.
Towards a CTA high-level science analysis framework
Pipeline Execution Environment
PYTHON: AN INTRODUCTION
Teaching Computing to GCSE
Chapter 2: Operating-System Structures
McIDAS-V: Why it’s Based on VisAD and IDV
Brief Intro to Python for Statistics
Programming Language Translation
Presentation transcript:

Where will PyRAF lead us?: The future of data analysis software at STScI Perry Greenfield Science Analysis Tools Project Space Telescope Science Institute Baltimore, MD

Original Goals A more robust CL for IRAF –Primarily to address the difficulties of debugging and error handling –But also to allow a more standard scripting language that has wide support –It’s hard to compete these days with one’s own custom language A way to integrate non-IRAF software with IRAF capabilities without resorting to many separate processes. Provided the possibility that IDL-like capabilities could be added.

Why Python? First: Why not IDL? –Writing a CL for IRAF based on IDL not feasible. –That’s what we would have done if it were. There are other drawbacks for IDL but they were secondary. E.g., –Commercial (and expensive), closed source –Not general purpose (driving users to use other solutions for other scripting needs) –Doesn’t support compiled code subroutines well

Python pros Free, Open Source Very strong (deep and broad) user and developer community –Still growing –Long lifetime expected General purpose Very portable Very extensible (in Python and with compiled code) Comparatively easy to learn Scales well Still the clear choice among scripting languages

IRAF CL features not currently supported CL is not completely emulated: Not all CL language behaviors supported if considered problematic GOTOs not completely (but now partly) supported Background tasks* Package unloading* Text-based epar* Graphics redirection* New IRAF CL error handling*

Python and Astronomical Data Analysis The conventional view: It’s a good scripting language –Becoming the standard scripting language for astronomy: PyMIDAS Parseltongue (AIPS) ALMA PySL (CIAO/s-lang) But that’s all it’s good for

Python and Astronomical Data Analysis (cont.) We take a broader view: Eminently suitable for many astronomical applications with the appropriate libraries. –Thus do as much in Python as possible And when it isn’t, it is possible to use compiled languages to handle the exceptions. It’s also more accessible to development by astronomers. Thus most of our Python infrastructure efforts have been towards enabling this.

Our efforts To expand the tools within Python to make it more productive as a development environment. E.g., PyRAF (interface to IRAF tasks) PyFITS (FITS I/O) Numarray (array manipulations) Scipy (numerical libraries) Matplotlib (2D plotting) Astronomical utility libraries (astrolib) –WCS –Coordinates –Photometry –VO tools

Our efforts (cont.) To begin promoting its use by astronomers: Introductory tutorial written showing how to use Python for interactive data analysis: – –Tutorials given to STScI staff and at ADASS Astrolib wiki set up

Future plans for PyRAF Add capabilities marked with ‘*’ in near future Improve graphics features Support Gemini use of PyRAF in their pipelines PyRAF work near the top of the priority queue now In strategic value to STScI development, PyRAF is dropping relative to our other Python infrastructure projects –No new software being written for IRAF VOS –More of IRAF functionality slowly appearing in other Python- based libraries –PyRAF was our mechanism to transition to Python and has been very successful in allowing us to do so. Its strategic value is to our user community

Numarray vs Numeric/numeric3 Effort underway to replace both Numeric and numarray with “scipy_core” (aka Numeric3) to end current split in user community Much progress made STScI currently testing scipy_core Plan to start porting our software (e.g, pyfits, Multidrizzle, etc.) very soon Will support both for some transition period