<!-- 
RSS generated by JIRA (8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b) at Sat Feb 10 15:50:38 JST 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>PFS-JIRA</title>
    <link>https://pfspipe.ipmu.jp/jira</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.3.4</version>
        <build-number>803005</build-number>
        <build-date>13-09-2019</build-date>
    </build-info>


<item>
            <title>[PIPE2D-290] Fix normalisation of fibers in flats</title>
                <link>https://pfspipe.ipmu.jp/jira/browse/PIPE2D-290</link>
                <project id="10002" key="PIPE2D">DRP 2-D Pipeline</project>
                    <description>&lt;p&gt;We need to be able to calibrate all fibers on a CCD by calibrating just one, so the fiber flats need to preserve the fiber-to-fiber throughput variations, whereas currently they don&apos;t.&lt;/p&gt;

&lt;p&gt;In the process, remove &lt;tt&gt;DetectorMap._throughput&lt;/tt&gt;: throughput variations will be taken care of in the flat-field, and that also allows us to correct throughput as a function of wavelength rather than a single value per fiber.&lt;/p&gt;</description>
                <environment></environment>
        <key id="12828">PIPE2D-290</key>
            <summary>Fix normalisation of fibers in flats</summary>
                <type id="10001" iconUrl="https://pfspipe.ipmu.jp/jira/secure/viewavatar?size=xsmall&amp;avatarId=10515&amp;avatarType=issuetype">Story</type>
                                            <priority id="10000" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/priorities/medium.svg">Normal</priority>
                        <status id="10002" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/statuses/generic.png" description="The issue is resolved, reviewed, and merged">Done</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="price">price</assignee>
                                    <reporter username="price">price</reporter>
                        <labels>
                    </labels>
                <created>Thu, 13 Sep 2018 18:17:01 +0000</created>
                <updated>Thu, 18 Oct 2018 15:40:41 +0000</updated>
                            <resolved>Tue, 16 Oct 2018 20:07:23 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                <comments>
                            <comment id="14117" author="price" created="Wed, 3 Oct 2018 01:40:54 +0000"  >&lt;p&gt;&lt;a href=&quot;https://pfspipe.ipmu.jp/jira/secure/ViewProfile.jspa?name=hassan&quot; class=&quot;user-hover&quot; rel=&quot;hassan&quot;&gt;hassan&lt;/a&gt;, are you available to take a look at this, please?&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
price@neverland:~/pfs/drp_stella (tickets/PIPE2D-290=) $ git sub
commit 4415c44ee44de4e2ef7f8b53e6601c5be889187d
Author: Paul Price &amp;lt;price@astro.princeton.edu&amp;gt;
Date:   Thu Sep 13 14:32:15 2018 -0400

    remove SWIG bindings
    
    We&apos;re using pybind11 now. How have these managed to stick around so &lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt;?

 python/pfs/drp/stella/stellaLib.i | 152 --------------------------------------
 1 file changed, 152 deletions(-)

commit 80bdd284fd72c1c9e1e6337415e0bf9660cdd54f
Author: Paul Price &amp;lt;price@astro.princeton.edu&amp;gt;
Date:   Thu Sep 13 14:53:40 2018 -0400

    DetectorMap: strip throughput
    
    A single value per fiber isn&apos;t sufficient to characterise the throughput
    as a function of wavelength &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; each fiber. We&apos;ll &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; in the flat-field
    instead of carrying it around here.

 include/pfs/drp/stella/DetectorMap.h             | 25 +---------
 python/pfs/drp/stella/constructFiberTraceTask.py | 62 ------------------------
 python/pfs/drp/stella/detectorMap.cc             | 27 +++--------
 python/pfs/drp/stella/detectorMapContinued.py    | 16 +-----
 python/pfs/drp/stella/extractSpectraTask.py      |  1 -
 src/DetectorMap.cc                               | 45 +----------------
 tests/test_DetectorMap.py                        | 32 ++++--------
 7 files changed, 20 insertions(+), 188 deletions(-)

commit 0b76eff8b900b509d7250d98e3c08414b1c383ee
Author: Paul Price &amp;lt;price@astro.princeton.edu&amp;gt;
Date:   Tue Oct 2 21:34:44 2018 +0000

    FiberTraceSet: add extractSpectra method
    
    That&lt;span class=&quot;code-quote&quot;&gt;&apos;s why you have a FiberTrace, right? So let&apos;&lt;/span&gt;s add a method to &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; that.

 python/pfs/drp/stella/fiberTracesContinued.py | 29 +++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

