<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Universe OpenAstronomy (Posts by Deus1704)</title><link>http://openastronomy.org/Universe_OA/</link><description></description><atom:link href="http://openastronomy.org/Universe_OA/authors/deus1704.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Wed, 31 Dec 2025 02:08:36 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Blog 4: Testing the New Coalignment with a Catch</title><link>http://openastronomy.org/Universe_OA/posts/2024/07/20240722_1859_deus1704/</link><dc:creator>Deus1704</dc:creator><description>&lt;p&gt;Now that we’ve agreed on the structure of the co-alignment API and also laid down its foundation, all that’s left is to validate it through actual tests and generate some gallery examples.&lt;/p&gt;
&lt;h3 id="first-try-with-coaligning-eis-raster-with-aia-map"&gt;First try with coaligning EIS raster with AIA map&lt;/h3&gt;
&lt;p&gt;Let’s take a closer look at the EIS raster first. I found an AIA image close to the &lt;code&gt;date_average&lt;/code&gt; of the raster.&lt;/p&gt;
&lt;!-- TEASER_END --&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="EIS raster" src="https://deus1704.vercel.app/images/original_eis.jpeg"&gt;&lt;/th&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="AIA Full-disc image" src="https://deus1704.vercel.app/images/aia_near_raster_avg.jpeg"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;EIS raster&lt;/td&gt;
&lt;td style="text-align: center;"&gt;AIA Full-disc image&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="Updated EIS" src="https://deus1704.vercel.app/images/updated_eis.png"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;Updated EIS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;At first glance, the results seemed promising, but a more detailed analysis revealed some discrepancies.&lt;/p&gt;
&lt;p&gt;The updated WCS metadata looked fine at first, but on closer inspection, it wasn’t entirely correct. We’ll dive into the specifics later in this blog. For now, let’s discuss why it might look correct at a glance. How does a common user check if the maps are aligned? By overlaying them and checking the overlaps!&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="EIS overlaid on AIA" src="https://deus1704.vercel.app/images/eis_overlaid_aia.png"&gt;&lt;/th&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="Zoomed" src="https://deus1704.vercel.app/images/eis_overlaid_aia_zoomed.png"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;EIS overlaid on AIA&lt;/td&gt;
&lt;td style="text-align: center;"&gt;Zoomed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;This visual inspection might convince some that the method works, but it’s far from accurate. We proved this by highlighting the bright regions and focusing on the actual overlaps.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="EIS contours overlaid on AIA" src="https://deus1704.vercel.app/images/old_contours.png"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;EIS contours overlaid on AIA&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;This showed us that something was wrong with either the way we were updating the metadata or the co-alignment method. While discussing this, we realized that an assumption in the match_template method was that the maps should have the same type of WCS.&lt;/p&gt;
&lt;h3 id="the-celestial-fix"&gt;The Celestial Fix&lt;/h3&gt;
&lt;p&gt;In our initial approach, we focused on adjusting the CRPIX values instead of the CRVAL values. CRPIX specifies the position of the reference pixel in the image, shifting the image in pixel space without correcting the world coordinates directly. This method led to apparent alignment issues because it didn’t address the celestial coordinate system. After consultation, we realized that adjusting CRVAL, which defines the world coordinates of the reference pixel, is essential. This adjustment ensures that the reference points align correctly in world coordinate space, maintaining consistent mapping between pixel and celestial coordinates.&lt;/p&gt;
&lt;p&gt;Furthermore, for accurate co-alignment, the observers (instruments) should be within a tolerable angular separation to minimize parallax effects. When observers are too far apart, solar features can appear differently due to relative positions, complicating alignment. By correcting CRVAL values and considering angular separation, we achieved precise co-alignment, as evidenced by the corrected overlay of EIS contours on the AIA image, allowing for reliable scientific analysis.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="EIS contours overlaid on AIA (corrected)" src="https://deus1704.vercel.app/images/fixed_eis.jpeg"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;EIS contours overlaid on AIA (corrected)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description><category>SunPy</category><guid>http://openastronomy.org/Universe_OA/posts/2024/07/20240722_1859_deus1704/</guid><pubDate>Mon, 22 Jul 2024 17:59:31 GMT</pubDate></item><item><title>Blog 3: Side Quests Week</title><link>http://openastronomy.org/Universe_OA/posts/2024/07/20240703_1159_deus1704/</link><dc:creator>Deus1704</dc:creator><description>&lt;p&gt;While the mentors are waiting for community reviews on the new coalignment API, I’ve been diving into some fun side quests.&lt;/p&gt;
&lt;h3 id="side-quest-1-asda-examplehttpsgithubcomsunpysunkit-imagepull218"&gt;Side Quest 1: &lt;a href="https://github.com/sunpy/sunkit-image/pull/218"&gt;ASDA Example&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The long-needed &lt;a href="https://doi.org/10.3847/1538-4357/aabd34"&gt;Automated Swirl Detection Algorithm (ASDA)&lt;/a&gt; example gallery in the sunkit-image is now ready. The ASDA module is for identifying the swirls or vortices in the 2D flow field of the solar atmosphere. ASDA offers a robust tool for detecting and analyzing the vortices in the solar atmosphere.&lt;/p&gt;
&lt;!-- TEASER_END --&gt;
&lt;p&gt;Swirls in the solar atmosphere provide insights into dynamic solar processes such as solar flares and coronal mass ejections. Detecting and analyzing these swirls helps understand the mechanisms driving these solar activities.&lt;/p&gt;
&lt;p&gt;The Gamma(Γ1 &amp;amp; Γ2) values are used for identifying the vortex center and the vortex edges respectively.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gamma1 (Γ1): Identifies vortex centers by quantifying rotational motion.&lt;/li&gt;
&lt;li&gt;Gamma2 (Γ2): Detects vortex edges by measuring the coherence of swirling motion.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These can be visualised as;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="Gamma Visualization" src="https://deus1704.vercel.app/images/gammas.png"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;Gamma values (Γ1 &amp;amp; Γ2)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Using these, the final map with the swirls identified looks like:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="Swirl Map " src="https://deus1704.vercel.app/images/detected_swirls.png"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;Swirl Map with Velocity Field&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The swirl map is crucial for visualizing fluid flow dynamics in the solar atmosphere, helping to identify the distribution, size, and characteristics of vortices.&lt;/p&gt;
&lt;p&gt;Magnifying a particular section of these for better understanding of the streamlines:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="Magnified Swirl Map " src="https://deus1704.vercel.app/images/magnified_swirls.png"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;Magnified Swirl Map Region with Streamlines&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Magnifying a specific region and overlaying streamlines allows for detailed analysis of flow patterns around swirls, aiding in understanding solar atmospheric dynamics and the interactions between different vortices.&lt;/p&gt;
&lt;h3 id="side-quest-2-rotation-matrixhttpsgithubcomsunpysunpypull7452"&gt;Side Quest 2: &lt;a href="https://github.com/sunpy/sunpy/pull/7452"&gt;Rotation Matrix&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;One of my very first pull requests in SunPy received reviews after a long hiatus. The feedback highlighted some implementation issues with the way the SpicePy API was being used. For instance, the sxform function only accepts a single ephemeris time, which required a workaround to obtain the correct state transformation matrix.
With the invaluable help of Albert, these issues have been resolved and the test cases have been updated accordingly.&lt;/p&gt;</description><category>SunPy</category><guid>http://openastronomy.org/Universe_OA/posts/2024/07/20240703_1159_deus1704/</guid><pubDate>Wed, 03 Jul 2024 10:59:31 GMT</pubDate></item><item><title>Blog 2: All Pieces Falling into place</title><link>http://openastronomy.org/Universe_OA/posts/2024/06/20240620_1059_deus1704/</link><dc:creator>Deus1704</dc:creator><description>&lt;h3 id="update-on-new-coalignment"&gt;Update On New Coalignment&lt;/h3&gt;
&lt;p&gt;The very first version of the new Coalignment API has been completely implemented, with all the test cases written!
The architecture of the proposed co-alignment API closely mirrors the design principles found in SunPy’s rotation module, where a decorator pattern is employed to register specific methods designated for executing co-alignment tasks. Detailed documentation and guidelines on utilizing the new API are available for review at &lt;a href="https://sunpy--207.org.readthedocs.build/projects/sunkit-image/en/207/how_to_guide/adding_a_coalignment_method.html"&gt;this&lt;/a&gt; docs.&lt;/p&gt;
&lt;!-- TEASER_END --&gt;
&lt;h3 id="ideas-regarding-the-future-of-coalignment--major-concerns"&gt;Ideas regarding the Future of Coalignment &amp;amp; Major Concerns&lt;/h3&gt;
&lt;p&gt;We have received numerous comments concerning the new co-alignment API, with the majority emphasizing the revision of the coalignment methods rather than the API structure itself.
Consequently, I will be delving into the specific modifications occurring at the World Coordinate System (WCS) level throughout the coalignment process and the request of returning only the shifts and not applying the shift to the actual data.&lt;/p&gt;
&lt;p&gt;Although we are afraid that the suggestiong might be aiming to reinvent the reproject but again the fundamentally the approach for the two is different and needs to be thought of in brief before taking any major steps.
We might be discussing this issue in the next community meet once Stuart is back.&lt;/p&gt;
&lt;h3 id="update-on-stara"&gt;Update on STARA&lt;/h3&gt;
&lt;p&gt;The STARA module and the examples are completely ready, after along time of resolving conflicts, planning testing. We have come a long way with these test figures.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="HMI Map" src="https://deus1704.vercel.app/images/test_hmi.png"&gt;&lt;/th&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="HMI Map with Sunspot Identified" src="https://deus1704.vercel.app/images/stara_hmi.png"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;Test HMI Continuum Map&lt;/td&gt;
&lt;td style="text-align: center;"&gt;Sunspot identified by STARA on the Test Map&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description><category>SunPy</category><guid>http://openastronomy.org/Universe_OA/posts/2024/06/20240620_1059_deus1704/</guid><pubDate>Thu, 20 Jun 2024 09:59:31 GMT</pubDate></item><item><title>Blog 1: Rethinking Coalignment from Ground-up</title><link>http://openastronomy.org/Universe_OA/posts/2024/06/20240615_1459_deus1704/</link><dc:creator>Deus1704</dc:creator><description>&lt;h3 id="the-very-essence-of-coalignment"&gt;The Very Essence of Coalignment&lt;/h3&gt;
&lt;p&gt;At its core, coalignment is all about making sure our solar images match up as best they can. It uses a few different techniques, like template matching and solar rotation correction, to get this done. This is really important when we’re trying to accurately track and study what’s happening on a part of sun over time.
We re-thought the entire process of what our new API be providing to the users as well as its structure.&lt;/p&gt;
&lt;!-- TEASER_END --&gt;
&lt;p&gt;&lt;img alt="Naive Refactor" src="https://deus1704.vercel.app/images/proposed_struct.png"&gt;&lt;/p&gt;
&lt;p&gt;This was one of the idea that was very naive version, but focused entierly for the user’s comfort in applying the coalignment methods.&lt;/p&gt;
&lt;h3 id="the-basic-structure-we-finally-agreed-upon"&gt;The Basic Structure we finally agreed Upon&lt;/h3&gt;
&lt;p&gt;&lt;img alt="Internal Sturcture" src="https://deus1704.vercel.app/images/internal.png"&gt;&lt;/p&gt;
&lt;p&gt;We agreed to have this as the very basic structure which we would be working/developing upwards. The following example demonstrates the way it would work.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0"&gt;&lt;code class="language-python"&gt;&lt;span style="display: flex;"&gt;&lt;span&gt;aia_map1 &lt;span style="color: #f92672;"&gt;=&lt;/span&gt; sunpy&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;map&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;Map(sunpy&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;data&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;sample&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;AIA_193_CUTOUT01_IMAGE)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display: flex;"&gt;&lt;span&gt;aia_map2 &lt;span style="color: #f92672;"&gt;=&lt;/span&gt; sunpy&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;map&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;Map(sunpy&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;data&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;sample&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;AIA_193_CUTOUT03_IMAGE)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display: flex;"&gt;&lt;span&gt;&lt;span style="color: #75715e;"&gt;### Creating a template from aia_map1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display: flex;"&gt;&lt;span&gt;bottom_left &lt;span style="color: #f92672;"&gt;=&lt;/span&gt; SkyCoord(&lt;span style="color: #ae81ff;"&gt;600&lt;/span&gt; &lt;span style="color: #f92672;"&gt;*&lt;/span&gt; u&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;arcsec, &lt;span style="color: #f92672;"&gt;-&lt;/span&gt;&lt;span style="color: #ae81ff;"&gt;500&lt;/span&gt; &lt;span style="color: #f92672;"&gt;*&lt;/span&gt; u&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;arcsec, frame&lt;span style="color: #f92672;"&gt;=&lt;/span&gt;aia_map1&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;coordinate_frame)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display: flex;"&gt;&lt;span&gt;top_right &lt;span style="color: #f92672;"&gt;=&lt;/span&gt; SkyCoord(&lt;span style="color: #ae81ff;"&gt;800&lt;/span&gt; &lt;span style="color: #f92672;"&gt;*&lt;/span&gt; u&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;arcsec, &lt;span style="color: #f92672;"&gt;-&lt;/span&gt;&lt;span style="color: #ae81ff;"&gt;200&lt;/span&gt; &lt;span style="color: #f92672;"&gt;*&lt;/span&gt; u&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;arcsec, frame&lt;span style="color: #f92672;"&gt;=&lt;/span&gt;aia_map1&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;coordinate_frame)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display: flex;"&gt;&lt;span&gt;submap &lt;span style="color: #f92672;"&gt;=&lt;/span&gt; aia_map1&lt;span style="color: #f92672;"&gt;.&lt;/span&gt;submap(bottom_left, top_right&lt;span style="color: #f92672;"&gt;=&lt;/span&gt;top_right)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display: flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display: flex;"&gt;&lt;span&gt;coaligned_map &lt;span style="color: #f92672;"&gt;=&lt;/span&gt; coalignment_interface(&lt;span style="color: #e6db74;"&gt;"match_template"&lt;/span&gt;,aia_map2, submap)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="combined image" src="https://deus1704.vercel.app/images/combined.png"&gt;&lt;/p&gt;
&lt;p&gt;I am currently implementing the decorator structure for the sunkit-image, but that would be covered in another blog.&lt;/p&gt;</description><category>SunPy</category><guid>http://openastronomy.org/Universe_OA/posts/2024/06/20240615_1459_deus1704/</guid><pubDate>Sat, 15 Jun 2024 13:59:31 GMT</pubDate></item><item><title>Blog 0: The First Two Weeks</title><link>http://openastronomy.org/Universe_OA/posts/2024/05/20240525_1459_deus1704/</link><dc:creator>Deus1704</dc:creator><description>&lt;h5 id="a-summary-of-activities-completed-in-the-two-weeks-leading-up-to-the-start-of-the-coding-period"&gt;A summary of activities completed in the two weeks leading up to the start of the coding period.&lt;/h5&gt;
&lt;h3 id="table-of-contents"&gt;Table of Contents&lt;/h3&gt;
&lt;ul&gt;
&lt;!-- TEASER_END --&gt;
&lt;li&gt;&lt;a href="https://deus1704.vercel.app/posts/blog_0/#draft_pr"&gt;Wrapping up the draft pull request&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deus1704.vercel.app/posts/blog_0/#issue1"&gt;Incorporating suggestions for STARA &amp;amp; its examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deus1704.vercel.app/posts/blog_0/#fix_doc_fails"&gt;Fixing the doc failures&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deus1704.vercel.app/posts/blog_0/#first_meet"&gt;First Meet with Mentors&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After completing my end-semester exams, I was overwhelmed by the outstanding tasks that I had let accumulate over time.
In order to address those, I tried resolving dependencies and package issues of the previous environments of
sunpy &amp;amp; sunkit-image but, ultimately gave up and initialised a new environment. After discussions with mentors, the project priorities were clarified, allowing me to efficiently plan &amp;amp; complete my tasks during the community bonding period. What follows is the detailed account of all the tasks completed during these two weeks.&lt;/p&gt;
&lt;h3 id="incorporating-suggestions-for-sunspot-tracking-and-recognition-algorithm-stara"&gt;Incorporating suggestions for Sunspot Tracking and Recognition Algorithm (STARA)&lt;/h3&gt;
&lt;p&gt;Incorporated suggestions and made several changes to the STARA example. Attempted to create a mock HMI continuum data with an artificial “sunspot” at a chosen location with a certain radius. But it did not meet the exact requirements of the STARA, hence no regions could be identified. The written mock hmi map are demonstrated below,&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="Mock HMI Map without Sunspot" src="https://deus1704.vercel.app/images/mock_wo.png"&gt;&lt;/th&gt;
&lt;th style="text-align: center;"&gt;&lt;img alt="Mock HMI Map with Sunspot" src="https://deus1704.vercel.app/images/mock_withspot.png"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;Mock HMI Map without Sunspot&lt;/td&gt;
&lt;td style="text-align: center;"&gt;Mock HMI Map with Sunspot&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Discussed alternative approaches with mentor Nabil regarding the mock HMI map. According to his suggestion I tried the HMI continuum test data present in &lt;code&gt;sunpy/data/test&lt;/code&gt; directory, but it had some issues with the WCS hence STARA couldn’t properly find the sunspot regions.&lt;/p&gt;
&lt;h3 id="wrapping-up-the-draft-pull-request"&gt;Wrapping up the draft pull request&lt;/h3&gt;
&lt;p&gt;I began working on the transformation of a vector field some time ago but encountered challenges in validating the approach. Using Astropy for the transformation confirmed the accuracy of the function I wrote. The next step is to seek feedback from mentors and the SunPy community. But I still feel a need to test this more rigorously which can validate that this would work with different frames too. I studied about different frames provided by the SPICE toolkit and tried to match the sunpy frames and the SPICE frames and have confirmed that the function works with the static frames.&lt;/p&gt;
&lt;h3 id="fixing-the-doc-failures"&gt;Fixing the doc failures&lt;/h3&gt;
&lt;p&gt;Two out of my three open pull requests encountered documentation failures due to incorrect referencing of functions or modules, or example galleries. After studying the conventions of Sphinx and SunPy, I resolved these issues. Additionally, I discovered how to set up GitHub CI actions on my forks.&lt;/p&gt;
&lt;h3 id="first-meet-with-mentors"&gt;First Meet with Mentors&lt;/h3&gt;
&lt;p&gt;In our initial meeting, my mentor Will provided a brief overview of the purpose of sunkit-image, emphasizing its primary function: coalignment. He explained the fundamental concepts of coalignment, user expectations, and desired functionalities of the new API. We also reviewed the current coalignment API’s shortcomings. We agreed that an improved API was necessary and discussed my proposed structure for this enhancement. We also drafted a plan for the entire rethinking and redesigning the new API over the span of 4 weeks.&lt;/p&gt;</description><category>SunPy</category><guid>http://openastronomy.org/Universe_OA/posts/2024/05/20240525_1459_deus1704/</guid><pubDate>Sat, 25 May 2024 13:59:31 GMT</pubDate></item><item><title>Blog 0: The First Two Weeks</title><link>http://openastronomy.org/Universe_OA/posts/2024/05/20240525_0000_deus1704/</link><dc:creator>Deus1704</dc:creator><description>/*@jsxRuntime automatic @jsxImportSource react*/
const {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];
const {useMDXComponents: _provideComponents} = arguments[0];
&lt;!-- TEASER_END --&gt;
function _createMdxContent(props) {
const _components = Object.assign({
hr: "hr",
h2: "h2",
a: "a",
span: "span",
ul: "ul",
li: "li",
code: "code"
}, _provideComponents(), props.components);
return _jsxs(_Fragment, {
children: [_jsx(_components.hr, {}), "\n", _jsxs(_components.h2, {
id: "title-blog-0-the-first-two-weeksdate-2024-05-25featured-description-a-summary-of-activities-completed-in-the-two-weeks-leading-up-to-the-start-of-the-coding-period",
children: ["title: 'Blog 0: The First Two Weeks'\ndate: '2024-05-25'\nfeatured: ''\ndescription: 'A summary of activities completed in the two weeks leading up to the start of the coding period.'", _jsx(_components.a, {
"aria-hidden": "true",
tabIndex: "-1",
href: "#title-blog-0-the-first-two-weeksdate-2024-05-25featured-description-a-summary-of-activities-completed-in-the-two-weeks-leading-up-to-the-start-of-the-coding-period",
children: _jsx(_components.span, {
className: "icon icon-link"
})
})]
}), "\n", _jsxs(_components.h2, {
id: "table-of-contents",
children: ["Table of Contents", _jsx(_components.a, {
"aria-hidden": "true",
tabIndex: "-1",
href: "#table-of-contents",
children: _jsx(_components.span, {
className: "icon icon-link"
})
})]
}), "\n", _jsxs(_components.ul, {
children: ["\n", _jsxs(_components.li, {
children: ["\n", _jsx("a", {
href: "#draft_pr",
style: {
textDecoration: 'none'
},
children: "Wrapping up the draft pull request"
}), "\n"]
}), "\n", _jsxs(_components.li, {
children: ["\n", _jsx("a", {
href: "#issue1",
style: {
textDecoration: 'none'
},
children: "Incorporating suggestions for STARA &amp;amp; its examples"
}), "\n"]
}), "\n", _jsxs(_components.li, {
children: ["\n", _jsx("a", {
href: "#fix_doc_fails",
style: {
textDecoration: 'none'
},
children: "Fixing the doc failures"
}), "\n"]
}), "\n", _jsxs(_components.li, {
children: ["\n", _jsx("a", {
href: "#first_meet",
style: {
textDecoration: 'none'
},
children: "First Meet with Mentors"
}), "\n"]
}), "\n"]
}), "\n", _jsx("p", {
children: "After completing my end-semester exams, I was overwhelmed by the outstanding tasks that I had let accumulate over time.\nIn order to address those, I tried resolving dependencies and package issues of the previous environments of\nsunpy &amp;amp; sunkit-image but, ultimately gave up and initialised a new environment. After discussions with mentors, the project priorities were clarified, allowing me to efficiently plan &amp;amp; complete my tasks during the community bonding period. What follows is the detailed account of all the tasks completed during these two weeks."
}), "\n", _jsx("h2", {
id: "issue1",
children: "Incorporating suggestions for Sunspot Tracking and Recognition Algorithm (STARA)"
}), "\n", _jsx("p", {
children: "Incorporated suggestions and made several changes to the STARA example. Attempted to create a mock HMI continuum data with an artificial \"sunspot\" at a chosen location with a certain radius. But it did not meet the exact requirements of the STARA, hence no regions could be identified. The written mock hmi map are demonstrated below,"
}), "\n", _jsxs("figure", {
style: {
display: 'flex',
flexDirection: 'row',
alignItems: 'center'
},
children: [_jsx("img", {
src: "/images/mock_wo.png",
width: "400",
height: "400",
style: {
margin: '0 auto'
}
}), _jsx("img", {
src: "/images/mock_withspot.png",
width: "400",
height: "400",
style: {
margin: '0 auto'
}
})]
}), "\n", _jsxs("p", {
children: ["Discussed alternative approaches with mentor Nabil regarding the mock HMI map. According to his suggestion I tried the HMI continuum test data present in ", _jsx(_components.code, {
children: "sunpy/data/test"
}), " directory, but it had some issues with the WCS hence STARA couldn't properly find the sunspot regions."]
}), "\n", _jsx("h2", {
id: "draft_pr",
children: "Wrapping up the draft pull request"
}), "\n", "\n", "\n", _jsx("p", {
children: "I began working on the transformation of a vector field some time ago but encountered challenges in validating the approach. Using Astropy for the transformation confirmed the accuracy of the function I wrote. The next step is to seek feedback from mentors and the SunPy community. But I still feel a need to test this more rigorously which can validate that this would work with different frames too. I studied about different frames provided by the SPICE toolkit and tried to match the sunpy frames and the SPICE frames and have confirmed that the fucntion works with the static frames."
}), "\n", _jsx("h2", {
id: "fix_doc_fails",
children: "Fixing the doc failures"
}), "\n", "\n", "\n", _jsx("p", {
children: "Two out of my three open pull requests encountered documentation failures due to incorrect referencing of functions or modules, or example galleries. After studying the conventions of Sphinx and SunPy, I resolved these issues. Additionally, I discovered how to set up GitHub CI actions on my forks. "
}), "\n", _jsx("h2", {
id: "first_meet",
children: "First Meet with Mentors"
}), "\n", "\n", "\n", _jsx("p", {
children: "In our initial meeting, my mentor Will provided a brief overview of the purpose of sunkit-image, emphasizing its primary function: coalignment. He explained the fundamental concepts of coalignment, user expectations, and desired functionalities of the new API. We also reviewed the current coalignment API's shortcomings. We agreed that an improved API was necessary and discussed my proposed structure for this enhancement. We also drafted a plan for the entire rethinking and redesigning the new api over the span of 4 weeks"
})]
});
}
function MDXContent(props = {}) {
const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);
return MDXLayout ? _jsx(MDXLayout, Object.assign({}, props, {
children: _jsx(_createMdxContent, props)
})) : _createMdxContent(props);
}
return {
default: MDXContent
};</description><category>SunPy</category><guid>http://openastronomy.org/Universe_OA/posts/2024/05/20240525_0000_deus1704/</guid><pubDate>Fri, 24 May 2024 23:00:00 GMT</pubDate></item><item><title>The trial post</title><link>http://openastronomy.org/Universe_OA/posts/2024/05/20240514_0000_deus1704/</link><dc:creator>Deus1704</dc:creator><description>To code or debug that is the question
&lt;!-- TEASER_END --&gt;</description><category>SunPy</category><guid>http://openastronomy.org/Universe_OA/posts/2024/05/20240514_0000_deus1704/</guid><pubDate>Mon, 13 May 2024 23:00:00 GMT</pubDate></item></channel></rss>