/home/adeel/Thu, 09 Aug 2018 09:28:00 +0200Google Summer of Code 2018 final evaluation report/google-summer-of-code-2018-final-evaluation-report.html<h4>Link to GitHub repository: <a href="https://github.com/BoostGSoC18/geometry"><code>https://github.com/BoostGSoC18/geometry</code></a></h4>
<p>The work is present under the following branches:</p>
<ul>
<li><a href="https://github.com/BoostGSoC18/geometry/tree/feature/geodesic_direct">feature/geodesic_direct</a></li>
<li><a href="https://github.com/BoostGSoC18/geometry/tree/feature/karney_inverse">feature/karney_inverse</a></li>
<li><a href="https://github.com/BoostGSoC18/geometry/tree/example/distance_formula">example/distance_formula</a></li>
</ul>
<h3>Summary</h3>
<p>The goal of this project was to implement the direct and inverse geodesic algorithms in the <a href="https://github.com/boostorg/geometry">Boost Geometry</a> library. These methods were proposed by Charles Karney …</p>Adeel AhmadThu, 09 Aug 2018 09:28:00 +0200tag:None,2018-08-09:/google-summer-of-code-2018-final-evaluation-report.htmlUsing variadic templates with lambda expressions in C++ for constrained optimization/using-variadic-templates-with-lambda-expressions-in-c-for-constrained-optimization.html<p>Constrained optimization problems are encountered in numerous applications, such as <a href="https://www.princeton.edu/~fhs/paper199/paper199.pdf">protein folding</a>, <a href="http://cai2r.net/public/documents/FlorianKnoll_thesis.pdfZ">Magnetic Resonance Image reconstruction</a>, and <a href="https://ieeexplore.ieee.org/document/4100822">radiation therapy</a>. In this problem, we are given an objective function which is to be minimized or maximized with respect to constraints on some variables. The constraints can either be soft constraints or …</p>Adeel AhmadFri, 01 Jun 2018 15:44:00 +0200tag:None,2018-06-01:/using-variadic-templates-with-lambda-expressions-in-c-for-constrained-optimization.htmlC++Inaccuracy in Boost Geometry geodesic algorithms for nearly antipodal points/inaccuracy-in-boost-geometry-geodesic-algorithms-for-nearly-antipodal-points.html<p>Nearly antipodal points or antipodes refer to the most geographically distant points on a sphere, that is, the points are diametrically opposite to each other. If a line is drawn between these two points, it passes through the center of the sphere and forms its diameter.</p>
<p>Computing the great circle …</p>Adeel AhmadThu, 10 May 2018 21:55:00 +0200tag:None,2018-05-10:/inaccuracy-in-boost-geometry-geodesic-algorithms-for-nearly-antipodal-points.htmlAn overview of activation functions used in neural networks/an-overview-of-activation-functions-used-in-neural-networks.html<p>An activation function is used to introduce non-linearity to a network. This allows us to model a class label / score that varies non-linearly with independent variables. Non-linear means the output cannot be replicated from a linear combination of inputs, this allows the model to learn complex mappings from the available …</p>Adeel AhmadMon, 13 Nov 2017 10:54:00 +0100tag:None,2017-11-13:/an-overview-of-activation-functions-used-in-neural-networks.htmlParallel tile fetching and CPU-and-memory statistics/parallel-tile-fetching-and-cpu-and-memory-statistics.html<p>The <a href="http://hips.readthedocs.io">hips</a> package now supports parallel tile fetching. The user can achieve this either using <a href="https://docs.python.org/3/library/urllib.html">urllib</a> or <a href="https://aiohttp.readthedocs.io/en/stable">aiohttp</a>.</p>
<p>In case of <a href="http://aiohttp.readthedocs.io/en/stable/">aiohttp</a>, the fetched tile data is coupled with <a href="http://hips.readthedocs.io/en/latest/api/hips.HipsTileMeta.html"><code>HipsTileMeta</code></a> to create a <a href="http://hips.readthedocs.io/en/latest/api/hips.HipsTile.html"><code>HipsTile</code></a> object. This ensures there is no misalignment of tile data, otherwise, tiles could be swapped during …</p>Adeel AhmadSat, 09 Sep 2017 10:58:00 +0200tag:None,2017-09-09:/parallel-tile-fetching-and-cpu-and-memory-statistics.htmlGoogle Summer of Code 2017 final evaluation report/google-summer-of-code-2017-final-evaluation-report.html<h4>Link to GitHub repository: <a href="http://github.com/hipspy/hips"><code>http://github.com/hipspy/hips</code></a></h4>
<p>In addition to the main <a href="http://github.com/hipspy/hips">hips</a> repository, I also maintained my personal <a href="https://github.com/adl1995/HIPS-to-Py"><span class="caps">HIPS</span>-to-Py repository on GitHub</a>. This contains Jupyter notebooks which showcase the functionality in <a href="http://github.com/hipspy/hips">hips</a> and numerous related Python scripts. The <a href="https://github.com/adl1995/HIPS-to-Py/wiki/HiPS-to-Py">Wiki page</a> contains a short description on hips …</p>Adeel AhmadMon, 28 Aug 2017 22:35:00 +0200tag:None,2017-08-28:/google-summer-of-code-2017-final-evaluation-report.htmlFixing tile distortion issue in hips package/fixing-tile-distortion-issue-in-hips-package.html<p>As documented in the <a href="http://hips.readthedocs.io/en/latest/drawing_algo.html#tile-distortion-issue">Tile distortion issue</a> section, the previous technique for drawing HiPS tiles brings some astrometry offsets for distorted tiles.</p>
<p>An example of such distortions is shown in the example below (uncheck “Activate deformations reduction algorithm” to view the astrometry offsets): <a href="http://cds.unistra.fr/~boch/AL/test-reduce-deformations2.html">http://cds.unistra.fr/~boch/<span class="caps">AL</span>/test-reduce-deformations2 …</a></p>Adeel AhmadThu, 10 Aug 2017 11:28:00 +0200tag:None,2017-08-10:/fixing-tile-distortion-issue-in-hips-package.htmlRGB tile drawing in hips package/rgb-tile-drawing-in-hips-package.html<p>The <code>hips</code> package now supports <span class="caps">RGB</span> tile drawing. To make this possible, the output image dimensions had to be altered according to the following configuration:</p>
<p>The output image shape is two dimensional for grayscale, and three dimensional for color images:</p>
<ul>
<li><code>shape = (height, width)</code> for <span class="caps">FITS</span> images with one grayscale channel …</li></ul>Adeel AhmadSun, 23 Jul 2017 12:46:00 +0200tag:None,2017-07-23:/rgb-tile-drawing-in-hips-package.htmlParameterized testing using Pytest/parameterized-testing-using-pytest.html<p>Pytest provides a feature for parameterized testing in Python. The built-in <code>pytest.mark.parametrize</code> decorator enables parametrization of arguments for a test function. This allows the user to compare the values for input and output.</p>
<p>Here is a typical example which shows its usage:</p>
<div class="highlight"><pre><span></span><span class="n">get_hips_order_for_resolution_pars</span> <span class="o">=</span> <span class="p">[</span>
<span class="nb">dict</span><span class="p">(</span><span class="n">tile_width</span><span class="o">=</span><span class="mi">512</span><span class="p">,</span> <span class="n">resolution</span><span class="o">=</span><span class="mf">0 …</span></pre></div>Adeel AhmadThu, 13 Jul 2017 09:40:00 +0200tag:None,2017-07-13:/parameterized-testing-using-pytest.htmlCreating custom decorators in Python 3.6/creating-custom-decorators-in-python-36.html<p>In the <a href="http://hips.readthedocs.io">hips</a> package, often data has to be fetched from remote servers, especially HiPS tiles. One way to cut back on the queries was by introducing the <a href="github.com/hipspy/hips-extra">hips-extra</a> repository. This contains HiPS tiles from various HiPS surveys. This allows us to quickly fetch tiles from local storage, which makes …</p>Adeel AhmadSun, 02 Jul 2017 12:41:00 +0200tag:None,2017-07-02:/creating-custom-decorators-in-python-36.htmlHiPS tile drawing/hips-tile-drawing.html<p>One of the major part of the <a href="http://hips.readthedocs.io">hips</a> project is being able to draw HiPS tiles onto a larger sky image. The most important part in this is using projective transformation for computing and drawing a HiPS tile at the correct location. The discussion below is for the tile containing …</p>Adeel AhmadSat, 24 Jun 2017 11:50:00 +0200tag:None,2017-06-24:/hips-tile-drawing.htmlType annotations in Python 3.6 and using Mypy as a static type checker/type-annotations-in-python-36-and-using-mypy-as-a-static-type-checker.html<p>The main goal of type annotations is to open up Python code to easier static analysis and refactoring, potential runtime type checking, and (perhaps, in some contexts) code generation, by utilizing type information. These were introduced in <a href="https://www.python.org/dev/peps/pep-0484"><span class="caps">PEP</span> 484</a>.</p>
<p>In this regards, static type checking is the most important. It …</p>Adeel AhmadSun, 11 Jun 2017 12:58:00 +0200tag:None,2017-06-11:/type-annotations-in-python-36-and-using-mypy-as-a-static-type-checker.htmlAn overview of Hierarchical Progressive Surveys (HiPS) and the HEALPix framework/an-overview-of-hierarchical-progressive-surveys-hips-and-the-healpix-framework.html<p><a href="https://www.aanda.org/articles/aa/pdf/2015/06/aa26075-15.pdf">HiPS scheme</a> utilizes the HEALPix framework for mapping a sphere (in this case, part of a sky) and compiles / transforms it into <a href="#hips-tiles">tiles</a> and <a href="#hips-pixels">pixels</a> which contain the astronomical data. The HiPS scheme emphasizes on usability, and thus, it tries abstract the scientific details while preserving them. This can be …</p>Adeel AhmadWed, 31 May 2017 19:39:00 +0200tag:None,2017-05-31:/an-overview-of-hierarchical-progressive-surveys-hips-and-the-healpix-framework.htmlAn introduction to coordinate systems used in Astronomy/an-introduction-to-coordinate-systems-used-in-astronomy.html<p>From Wikipedia:</p>
<blockquote>
<p>In <a href="https://en.wikipedia.org/wiki/Geometry" title="Geometry">geometry</a>, a <strong>coordinate system</strong> is a system which uses one or more <a href="https://en.wikipedia.org/wiki/Number" title="Number">numbers</a>, or <strong>coordinates</strong>, to uniquely determine the position of the <a href="https://en.wikipedia.org/wiki/Point_(geometry)" title="Point (geometry)">points</a> or other geometric elements on a <a href="https://en.wikipedia.org/wiki/Manifold" title="Manifold">manifold</a> such as <a href="https://en.wikipedia.org/wiki/Euclidean_space" title="Euclidean space">Euclidean space</a>.</p>
</blockquote>
<p>The following text briefly explains the coordinate systems being used in astronomy. Before …</p>Adeel AhmadTue, 23 May 2017 12:37:00 +0200tag:None,2017-05-23:/an-introduction-to-coordinate-systems-used-in-astronomy.htmlA comparison of response times using URLLib, GRequests, and asyncio/a-comparison-of-response-times-using-urllib-grequests-and-asyncio.html<p>For the <a href="https://github.com/hipspy/hips">HiPS client</a> multiple tiles have to be fetched for time efficiency. To achieve this, we create a separate thread for each outgoing request. Thus, requests are sent concurrently. A comparison is done utilizing Python’s <code>threading</code> library. The elapsed time is calculated using the <code>time</code> module. For fetching …</p>Adeel AhmadTue, 09 May 2017 15:54:00 +0200tag:None,2017-05-09:/a-comparison-of-response-times-using-urllib-grequests-and-asyncio.htmlMy First Article/my-first-article.html<p>Hello World!</p>
<p>This blog will be extensively used for posting GSoC updates, apart from other technical ramblings.</p>Adeel AhmadSun, 19 Mar 2017 22:45:00 +0100tag:None,2017-03-19:/my-first-article.html