commit 7ccc5150684ca409f821866d3f1625ecb8362c5a
Author: Paul Price &amp;lt;price@astro.princeton.edu&amp;gt;
Date:   Tue Oct 2 21:37:28 2018 +0000

    refactor flat field normalisation
    
    Previously, each fiber was independently normalised, which means
    that flux calibrating one doesn&apos;t allow you to flux calibrate
    anything &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; (well, we have a throughput measurement in the
    DetectorMap, but that&apos;s not a function of wavelength). Instead,
    normalise all fibers to the mean spectrum of the fibers.
    This keeps the fibers tied together.

 python/pfs/drp/stella/constructFiberFlatTask.py | 115 +++++++++++++-----------
 1 file changed, 61 insertions(+), 54 deletions(-)

commit 2801f730a15e1ab95cc21f169c174ad259f129de
Author: Paul Price &amp;lt;price@astro.princeton.edu&amp;gt;
Date:   Tue Oct 2 21:36:06 2018 -0400

    make some files flake8-clean

 python/pfs/drp/stella/constructFiberTraceTask.py | 2 --
 python/pfs/drp/stella/detectorMapContinued.py    | 3 +--
 python/pfs/drp/stella/spectraContinued.py        | 4 ++--
 3 files changed, 3 insertions(+), 6 deletions(-)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="14122" author="hassan" created="Wed, 3 Oct 2018 13:39:29 +0000"  >&lt;p&gt;I&apos;m hoping to discuss this with &lt;a href=&quot;https://pfspipe.ipmu.jp/jira/secure/ViewProfile.jspa?name=cloomis&quot; class=&quot;user-hover&quot; rel=&quot;cloomis&quot;&gt;cloomis&lt;/a&gt; later on today. &lt;/p&gt;</comment>
                            <comment id="14123" author="cloomis" created="Wed, 3 Oct 2018 13:42:01 +0000"  >&lt;p&gt;What is the advantage of calibrating all by calibrating one? Besides that I guess that for flats (fiber throughput) I&apos;d think of them as 600 separate cameras. At least until we learn better.&lt;/p&gt;</comment>
                            <comment id="14207" author="price" created="Tue, 16 Oct 2018 02:31:35 +0000"  >&lt;p&gt;Thanks for the pushback, &lt;a href=&quot;https://pfspipe.ipmu.jp/jira/secure/ViewProfile.jspa?name=cloomis&quot; class=&quot;user-hover&quot; rel=&quot;cloomis&quot;&gt;cloomis&lt;/a&gt; &amp;#8212; it encouraged me to go and verify that what I&apos;m doing actually makes sense. I tried flattening the flats, and seeing how they turned out. There wasn&apos;t much improvement, which forced me to get in and fix it up. Now it&apos;s a lot better, and I think the plots demonstrate why this is important. Here&apos;s the extracted spectra from a flat after flattening with the 4.0 release:&lt;br/&gt;
&lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;img src=&quot;https://pfspipe.ipmu.jp/jira/secure/attachment/11501/11501_before-5694.png&quot; style=&quot;border: 0px solid black&quot; /&gt;&lt;/span&gt;&lt;br/&gt;
Notice that the spectra from the different fibers don&apos;t follow each other exactly. The standard deviation from summing the flux over rows 1000 to 3000 is 0.0084 mag (that&apos;s a raw sum; we could calculate this statistic as a function of wavelength, but we just want a value for comparison purposes).&lt;br/&gt;
Here&apos;s the same spectra after flattening with this submission:&lt;br/&gt;
&lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;img src=&quot;https://pfspipe.ipmu.jp/jira/secure/attachment/11500/11500_after-5694.png&quot; style=&quot;border: 0px solid black&quot; /&gt;&lt;/span&gt;&lt;br/&gt;
The spectra are now much more closely aligned, and the standard deviation over the same aperture is 0.0013 mag. We have, in effect, calibrated all the fibers against a single spectrum (viz., a continuum fit to the mean flat-field). Now the flux calibration problem is reduced to calibrating that spectrum against some source with a known spectrum in physical units.&lt;/p&gt;</comment>
                            <comment id="14210" author="price" created="Tue, 16 Oct 2018 20:07:23 +0000"  >&lt;p&gt;Merged to master after receiving approval on GitHub.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="13009">PIPE2D-298</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="11500" name="after-5694.png" size="31646" author="price" created="Tue, 16 Oct 2018 02:20:52 +0000"/>
                            <attachment id="11501" name="before-5694.png" size="32181" author="price" created="Tue, 16 Oct 2018 02:20:52 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_10500" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|s0011k:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10100" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                        <customfieldname>Reviewers</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>hassan</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        </customfields>
    </item>
</channel>
</rss>