[PIPE2D-1012] Quality of FluxModelInterpolator's output is bad Created: 28/Mar/22 Updated: 08/Jun/22 Resolved: 08/Jun/22 |
|
| Status: | Done |
| Project: | DRP 2-D Pipeline |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Normal |
| Reporter: | sogo.mineo | Assignee: | sogo.mineo |
| Resolution: | Done | Votes: | 0 |
| Labels: | flux-calibration | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Epic Link: | flux calibration |
| Reviewers: | price |
| Description |
|
The quality of FluxModelInterpolator's output is evidently bad. [truth vs interpolation.png] FluxModelInterpolator cannot even reproduce one of the input points. Since this is interpolation, such a phenomenon should not be observed if calculations are exact. [fullset vs modelInterpolator.png]FluxModelInterpolator cannot reproduce the interpolation "fullset") that Yamashita-san made. According to Yamashita-san, the current FluxModelInterpolator works differently from what his interpolator did because he had forgot to upload his latest code to drp_fstar repository before FluxModelInterpolator was made. However, I made some experiments and concluded that it was the oldness of scipy that was to blame. In addition, the latest scipy introduced RBFInterpolator that is very useful to FluxModelInterpolator. Currently, FluxModelInterpolator uses Rbf class, whose codomain must be one-dimensional in our old scipy. It uses 100k Rbf instances to output a spectrum with 100k sampling points. On the other hand, RBFInterpolator's codomain can be multidimensional. If it is used, computation will be 100k times faster as I have already confirmed personally. Because I don't think the latest scipy (>= 1.8) will be available very soon, I am going to write a small implementation of RBFInterpolator compatible with scipy. After scipy >= 1.8 is available, the compatible class must be abandoned. |
| Comments |
| Comment by price [ 28/Mar/22 ] |
|
scipy 1.8.0 is available with an updated LSST stack ( |
| Comment by sogo.mineo [ 29/Mar/22 ] |
|
OK. Then I will wait for scipy 1.8.0. I want to keep this issue open because I will in this ticket replace Rbf class with RbfInterpolator class when it gets available. |
| Comment by sogo.mineo [ 26/Apr/22 ] |
|
I pushed a branch for this ticket because Yamashita-san wants to try RBFInterpolator. The branch currently contains RBFInterpolator that I myself wrote. This class will be deleted in future when scipy is upgraded, before this branch is merged to master. |
| Comment by sogo.mineo [ 07/Jun/22 ] |
|
Could you review this PR? |
| Comment by sogo.mineo [ 08/Jun/22 ] |
|
Merged. Thanks for review. |