DANSE Diffraction Software for the SNS: DiffDANSE - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

DANSE Diffraction Software for the SNS: DiffDANSE

Description:

Prototype: Dream-desktop for local-structure studies using the atomic pair ... Team development results in code that is readable by more than one human being ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 19
Provided by: bill122
Category:

less

Transcript and Presenter's Notes

Title: DANSE Diffraction Software for the SNS: DiffDANSE


1
DANSE Diffraction Software for the SNS DiffDANSE
  • S.J.L. Billinge
  • Dept. Physics and Astronomy
  • Michigan State University

2
Outline
  • Local Goals of DiffDANSE
  • Proposed scope and tasks
  • Preliminary work
  • Communications

3
DiffDANSE goals
  • Make diffraction data analysis software that SNS
    users (and other people) want to use!
  • Make sure that it has a long life

4
DiffDANSE goals
  • Make diffraction data analysis software that
    people want to use!
  • Solves peoples scientific problems, opens new
    scientific horizons
  • Shortens time to publication
  • Flexible
  • Easy to use
  • Good user documentation
  • Robust and Stable

5
DiffDANSE goals
  • Make sure that it has a long life
  • Maintainable (esp. by others, i.e., SNS!)
  • Good developer documentation
  • Requirements/use cases/tests stored with the code
  • Extensible
  • modular
  • Scalable
  • Dynamic memory allocation
  • Distributable/parallelizable
  • Quality controlled
  • Open source

6
Scope
7
Common tasks
Libraries/common utilities
Education/outreach
8
DiffDANSE development team
?
9
  • Prototype Dream-desktop for local-structure
    studies using the atomic pair distribution
    function (PDF)

10
Prototype application PDFgui
  • Goals
  • PDF is a great technique for studying local
    structure, but our programs are clunky and hard
    to useok for hard-core physicists but not for
    wider adoption. Give it an easy-to-use interface
  • Often we want to refine multiple datasets as a
    function of temperature/pressure/composition,
    etc.. Make a program that is straightforward to
    automate for multiple datasets but flexible
    enough to give the user control over this process
  • Users are interested in structure, not scattering
    data. Allow them to interact with the structure
    straightforwardly in the same program in real
    time
  • Make it sufficiently fast that people want to use
    it
  • Use it as a prototype to learn how the DANSE
    software development process is going to go

11
PDFgui
  • Solution
  • Write Python bindings into our existing PDFFIT2
    C code to access variables at the python layer
    at run-time
  • Wrap an existing plotting program, matplotlib,
    for 1D plots which support user interactions
    (zoom, explore, etc.)
  • Wrap an existing structure visualization program,
    ATOMEYE, for simple structure visualization
  • Build a GUI front-end
  • We want real-time interactivity so
  • Graphics can eat up system resources gt build in
    distributed functionality. Have PDFFIT2 running
    on a remote computer but keep the real-time
    interactivity

12
PDFgui component structure
Plot Control
Matplotlib
StruVis Control
Pymol
13
  • Configuring a set of fits for a T-series on
    LaMnO3 data.

14
Plotting pane of PDFgui
15
PDFgui
  • Make code people want to use
  • Careful design of the structure of the GUI. This
    went through several iterations and ultimately a
    complete refactoring as we struggled with how
    people will use it for different tasks.
  • User input
  • Rapid development cycle was just a few months
    from inception to the alpha-0 release (local
    release with a single installation). Now working
    on alpha-1 (wider release, some feature
    improvements)
  • (already expert PDF) Users were up to speed after
    one tutorial session with no documentation (will
    address at beta release)
  • Software control on TRAC and svn allows users to
    post bug-reports and feature requests that wont
    get lost.

16
PDFgui
  • Make sure that it has a long life
  • Modular
  • Clear separation of gui from program logic.
    Interaction between the program and the gui
    through proxies
  • Team development results in code that is readable
    by more than one human being
  • Coding standards for docstrings and basic syntax
    structure
  • Project under subversion control under TRAC

17
(No Transcript)
18
Summary
  • Make codes people want to use
  • Open Source
  • Community engagement what do you want to have?
  • Community involvement what do you want to do?
  • Now beginning to develop the detailed software
    requirements. Please tell us what you need!
Write a Comment
User Comments (0)
About PowerShow.com