Blog 0: The First Two Weeks

/*@jsxRuntime automatic @jsxImportSource react*/ const {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0]; const {useMDXComponents: _provideComponents} = arguments[0]; 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 & 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 & 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 & 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 };