AAOGlimpse Fun with OpenGL and FITS Keith Shortridge, Australian - - PowerPoint PPT Presentation

aaoglimpse fun with opengl and fits
SMART_READER_LITE
LIVE PREVIEW

AAOGlimpse Fun with OpenGL and FITS Keith Shortridge, Australian - - PowerPoint PPT Presentation

AAOGlimpse Fun with OpenGL and FITS Keith Shortridge, Australian Astronomical Observatory glVertex3f (x,y,z); AAOGlimpse is a FITS image display program with a small difference. Heres the basic idea.... glVertex3f (x,y,z); glVertex3f


slide-1
SLIDE 1

glVertex3f (x,y,z);

AAOGlimpse – Fun with OpenGL and FITS

Keith Shortridge, Australian Astronomical Observatory

slide-2
SLIDE 2

glVertex3f (x,y,z);

AAOGlimpse is a FITS image display program – with a small difference. Here’s the basic idea....

slide-3
SLIDE 3

glVertex3f (x,y,z);

slide-4
SLIDE 4

glVertex3f (x,y,z); glColor3f (r,g,b);

slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11
slide-12
SLIDE 12
slide-13
SLIDE 13
slide-14
SLIDE 14
slide-15
SLIDE 15

glVertex3f (x,y,z);

Formal Definition of Functional Requirements

World Coordinate System (WCS) support Support for 3D data

slide-16
SLIDE 16

glVertex3f (x,y,z);

WCS

Uses Mark Calabretta’s wcslib Each data pixel has X,Y,Z WCS coordinates, and these are used to draw its surface in coordinate space. (Can use a lot of memory.) In OpenGL you draw the surfaces in the coordinate space you

  • choose. (You don’t have to think about the screen at all.)

Then how you view it is something completely separate.

slide-17
SLIDE 17
slide-18
SLIDE 18
slide-19
SLIDE 19
slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23
slide-24
SLIDE 24

glVertex3f (x,y,z);

3D Data

Each plane of the data is its own 3D surface, and you have a lot of these 3D surfaces.

slide-25
SLIDE 25
slide-26
SLIDE 26
slide-27
SLIDE 27
slide-28
SLIDE 28
slide-29
SLIDE 29

glVertex3f (x,y,z);

More Functional Requirements

Analysis of optical test data – our optical engineers wanted to fit ellipses to out‐of‐focus test images.

slide-30
SLIDE 30
slide-31
SLIDE 31

glVertex3f (x,y,z);

Optical Test Data Functional Requirements

Ellipse fitting ‐ Interactive and Automatic JPEG input

slide-32
SLIDE 32

Automatic fitting using ‘plug‐out’ utility programs.

slide-33
SLIDE 33

Interactive fitting using the cursor.

slide-34
SLIDE 34
slide-35
SLIDE 35

glVertex3f (x,y,z);

A bit of fun with JPEGs

Read in using libjpeg. Surface height depends on sum of all R,G,B colour values. Surface colour is the R,G,B colour for each pixel.

slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39

glVertex3f (x,y,z);

Current Status

Available for download as an OS X executable. http://www.aao.gov.au/local/www/ks/AAODisp.html (or Google AAOGlimpse) ~8200 system‐independent lines of C++ ~850 OS X dependent lines of Objective‐C++ (OS X user interface) Source will be made available (following a little housekeeping). Port to Linux or Windows should be straightforward – needs some effort.

slide-40
SLIDE 40
slide-41
SLIDE 41

glVertex3f (x,y,z);

slide-42
SLIDE 42

AAOGlimpse – Fun with OpenGL and FITS

Keith Shortridge, Australian Astronomical Observatory

slide-43
SLIDE 43

AAOGlimpse is a FITS image display program – with a small difference. Here’s the basic idea....

slide-44
SLIDE 44

Formal Definition of Functional Requirements

World Coordinate System (WCS) support Support for 3D data

slide-45
SLIDE 45

WCS

Uses Mark Calabretta’s wcslib Each data pixel has X,Y,Z WCS coordinates, and these are used to draw its surface in coordinate space. (Can use a lot of memory.) In OpenGL you draw the surfaces in the coordinate space you

  • choose. (You don’t have to think about the screen at all.)

Then how you view it is something completely separate.

slide-46
SLIDE 46

3D Data

Each plane of the data is its own 3D surface, and you have a lot of these 3D surfaces.