<!-- 
RSS generated by JIRA (8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b) at Sat Feb 10 16:43:01 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>[INSTRM-2102] Reduce the overhead of geometry loading</title>
                <link>https://pfspipe.ipmu.jp/jira/browse/INSTRM-2102</link>
                <project id="10300" key="INSTRM">Instrument control development</project>
                    <description>&lt;p&gt;After using the multi-processing, the centroid time is much faster than before.  Now. the first iteration still require ~4 seconds to load the geometry.  We need to think about how to reduce the overhead&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;
    def getGeometry(self, cmd):

        db = self.connectToDB(cmd)

        cmd.inform(f&lt;span class=&quot;code-quote&quot;&gt;&apos;text=&lt;span class=&quot;code-quote&quot;&gt;&quot;getting geometry&quot;&lt;/span&gt;&apos;&lt;/span&gt;)

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;(self.geometrySet == True):
            cmd.inform(&lt;span class=&quot;code-quote&quot;&gt;&apos;text=&lt;span class=&quot;code-quote&quot;&gt;&quot;geometry is already set&quot;&lt;/span&gt;&apos;&lt;/span&gt;)
            &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt;

        # boresight centre in pixels
        self.rotCent = dbTools.loadBoresightFromDB(db, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;(self.visitId))
        cmd.inform(f&lt;span class=&quot;code-quote&quot;&gt;&apos;text=&lt;span class=&quot;code-quote&quot;&gt;&quot;boresight={self.rotCent[0]},{self.rotCent[1]}&quot;&lt;/span&gt;&apos;&lt;/span&gt;)

        # read xmlFile
        instPath = os.path.join(os.environ[&lt;span class=&quot;code-quote&quot;&gt;&apos;PFS_INSTDATA_DIR&apos;&lt;/span&gt;])
        #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;(self.geomFile == None):
        #    self.geomFile = os.path.join(instPath, &lt;span class=&quot;code-quote&quot;&gt;&apos;data/pfi/modules/ALL/ALL_final_20210920_mm.xml&apos;&lt;/span&gt;)
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;(self.dotFile == None):
            self.dotFile = os.path.join(
                instPath, &lt;span class=&quot;code-quote&quot;&gt;&quot;data/pfi/dot/black_dots_mm.csv&quot;&lt;/span&gt;)

        pfi = self.butler.get(&lt;span class=&quot;code-quote&quot;&gt;&quot;moduleXml&quot;&lt;/span&gt;, moduleName=&lt;span class=&quot;code-quote&quot;&gt;&quot;ALL&quot;&lt;/span&gt;, version=&quot;&quot;)
        dots = self.butler.get(&lt;span class=&quot;code-quote&quot;&gt;&quot;black_dots&quot;&lt;/span&gt;, moduleName=&lt;span class=&quot;code-quote&quot;&gt;&quot;ALL&quot;&lt;/span&gt;, version=&quot;&quot;)

        cmd.inform(f&lt;span class=&quot;code-quote&quot;&gt;&apos;text=&lt;span class=&quot;code-quote&quot;&gt;&quot;loading XML from butler&quot;&lt;/span&gt;&apos;&lt;/span&gt;)
        cmd.inform(f&lt;span class=&quot;code-quote&quot;&gt;&apos;text=&lt;span class=&quot;code-quote&quot;&gt;&quot;loading DOT location from butler&quot;&lt;/span&gt;&apos;&lt;/span&gt;)
        self.centrePos, self.armLength, self.dotPos, self.goodIdx, self.calibModel = mcsTools.readCobraGeometry(
            pfi, dots)
        
        fids = self.butler.get(&lt;span class=&quot;code-quote&quot;&gt;&apos;fiducials&apos;&lt;/span&gt;)
        self.outerRingIds, self.badFidIds = mcsTools.readFiducialMasks(fids)
        cmd.inform(&lt;span class=&quot;code-quote&quot;&gt;&apos;text=&lt;span class=&quot;code-quote&quot;&gt;&quot;cobra geometry read&quot;&lt;/span&gt;&apos;&lt;/span&gt;)
        self.geometrySet = True
 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="24120">INSTRM-2102</key>
            <summary>Reduce the overhead of geometry loading</summary>
                <type id="3" iconUrl="https://pfspipe.ipmu.jp/jira/secure/viewavatar?size=xsmall&amp;avatarId=10518&amp;avatarType=issuetype">Task</type>
                                            <priority id="10000" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/priorities/medium.svg">Normal</priority>
                        <status id="10100" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/statuses/generic.png" description="No further work should be done on this.">Won&apos;t Fix</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="2">Won&apos;t Fix</resolution>
                                        <assignee username="karr">karr</assignee>
                                    <reporter username="chyan">chyan</reporter>
                        <labels>
                            <label>EngRun</label>
                    </labels>
                <created>Wed, 8 Nov 2023 09:21:27 +0000</created>
                <updated>Wed, 24 Jan 2024 06:19:10 +0000</updated>
                            <resolved>Fri, 8 Dec 2023 12:10:41 +0000</resolved>
                                                                    <component>ics_mcsActor</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                <comments>
                            <comment id="35723" author="price" created="Wed, 8 Nov 2023 15:51:48 +0000"  >&lt;p&gt;Can I suggest storing your data files in a binary format (that can be loaded directly into memory) rather than text (that has to be parsed)?&lt;/p&gt;</comment>
                            <comment id="36365" author="karr" created="Fri, 8 Dec 2023 05:24:29 +0000"  >&lt;p&gt;I looked at the code, and the geometry should only be loading once.&lt;/p&gt;

&lt;p&gt;The suggestion was made of reading the geometry from the database, rather than XML. The key in either case is being sure that the format we&apos;re reading from is automatically synched to new XML files; it&apos;s not clear the database will always be matched to the current XML in pfs_instdata.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="16628" name="Figure 1-16.png" size="102948" author="chyan" created="Wed, 8 Nov 2023 09:19:49 +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|02qpg4:i</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10005" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="162">2DDRP-2023 A</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>