# Create toy composite (AST/GWCS) model with supported components

XMLWordPrintable

#### Details

• Type: Story
• Status: Done
• Resolution: Done
• Fix Version/s: None
• Component/s:
• Labels:
• Story Points:
4
• Sprint:
• Team:

#### Description

To help us evaluate WCS options, we need to create a relatively complicated composite model in AST and GWCS, using a few models currently available within the existing packages. A minimal composite model to test these things would include:

• FITS linear transform
• ccd distortion
• optical model
• FITS TAN WCS

The middle steps do not need to be realistic models, just something that we can use to compare AST's and GWCS's respective interfaces and capabilities for creating the composite model, and test for differences in their results. We can then use this model to evaluate performance when run on different numbers of pixels.

#### Activity

Hide
John Parejko added a comment - - edited

Pushed Russell's AST/GWCS comparison modifications, plus something to generate a simple FITS file, to the branch.

Show
John Parejko added a comment - - edited Pushed Russell's AST/GWCS comparison modifications, plus something to generate a simple FITS file, to the branch.
Hide
Russell Owen added a comment - - edited

Comparing GWCS and PyAST in Python

The model is a 2nd order 2D polynomial for actual pixels to mean pixels,
followed by a pure TAN WCS for mean pixels to sky.

Times are in µsec and were measured on a mid 2012 Macbook Pro with a 2.6Ghz Intel Core i7.

 # points GWCS PyAST GWCS PyAST ratio  time time time/pt time/pt 1e2 15200 62.3 152 0.623 24 1e4 18900 2610 1.89 0.261 7.2 1e6 346000 269000 0.346 0.269 1.3 

The code can also measure the use of PyAST's tranGrid, which interpolates, but the results are difficult to interpret because the timing, naturally, is dependent on the tolerance. In any case, the timings above are more relevant to warping, since warping does its own interpolation. Warping is especially interesting because it is requires fast WCS for good performance (though interpolation ameliorates this) and because it is not easily vectorized (suggesting it would be difficult to get good performance in python).

Show
Russell Owen added a comment - - edited Comparing GWCS and PyAST in Python The model is a 2nd order 2D polynomial for actual pixels to mean pixels, followed by a pure TAN WCS for mean pixels to sky. Times are in µsec and were measured on a mid 2012 Macbook Pro with a 2.6Ghz Intel Core i7. # points GWCS PyAST GWCS PyAST ratio time time time/pt time/pt 1e2 15200 62.3 152 0.623 24 1e4 18900 2610 1.89 0.261 7.2 1e6 346000 269000 0.346 0.269 1.3 The code can also measure the use of PyAST's tranGrid , which interpolates, but the results are difficult to interpret because the timing, naturally, is dependent on the tolerance. In any case, the timings above are more relevant to warping, since warping does its own interpolation. Warping is especially interesting because it is requires fast WCS for good performance (though interpolation ameliorates this) and because it is not easily vectorized (suggesting it would be difficult to get good performance in python).

#### People

Assignee:
Russell Owen
Reporter:
John Parejko
Watchers:
John Parejko, Russell Owen, Tim Jenness