diff --git a/README.md b/README.md index 53b0439ec42f7beef311774dcf2f38d3b17db0f3..c6dc89fa47c1cfb9856cc17f309c64749b93d369 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ The following operations are available: * MERGE: Merge two or more patches into one * CONCATENATE: Concatenate two sky models * ADD: Add a source +* SETPATCHPOSITIONS: Calculate and set patch positions * PLOT: Plot the sky model For details, please see the full documentation (doc/lsmtool.tex). diff --git a/doc/build/doctrees/code.doctree b/doc/build/doctrees/code.doctree index 4473eeb73cbc2c4005cff1b63ae6f5aa184f3c8b..733fdd15cf85ca374750e314b9b69fe4bcc0b93c 100644 Binary files a/doc/build/doctrees/code.doctree and b/doc/build/doctrees/code.doctree differ diff --git a/doc/build/doctrees/environment.pickle b/doc/build/doctrees/environment.pickle index b0cd2ca5915e884eae852d9ac49b835995e10651..4a79bd472d52bc7dc6e1a8ae46dc68135c309091 100644 Binary files a/doc/build/doctrees/environment.pickle and b/doc/build/doctrees/environment.pickle differ diff --git a/doc/build/doctrees/index.doctree b/doc/build/doctrees/index.doctree index 9fb62513db848cacc5a7140f0cd781590c384958..60515b93738f06130f2d82b359e64fb099a2f039 100644 Binary files a/doc/build/doctrees/index.doctree and b/doc/build/doctrees/index.doctree differ diff --git a/doc/build/html/_sources/code.txt b/doc/build/html/_sources/code.txt index d184c03adb17c0c890f8333941539f66e6e55b10..be389bb9029c5ae2813ef0b7d9b2da919ef6b008 100644 --- a/doc/build/html/_sources/code.txt +++ b/doc/build/html/_sources/code.txt @@ -1,6 +1,3 @@ -LSMTool: the LOFAR Local Sky Model Tool -*************************************** - .. automodule:: lsmtool :members: .. autoclass:: SkyModel diff --git a/doc/build/html/_sources/index.txt b/doc/build/html/_sources/index.txt index c6b45d5b81712dc74703c35c5d8ea486dfe15834..1caa8c0a70ec68e23cd58f05c93e0a90913c99f3 100644 --- a/doc/build/html/_sources/index.txt +++ b/doc/build/html/_sources/index.txt @@ -1,27 +1,20 @@ -.. LSMTool documentation master file, created by - sphinx-quickstart on Thu Jun 19 17:05:13 2014. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - Welcome to LSMTool's documentation! =================================== -LSMTool is a Python package which allow the manipulation of sky models in the ``makesourcedb`` format understood by BBS. Note that LSMTool is still in beta. Please report bugs to ``drafferty@hs.uni-hamburg.de``. To initialize your environment for LSMTool, users on CEP1 and CEP2 should run the following commands:: - - use LofIm - source ~rafferty/init_lsmtool +LSMTool is a Python package which allows for the manipulation of LOFAR sky models in the ``makesourcedb`` format. -Note that the Pythonlibs LOFAR package includes an older version of astropy that conflicts with LSMTool and cannot be used in conjunction with it. +Contents +======== .. toctree:: :maxdepth: 2 - + overview.rst + lsmtool.rst Indices and tables ================== * :ref:`genindex` -* :ref:`modindex` * :ref:`search` diff --git a/doc/build/html/_static/basic.css b/doc/build/html/_static/basic.css index c959cf0db10b0d30c9b059a9cd52fcba205119e9..967e36ce05f3933b61037c1ddbf5bffcf23d2176 100644 --- a/doc/build/html/_static/basic.css +++ b/doc/build/html/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/doc/build/html/_static/default.css b/doc/build/html/_static/default.css index e534a07802b94d88019ee1b61e28541e6fc05856..5f1399abd5d85bc2519ad8f3a0c266cfa51fd2a4 100644 --- a/doc/build/html/_static/default.css +++ b/doc/build/html/_static/default.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- default theme. * - * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/doc/build/html/_static/doctools.js b/doc/build/html/_static/doctools.js index 2036e5f5f812a93169ac1869f891e87da9658990..c5455c905dcf5323dc6bd0ac8b93c3851daeeecd 100644 --- a/doc/build/html/_static/doctools.js +++ b/doc/build/html/_static/doctools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for all documentation. * - * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/doc/build/html/_static/searchtools.js b/doc/build/html/_static/searchtools.js index f5c7e5fee71426595a839f84759f47681fd1a74d..6e1f06bd1b9b1e3969cbd453a4ed16eb31f7977d 100644 --- a/doc/build/html/_static/searchtools.js +++ b/doc/build/html/_static/searchtools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilties for the full-text search. * - * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/doc/build/html/_static/sidebar.js b/doc/build/html/_static/sidebar.js index 874a890a3cd928992933188798a6ae30a1543668..4f09a0df1f433af4e045a62871ebb12169557710 100644 --- a/doc/build/html/_static/sidebar.js +++ b/doc/build/html/_static/sidebar.js @@ -16,7 +16,7 @@ * Once the browser is closed the cookie is deleted and the position * reset to the default (expanded). * - * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/doc/build/html/_static/websupport.js b/doc/build/html/_static/websupport.js index 19fcda5647b4c91f66bd99c653c15475ec86fcc2..71c0a1364aa3074b12315515f53be3694fd632c4 100644 --- a/doc/build/html/_static/websupport.js +++ b/doc/build/html/_static/websupport.js @@ -4,7 +4,7 @@ * * sphinx.websupport utilties for all documentation. * - * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/doc/build/html/code.html b/doc/build/html/code.html index 0d2c0b25bf993f557e6f0e0d97b456aae3a30abe..d7f057a9776ed9ce4ca4276fe22bceafbaa84742 100644 --- a/doc/build/html/code.html +++ b/doc/build/html/code.html @@ -6,7 +6,7 @@ <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>LSMTool: the LOFAR Local Sky Model Tool — LSMTool 1.0.0 documentation</title> + <title><no title> — LSMTool 1.0.0 documentation</title> <link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> @@ -45,9 +45,8 @@ <div class="bodywrapper"> <div class="body"> - <div class="section" id="module-lsmtool"> -<span id="lsmtool-the-lofar-local-sky-model-tool"></span><h1>LSMTool: the LOFAR Local Sky Model Tool<a class="headerlink" href="#module-lsmtool" title="Permalink to this headline">¶</a></h1> -<p>LSMTool: the LOFAR Local Sky Model Tool</p> + <span class="target" id="module-lsmtool"></span><p>The load() convenience function is used to load a sky model file into a +SkyModel object.</p> <dl class="function"> <dt id="lsmtool.load"> <tt class="descclassname">lsmtool.</tt><tt class="descname">load</tt><big>(</big><em>fileName</em>, <em>beamMS=None</em><big>)</big><a class="headerlink" href="#lsmtool.load" title="Permalink to this definition">¶</a></dt> @@ -157,7 +156,7 @@ sky model with a high-resolution one):</p> <dl class="method"> <dt id="lsmtool.SkyModel.getColValues"> -<tt class="descname">getColValues</tt><big>(</big><em>colName</em>, <em>units=None</em>, <em>aggregate=None</em>, <em>weight=False</em>, <em>applyBeam=False</em><big>)</big><a class="headerlink" href="#lsmtool.SkyModel.getColValues" title="Permalink to this definition">¶</a></dt> +<tt class="descname">getColValues</tt><big>(</big><em>colName</em>, <em>units=None</em>, <em>aggregate=None</em>, <em>applyBeam=False</em><big>)</big><a class="headerlink" href="#lsmtool.SkyModel.getColValues" title="Permalink to this definition">¶</a></dt> <dd><p>Returns a numpy array of column values.</p> <dl class="docutils"> <dt>colName <span class="classifier-delimiter">:</span> <span class="classifier">str</span></dt> @@ -492,46 +491,27 @@ dictionary in the form:</p> </dl> <p>The property to filter on must be a valid column name or the filename of a mask image.</p> -<dl class="docutils"> -<dt>Supported operators are:</dt> -<dd><ul class="first last simple"> -<li>!=</li> -<li><=</li> -<li>>=</li> -<li>></li> -<li><</li> -<li>= (or ‘==’)</li> -</ul> -</dd> -</dl> +<p>Supported operators are: +- != +- <= +- >= +- > +- < +- = (or ‘==’)</p> <p class="last">Units are optional and must be specified as required by astropy.units.</p> </dd> <dt>aggregate <span class="classifier-delimiter">:</span> <span class="classifier">str, optional</span></dt> -<dd><p class="first">If set, the array returned will be of values aggregated +<dd>If set, the array returned will be of values aggregated over the patch members. The following aggregation functions are -available:</p> -<blockquote class="last"> -<div><ul> -<li><p class="first">‘sum’: sum of patch values</p> -</li> -<li><p class="first">‘mean’: mean of patch values</p> -</li> -<li><p class="first">‘wmean’: Stokes I weighted mean of patch values</p> -</li> -<li><p class="first">‘min’: minimum of patch values</p> -</li> -<li><p class="first">‘max’: maximum of patch values</p> -</li> -<li><dl class="first docutils"> -<dt>True: only valid when the filter indices are specified directly as</dt> -<dd><p class="first last">a numpy array. If True, filtering is done on patches instead of -sources.</p> -</dd> -</dl> -</li> -</ul> -</div></blockquote> -</dd> +available: +- ‘sum’: sum of patch values +- ‘mean’: mean of patch values +- ‘wmean’: Stokes I weighted mean of patch values +- ‘min’: minimum of patch values +- ‘max’: maximum of patch values +- True: only valid when the filter indices are specified directly as +a numpy array. If True, filtering is done on patches instead of +sources.</dd> <dt>applyBeam <span class="classifier-delimiter">:</span> <span class="classifier">bool, optional</span></dt> <dd>If True, apparent fluxes will be used.</dd> <dt>useRegEx <span class="classifier-delimiter">:</span> <span class="classifier">bool, optional</span></dt> @@ -569,20 +549,12 @@ given filter expression is true.</p> <dl class="docutils"> <dt>filterExpression <span class="classifier-delimiter">:</span> <span class="classifier">str or dict</span></dt> <dd><dl class="first docutils"> -<dt>A string specifying the filter expression in the form:</dt> -<dd>‘<property> <operator> <value> [<units>]’</dd> -</dl> -<p>(e.g., ‘I <= 10.5 Jy’). These elements can also be given as a -dictionary in the form:</p> -<blockquote> -<div><dl class="docutils"> -<dt>{‘filterProp’:property, ‘filterOper’:operator,</dt> -<dd>‘filterVal’:value, ‘filterUnits’:units}</dd> -</dl> -</div></blockquote> -<dl class="docutils"> -<dt>or as a list:</dt> -<dd>[property, operator, value, value]</dd> +<dt>The filter expression specified as:</dt> +<dd><ul class="first last simple"> +<li>a string of <tt class="docutils literal"><span class="pre">'<property></span> <span class="pre"><operator></span> <span class="pre"><value></span> <span class="pre">[<units>]'</span></tt></li> +<li>a list of <tt class="docutils literal"><span class="pre">[property,</span> <span class="pre">operator,</span> <span class="pre">value,</span> <span class="pre">value]</span></tt></li> +</ul> +</dd> </dl> <p>The property to filter on must be a valid column name or the filename of a mask image.</p> @@ -601,31 +573,17 @@ of a mask image.</p> <p class="last">Units are optional and must be specified as required by astropy.units.</p> </dd> <dt>aggregate <span class="classifier-delimiter">:</span> <span class="classifier">str, optional</span></dt> -<dd><p class="first">If set, the array returned will be of values aggregated +<dd>If set, the array returned will be of values aggregated over the patch members. The following aggregation functions are -available:</p> -<blockquote class="last"> -<div><ul> -<li><p class="first">‘sum’: sum of patch values</p> -</li> -<li><p class="first">‘mean’: mean of patch values</p> -</li> -<li><p class="first">‘wmean’: Stokes I weighted mean of patch values</p> -</li> -<li><p class="first">‘min’: minimum of patch values</p> -</li> -<li><p class="first">‘max’: maximum of patch values</p> -</li> -<li><dl class="first docutils"> -<dt>True: only valid when the filter indices are specify directly as</dt> -<dd><p class="first last">a numpy array. If True, filtering is done on patches instead of -sources.</p> -</dd> -</dl> -</li> -</ul> -</div></blockquote> -</dd> +available: +- ‘sum’: sum of patch values +- ‘mean’: mean of patch values +- ‘wmean’: Stokes I weighted mean of patch values +- ‘min’: minimum of patch values +- ‘max’: maximum of patch values +- True: only valid when the filter indices are specify directly as +a numpy array. If True, filtering is done on patches instead of +sources.</dd> <dt>applyBeam <span class="classifier-delimiter">:</span> <span class="classifier">bool, optional</span></dt> <dd>If True, apparent fluxes will be used.</dd> <dt>useRegEx <span class="classifier-delimiter">:</span> <span class="classifier">bool, optional</span></dt> @@ -710,12 +668,9 @@ where both RA and Dec are degrees J2000 or in makesourcedb format.</dd> to set the patch positions: - ‘mid’ => the position is set to the midpoint of the patch - ‘mean’ => the positions is set to the mean RA and Dec of the patch -- ‘wmean’ => the position is set to the flux-weighted mean RA and</p> -<blockquote> -<div>Dec of the patch</div></blockquote> -<ul class="simple"> -<li>‘zero’ => set all positions to [0.0, 0.0]</li> -</ul> +- ‘wmean’ => the position is set to the flux-weighted mean RA and +Dec of the patch +- ‘zero’ => set all positions to [0.0, 0.0]</p> <p class="last">Note that the mid, mean, and wmean positions are calculated from TAN- projected values.</p> </dd> @@ -843,7 +798,6 @@ BBS:</p> </dd></dl> -</div> </div> @@ -887,7 +841,7 @@ BBS:</p> </div> <div class="footer"> © Copyright 2014, David Rafferty. - Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.1. + Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. </div> </body> </html> \ No newline at end of file diff --git a/doc/build/html/genindex.html b/doc/build/html/genindex.html index c34cd1641a3bc43f704913b37997792a7e3b6169..52c2f36a0cf4210aa856d77157b5b7130871c10e 100644 --- a/doc/build/html/genindex.html +++ b/doc/build/html/genindex.html @@ -52,8 +52,11 @@ <div class="genindex-jumpbox"> <a href="#A"><strong>A</strong></a> | <a href="#C"><strong>C</strong></a> + | <a href="#D"><strong>D</strong></a> + | <a href="#F"><strong>F</strong></a> | <a href="#G"><strong>G</strong></a> | <a href="#I"><strong>I</strong></a> + | <a href="#K"><strong>K</strong></a> | <a href="#L"><strong>L</strong></a> | <a href="#M"><strong>M</strong></a> | <a href="#P"><strong>P</strong></a> @@ -62,13 +65,34 @@ | <a href="#T"><strong>T</strong></a> | <a href="#U"><strong>U</strong></a> | <a href="#W"><strong>W</strong></a> + | <a href="#X"><strong>X</strong></a> </div> <h2 id="A">A</h2> <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.add">add() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.operations.html#lsmtool.operations.add.add">add() (in module lsmtool.operations.add)</a> + </dt> + + <dd><dl> + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.add">(lsmtool.skymodel.SkyModel method)</a> + </dt> + + </dl></dd> + + <dt><a href="lsmtool.operations.html#lsmtool.operations.group.addEvery">addEvery() (in module lsmtool.operations.group)</a> + </dt> + + </dl></td> + <td style="width: 33%" valign="top"><dl> + + <dt><a href="lsmtool.operations.html#lsmtool.operations.group.addSingle">addSingle() (in module lsmtool.operations.group)</a> + </dt> + + + <dt><a href="lsmtool.html#lsmtool.operations_lib.attenuate">attenuate() (in module lsmtool.operations_lib)</a> </dt> </dl></td> @@ -78,13 +102,49 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.concatenate">concatenate() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.operations.html#lsmtool.operations.concatenate.concatenate">concatenate() (in module lsmtool.operations.concatenate)</a> </dt> + <dd><dl> + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.concatenate">(lsmtool.skymodel.SkyModel method)</a> + </dt> + + </dl></dd> </dl></td> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.copy">copy() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.copy">copy() (lsmtool.skymodel.SkyModel method)</a> + </dt> + + </dl></td> +</tr></table> + +<h2 id="D">D</h2> +<table style="width: 100%" class="indextable genindextable"><tr> + <td style="width: 33%" valign="top"><dl> + + <dt><a href="lsmtool.html#lsmtool.tableio.Dec2Angle">Dec2Angle() (in module lsmtool.tableio)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.plot.Dectickformatter">Dectickformatter() (in module lsmtool.operations.plot)</a> + </dt> + + </dl></td> + <td style="width: 33%" valign="top"><dl> + + <dt><a href="lsmtool.html#lsmtool.tableio.ds9RegionWriter">ds9RegionWriter() (in module lsmtool.tableio)</a> + </dt> + + </dl></td> +</tr></table> + +<h2 id="F">F</h2> +<table style="width: 100%" class="indextable genindextable"><tr> + <td style="width: 33%" valign="top"><dl> + + <dt><a href="lsmtool.operations.html#lsmtool.operations.plot.formatCoord">formatCoord() (in module lsmtool.operations.plot)</a> </dt> </dl></td> @@ -94,43 +154,53 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.getColNames">getColNames() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.getColNames">getColNames() (lsmtool.skymodel.SkyModel method)</a> </dt> - <dt><a href="code.html#lsmtool.SkyModel.getColValues">getColValues() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.getColValues">getColValues() (lsmtool.skymodel.SkyModel method)</a> </dt> - <dt><a href="code.html#lsmtool.SkyModel.getDefaltValues">getDefaltValues() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.getDefaltValues">getDefaltValues() (lsmtool.skymodel.SkyModel method)</a> </dt> - <dt><a href="code.html#lsmtool.SkyModel.getPatchNames">getPatchNames() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.getPatchNames">getPatchNames() (lsmtool.skymodel.SkyModel method)</a> </dt> - <dt><a href="code.html#lsmtool.SkyModel.getPatchPositions">getPatchPositions() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.operations.html#lsmtool.operations.group.getPatchNamesFromMask">getPatchNamesFromMask() (in module lsmtool.operations.group)</a> </dt> </dl></td> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.getPatchSizes">getPatchSizes() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.getPatchPositions">getPatchPositions() (lsmtool.skymodel.SkyModel method)</a> + </dt> + + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.getPatchSizes">getPatchSizes() (lsmtool.skymodel.SkyModel method)</a> </dt> - <dt><a href="code.html#lsmtool.SkyModel.getRowIndex">getRowIndex() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.getRowIndex">getRowIndex() (lsmtool.skymodel.SkyModel method)</a> </dt> - <dt><a href="code.html#lsmtool.SkyModel.getRowValues">getRowValues() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.getRowValues">getRowValues() (lsmtool.skymodel.SkyModel method)</a> </dt> - <dt><a href="code.html#lsmtool.SkyModel.group">group() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.operations.html#lsmtool.operations.group.group">group() (in module lsmtool.operations.group)</a> + </dt> + + <dd><dl> + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.group">(lsmtool.skymodel.SkyModel method)</a> </dt> + </dl></dd> </dl></td> </tr></table> @@ -138,7 +208,17 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.info">info() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.info">info() (lsmtool.skymodel.SkyModel method)</a> + </dt> + + </dl></td> +</tr></table> + +<h2 id="K">K</h2> +<table style="width: 100%" class="indextable genindextable"><tr> + <td style="width: 33%" valign="top"><dl> + + <dt><a href="lsmtool.html#lsmtool.tableio.kvisAnnWriter">kvisAnnWriter() (in module lsmtool.tableio)</a> </dt> </dl></td> @@ -148,13 +228,73 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.load">load() (in module lsmtool)</a> + <dt><a href="lsmtool.html#lsmtool.load">load() (in module lsmtool)</a> + </dt> + + + <dt><a href="lsmtool.html#module-lsmtool">lsmtool (module)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#module-lsmtool.operations">lsmtool.operations (module)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#module-lsmtool.operations.add">lsmtool.operations.add (module)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#module-lsmtool.operations.concatenate">lsmtool.operations.concatenate (module)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#module-lsmtool.operations.group">lsmtool.operations.group (module)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#module-lsmtool.operations.merge">lsmtool.operations.merge (module)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#module-lsmtool.operations.move">lsmtool.operations.move (module)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#module-lsmtool.operations.plot">lsmtool.operations.plot (module)</a> </dt> </dl></td> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#module-lsmtool">lsmtool (module)</a> + <dt><a href="lsmtool.operations.html#module-lsmtool.operations.remove">lsmtool.operations.remove (module)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#module-lsmtool.operations.select">lsmtool.operations.select (module)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#module-lsmtool.operations.setpatchpositions">lsmtool.operations.setpatchpositions (module)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#module-lsmtool.operations.transfer">lsmtool.operations.transfer (module)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#module-lsmtool.operations.ungroup">lsmtool.operations.ungroup (module)</a> + </dt> + + + <dt><a href="lsmtool.html#module-lsmtool.operations_lib">lsmtool.operations_lib (module)</a> + </dt> + + + <dt><a href="lsmtool.html#module-lsmtool.skymodel">lsmtool.skymodel (module)</a> + </dt> + + + <dt><a href="lsmtool.html#module-lsmtool.tableio">lsmtool.tableio (module)</a> </dt> </dl></td> @@ -164,19 +304,31 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.merge">merge() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.operations.html#lsmtool.operations.merge.merge">merge() (in module lsmtool.operations.merge)</a> + </dt> + + <dd><dl> + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.merge">(lsmtool.skymodel.SkyModel method)</a> </dt> + </dl></dd> - <dt><a href="code.html#lsmtool.SkyModel.more">more() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.more">more() (lsmtool.skymodel.SkyModel method)</a> </dt> </dl></td> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.move">move() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.operations.html#lsmtool.operations.move.move">move() (in module lsmtool.operations.move)</a> + </dt> + + <dd><dl> + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.move">(lsmtool.skymodel.SkyModel method)</a> </dt> + </dl></dd> </dl></td> </tr></table> @@ -184,9 +336,15 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.plot">plot() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.operations.html#lsmtool.operations.plot.plot">plot() (in module lsmtool.operations.plot)</a> + </dt> + + <dd><dl> + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.plot">(lsmtool.skymodel.SkyModel method)</a> </dt> + </dl></dd> </dl></td> </tr></table> @@ -194,39 +352,127 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.remove">remove() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.tableio.RA2Angle">RA2Angle() (in module lsmtool.tableio)</a> + </dt> + + + <dt><a href="lsmtool.html#lsmtool.operations_lib.radec2xy">radec2xy() (in module lsmtool.operations_lib)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.plot.RAtickformatter">RAtickformatter() (in module lsmtool.operations.plot)</a> </dt> </dl></td> + <td style="width: 33%" valign="top"><dl> + + <dt><a href="lsmtool.operations.html#lsmtool.operations.remove.remove">remove() (in module lsmtool.operations.remove)</a> + </dt> + + <dd><dl> + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.remove">(lsmtool.skymodel.SkyModel method)</a> + </dt> + + </dl></dd> + + <dt><a href="lsmtool.html#lsmtool.tableio.rowStr">rowStr() (in module lsmtool.tableio)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.add.run">run() (in module lsmtool.operations.add)</a> + </dt> + + <dd><dl> + + <dt><a href="lsmtool.operations.html#lsmtool.operations.concatenate.run">(in module lsmtool.operations.concatenate)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.group.run">(in module lsmtool.operations.group)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.merge.run">(in module lsmtool.operations.merge)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.move.run">(in module lsmtool.operations.move)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.plot.run">(in module lsmtool.operations.plot)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.remove.run">(in module lsmtool.operations.remove)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.select.run">(in module lsmtool.operations.select)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.setpatchpositions.run">(in module lsmtool.operations.setpatchpositions)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.transfer.run">(in module lsmtool.operations.transfer)</a> + </dt> + + + <dt><a href="lsmtool.operations.html#lsmtool.operations.ungroup.run">(in module lsmtool.operations.ungroup)</a> + </dt> + + </dl></dd> + </dl></td> </tr></table> <h2 id="S">S</h2> <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.select">select() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.operations.html#lsmtool.operations.select.select">select() (in module lsmtool.operations.select)</a> + </dt> + + <dd><dl> + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.select">(lsmtool.skymodel.SkyModel method)</a> + </dt> + + </dl></dd> + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.setColValues">setColValues() (lsmtool.skymodel.SkyModel method)</a> + </dt> + + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.setDefaltValues">setDefaltValues() (lsmtool.skymodel.SkyModel method)</a> </dt> - <dt><a href="code.html#lsmtool.SkyModel.setColValues">setColValues() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.setPatchPositions">setPatchPositions() (lsmtool.skymodel.SkyModel method)</a> </dt> - <dt><a href="code.html#lsmtool.SkyModel.setDefaltValues">setDefaltValues() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.setRowValues">setRowValues() (lsmtool.skymodel.SkyModel method)</a> </dt> </dl></td> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.setPatchPositions">setPatchPositions() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel">SkyModel (class in lsmtool.skymodel)</a> + </dt> + + + <dt><a href="lsmtool.html#lsmtool.tableio.skyModelIdentify">skyModelIdentify() (in module lsmtool.tableio)</a> </dt> - <dt><a href="code.html#lsmtool.SkyModel.setRowValues">setRowValues() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.tableio.skyModelReader">skyModelReader() (in module lsmtool.tableio)</a> </dt> - <dt><a href="code.html#lsmtool.SkyModel">SkyModel (class in lsmtool)</a> + <dt><a href="lsmtool.html#lsmtool.tableio.skyModelWriter">skyModelWriter() (in module lsmtool.tableio)</a> </dt> </dl></td> @@ -236,9 +482,15 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.transfer">transfer() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.operations.html#lsmtool.operations.transfer.transfer">transfer() (in module lsmtool.operations.transfer)</a> </dt> + <dd><dl> + + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.transfer">(lsmtool.skymodel.SkyModel method)</a> + </dt> + + </dl></dd> </dl></td> </tr></table> @@ -246,7 +498,7 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.ungroup">ungroup() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.ungroup">ungroup() (lsmtool.skymodel.SkyModel method)</a> </dt> </dl></td> @@ -256,7 +508,17 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="code.html#lsmtool.SkyModel.write">write() (lsmtool.SkyModel method)</a> + <dt><a href="lsmtool.html#lsmtool.skymodel.SkyModel.write">write() (lsmtool.skymodel.SkyModel method)</a> + </dt> + + </dl></td> +</tr></table> + +<h2 id="X">X</h2> +<table style="width: 100%" class="indextable genindextable"><tr> + <td style="width: 33%" valign="top"><dl> + + <dt><a href="lsmtool.html#lsmtool.operations_lib.xy2radec">xy2radec() (in module lsmtool.operations_lib)</a> </dt> </dl></td> @@ -303,7 +565,7 @@ </div> <div class="footer"> © Copyright 2014, David Rafferty. - Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.1. + Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. </div> </body> </html> \ No newline at end of file diff --git a/doc/build/html/index.html b/doc/build/html/index.html index 388d62c7ac2f62ef447e2550ff1854c96c91254e..723d9906984b068f1edd20e597baed3c5ecd7273 100644 --- a/doc/build/html/index.html +++ b/doc/build/html/index.html @@ -24,7 +24,8 @@ <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> - <link rel="top" title="LSMTool 1.0.0 documentation" href="#" /> + <link rel="top" title="LSMTool 1.0.0 documentation" href="#" /> + <link rel="next" title="LSMTool: the LOFAR Local Sky Model Tool" href="overview.html" /> </head> <body> <div class="related"> @@ -36,6 +37,9 @@ <li class="right" > <a href="py-modindex.html" title="Python Module Index" >modules</a> |</li> + <li class="right" > + <a href="overview.html" title="LSMTool: the LOFAR Local Sky Model Tool" + accesskey="N">next</a> |</li> <li><a href="#">LSMTool 1.0.0 documentation</a> »</li> </ul> </div> @@ -47,14 +51,26 @@ <div class="section" id="welcome-to-lsmtool-s-documentation"> <h1>Welcome to LSMTool’s documentation!<a class="headerlink" href="#welcome-to-lsmtool-s-documentation" title="Permalink to this headline">¶</a></h1> -<p>LSMTool is a Python package which allow the manipulation of sky models in the <tt class="docutils literal"><span class="pre">makesourcedb</span></tt> format understood by BBS. Note that LSMTool is still in beta. Please report bugs to <tt class="docutils literal"><span class="pre">drafferty@hs.uni-hamburg.de</span></tt>. To initialize your environment for LSMTool, users on CEP1 and CEP2 should run the following commands:</p> -<div class="highlight-python"><div class="highlight"><pre>use LofIm -source ~rafferty/init_lsmtool -</pre></div> +<p>LSMTool is a Python package which allows for the manipulation of LOFAR sky models in the <tt class="docutils literal"><span class="pre">makesourcedb</span></tt> format.</p> </div> -<p>Note that the Pythonlibs LOFAR package includes an older version of astropy that conflicts with LSMTool and cannot be used in conjunction with it.</p> +<div class="section" id="contents"> +<h1>Contents<a class="headerlink" href="#contents" title="Permalink to this headline">¶</a></h1> <div class="toctree-wrapper compound"> -<ul class="simple"> +<ul> +<li class="toctree-l1"><a class="reference internal" href="overview.html">LSMTool: the LOFAR Local Sky Model Tool </a><ul> +<li class="toctree-l2"><a class="reference internal" href="overview.html#usage">Usage</a></li> +<li class="toctree-l2"><a class="reference internal" href="overview.html#operations">Operations</a></li> +<li class="toctree-l2"><a class="reference internal" href="overview.html#example-parset">Example parset</a></li> +<li class="toctree-l2"><a class="reference internal" href="overview.html#interactive-use-and-scripting">Interactive use and scripting</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="lsmtool.html">LSMTool Module Documentation</a><ul> +<li class="toctree-l2"><a class="reference internal" href="lsmtool.html#module-lsmtool">lsmtool module</a></li> +<li class="toctree-l2"><a class="reference internal" href="lsmtool.html#module-lsmtool.operations_lib">lsmtool.operations_lib module</a></li> +<li class="toctree-l2"><a class="reference internal" href="lsmtool.html#module-lsmtool.skymodel">lsmtool.skymodel module</a></li> +<li class="toctree-l2"><a class="reference internal" href="lsmtool.html#module-lsmtool.tableio">lsmtool.tableio module</a></li> +</ul> +</li> </ul> </div> </div> @@ -62,7 +78,6 @@ source ~rafferty/init_lsmtool <h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h1> <ul class="simple"> <li><a class="reference internal" href="genindex.html"><em>Index</em></a></li> -<li><a class="reference internal" href="py-modindex.html"><em>Module Index</em></a></li> <li><a class="reference internal" href="search.html"><em>Search Page</em></a></li> </ul> </div> @@ -76,9 +91,13 @@ source ~rafferty/init_lsmtool <h3><a href="#">Table Of Contents</a></h3> <ul> <li><a class="reference internal" href="#">Welcome to LSMTool’s documentation!</a></li> +<li><a class="reference internal" href="#contents">Contents</a></li> <li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li> </ul> + <h4>Next topic</h4> + <p class="topless"><a href="overview.html" + title="next chapter">LSMTool: the LOFAR Local Sky Model Tool </a></p> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="_sources/index.txt" @@ -110,12 +129,15 @@ source ~rafferty/init_lsmtool <li class="right" > <a href="py-modindex.html" title="Python Module Index" >modules</a> |</li> + <li class="right" > + <a href="overview.html" title="LSMTool: the LOFAR Local Sky Model Tool" + >next</a> |</li> <li><a href="#">LSMTool 1.0.0 documentation</a> »</li> </ul> </div> <div class="footer"> © Copyright 2014, David Rafferty. - Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.1. + Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. </div> </body> </html> \ No newline at end of file diff --git a/doc/build/html/objects.inv b/doc/build/html/objects.inv index d62ac62bc30952b92ac08587bfd7950735c42d52..1ad4e57d44aeede78777686874d3cff4463ad167 100644 Binary files a/doc/build/html/objects.inv and b/doc/build/html/objects.inv differ diff --git a/doc/build/html/py-modindex.html b/doc/build/html/py-modindex.html index ca56c3e665858e43da511275189366b7c7a994e3..6e362de5e68da1f118fe01e9a5d0e34870503439 100644 --- a/doc/build/html/py-modindex.html +++ b/doc/build/html/py-modindex.html @@ -27,10 +27,6 @@ <link rel="top" title="LSMTool 1.0.0 documentation" href="index.html" /> - <script type="text/javascript"> - DOCUMENTATION_OPTIONS.COLLAPSE_INDEX = true; - </script> - </head> <body> @@ -64,9 +60,85 @@ <tr class="cap" id="cap-l"><td></td><td> <strong>l</strong></td><td></td></tr> <tr> - <td></td> + <td><img src="_static/minus.png" class="toggler" + id="toggle-1" style="display: none" alt="-" /></td> <td> - <a href="code.html#module-lsmtool"><tt class="xref">lsmtool</tt></a></td><td> + <a href="lsmtool.html#module-lsmtool"><tt class="xref">lsmtool</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations"><tt class="xref">lsmtool.operations</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations.add"><tt class="xref">lsmtool.operations.add</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations.concatenate"><tt class="xref">lsmtool.operations.concatenate</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations.group"><tt class="xref">lsmtool.operations.group</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations.merge"><tt class="xref">lsmtool.operations.merge</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations.move"><tt class="xref">lsmtool.operations.move</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations.plot"><tt class="xref">lsmtool.operations.plot</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations.remove"><tt class="xref">lsmtool.operations.remove</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations.select"><tt class="xref">lsmtool.operations.select</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations.setpatchpositions"><tt class="xref">lsmtool.operations.setpatchpositions</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations.transfer"><tt class="xref">lsmtool.operations.transfer</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.operations.html#module-lsmtool.operations.ungroup"><tt class="xref">lsmtool.operations.ungroup</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.html#module-lsmtool.operations_lib"><tt class="xref">lsmtool.operations_lib</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.html#module-lsmtool.skymodel"><tt class="xref">lsmtool.skymodel</tt></a></td><td> + <em></em></td></tr> + <tr class="cg-1"> + <td></td> + <td> + <a href="lsmtool.html#module-lsmtool.tableio"><tt class="xref">lsmtool.tableio</tt></a></td><td> <em></em></td></tr> </table> @@ -107,7 +179,7 @@ </div> <div class="footer"> © Copyright 2014, David Rafferty. - Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.1. + Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. </div> </body> </html> \ No newline at end of file diff --git a/doc/build/html/search.html b/doc/build/html/search.html index 205dacb20f266e38784a4eee220c313e88af17dd..357ffe110345dcd521dcca5ee864edffb8b993ff 100644 --- a/doc/build/html/search.html +++ b/doc/build/html/search.html @@ -100,7 +100,7 @@ </div> <div class="footer"> © Copyright 2014, David Rafferty. - Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.1. + Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. </div> </body> </html> \ No newline at end of file diff --git a/doc/build/html/searchindex.js b/doc/build/html/searchindex.js index f5238d145a4b7b7722306d52f3120709bafaf354..896d5a541d58e2774656ff2a2be62f94f2897e5a 100644 --- a/doc/build/html/searchindex.js +++ b/doc/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:42,terms:{all:1,per:1,follow:[0,1],row:1,arcsec:1,lsm2:1,present:1,sourc:[0,1],everi:1,string:1,fals:1,print:1,appar:1,strang:1,list:1,pleas:0,second:1,aggreg:1,index:[0,1],appear:1,sum:1,access:1,version:0,"new":1,method:1,whose:1,valu:1,convert:1,hdf5:1,shift:1,within:1,clean_mask:1,appli:1,approxim:1,"140e6":1,filenam:1,unix:1,src1:1,total:1,select:1,plot:1,from:1,two:1,type:1,patchdict:1,sort:1,desir:1,must:1,none:1,can:1,meet:1,dec:1,deg:1,give:1,colnamesv:1,accept:1,high:1,minimum:1,tan:1,anoth:1,write:1,how:1,low:1,makesourcedb:[0,1],tile:1,verifi:1,simpl:1,bin0:1,bin2:1,lowtohigh:1,astropi:[0,1],max:1,getcolvalu:1,after:1,befor:1,catalog:1,plane:1,attenu:1,mai:1,coldict:1,averag:1,element:1,inform:1,environ:0,allow:[0,1],order:1,over:1,move:1,filterv:1,rashift:1,still:0,paramet:1,conjunct:0,group:1,fit:1,might:1,them:1,good:1,"return":1,greater:1,python:0,initi:0,instead:1,name:1,bin1:1,separ:1,each:1,found:1,mean:1,weight:1,replac:1,content:[],suitabl:1,high_res_ski:1,asarrai:1,numclust:1,reg:1,rownam:1,manipul:0,midpoint:1,given:1,brightest:1,dictionari:1,ask:1,ds9:1,angl:1,checkdup:1,keep:1,filter:1,length:1,place:1,filterop:1,outsid:1,onto:1,oper:1,directli:1,arrai:1,number:1,alreadi:1,setrowvalu:1,patchnam:1,miss:1,primari:1,size:1,differ:1,sb100:1,tot:1,skymodel:1,circl:1,colnam:1,store:1,includ:0,option:1,filterunit:1,copi:1,specifi:1,targetflux:1,part:1,from1:1,from2:1,than:1,center:1,target:1,provid:1,remov:1,zero:1,project:1,str:1,posit:1,ani:1,packag:[0,1],votabl:1,have:1,need:1,getdefaltvalu:1,lie:1,min:1,mid:1,note:[0,1],also:1,which:[0,1],singl:1,sky_plot:1,unless:1,cep1:0,cep2:0,object:1,setdefaltvalu:1,beta:0,regular:1,referencefrequ:1,pair:1,"class":1,useregex:1,mjy:1,determin:1,show:1,radiu:1,current:1,onli:1,should:0,dict:1,getcolnam:1,overwritten:1,lsm:1,get:1,express:1,beam:1,getpatchposit:1,cannot:0,beamm:1,report:0,requir:1,rafferti:0,intrins:1,patch:1,contain:1,where:1,set:1,maximum:1,result:1,close:1,"import":1,getpatchnam:1,parent:1,filterexpress:1,screen:1,entir:1,pythonlib:0,addit:1,both:1,region:1,getpatchs:1,pdf:1,load:1,point:1,color:1,pole:1,respect:1,assum:1,duplic:1,addition:1,numpi:1,three:1,treat:1,ungroup:1,imag:1,resolut:1,search:0,togeth:1,hamburg:0,those:1,"case":1,ident:1,casa:1,properti:1,defin:1,calcul:1,abov:1,cluster:1,setcolvalu:1,ascii:1,same:1,member:1,conflict:0,user:0,uni:0,appropri:1,kept:1,sortbi:1,older:0,clobber:1,exampl:1,command:[0,1],thi:1,getrowvalu:1,decshift:1,gsm:1,identifi:1,wmean:1,except:1,setdefaultvalu:1,add:1,valid:1,input:1,save:1,modul:0,match:1,drafferti:0,around:1,format:[0,1],read:1,filterprop:1,measur:1,like:1,flux:1,either:1,output:1,page:0,sagec:1,some:1,understood:0,binmerg:1,scale:1,getrowindex:1,overlap:1,estim:1,unit:1,plu:1,run:0,perpatchproject:1,src:1,about:1,column:1,degre:1,done:1,discard:1,produc:1,own:1,consid:1,"float":1,your:0,merg:1,transfer:1,support:1,avail:1,modski:1,"function":1,form:1,forc:1,majoraxi:1,"true":1,bug:0,info:1,concaten:1,j2000:1,"default":1,displai:1,init_lsmtool:0,more:1,lofim:0,creat:1,patchfil:1,"int":1,certain:1,exist:1,file:1,matchbi:1,ind:1,when:1,setpatchposit:1,other:1,bool:1,applybeam:1,star:1,clean:1,kvi:1,meaning:1,tessel:1,stoke:1,master_ski:1,sourcenam:1,algorithm:1,mask:1,gsm_sky2:1},objtypes:{"0":"py:module","1":"py:method","2":"py:function","3":"py:class"},objnames:{"0":["py","module","Python module"],"1":["py","method","Python method"],"2":["py","function","Python function"],"3":["py","class","Python class"]},filenames:["index","code"],titles:["Welcome to LSMTool’s documentation!","LSMTool: the LOFAR Local Sky Model Tool"],objects:{"":{lsmtool:[1,0,0,"-"]},lsmtool:{load:[1,2,1,""],SkyModel:[1,3,1,""]},"lsmtool.SkyModel":{setRowValues:[1,1,1,""],setPatchPositions:[1,1,1,""],getPatchNames:[1,1,1,""],select:[1,1,1,""],move:[1,1,1,""],plot:[1,1,1,""],group:[1,1,1,""],getColNames:[1,1,1,""],getRowValues:[1,1,1,""],getRowIndex:[1,1,1,""],transfer:[1,1,1,""],setDefaltValues:[1,1,1,""],write:[1,1,1,""],add:[1,1,1,""],ungroup:[1,1,1,""],more:[1,1,1,""],concatenate:[1,1,1,""],getDefaltValues:[1,1,1,""],getPatchPositions:[1,1,1,""],getPatchSizes:[1,1,1,""],getColValues:[1,1,1,""],copy:[1,1,1,""],info:[1,1,1,""],setColValues:[1,1,1,""],remove:[1,1,1,""],merge:[1,1,1,""]}},titleterms:{lsmtool:[0,1],welcom:0,tool:1,lofar:1,sky:1,indic:0,tabl:0,model:1,document:0,local:1}}) \ No newline at end of file +Search.setIndex({envversion:42,terms:{represent:[0,3],all:[0,1,3],interpret:0,overlap:[3,1],follow:[0,1,3],ds9regionwrit:3,row:[0,1,3],arcsec:[0,1,3],discard:[3,1],lsm1:1,lsm2:[3,1],program:0,those:[0,1,3],sourc:[0,1,3],everi:[0,1,3],string:[0,1,3],fals:[0,1,3],print:[0,3],appar:[0,1,3],strang:3,list:[0,1,3],getterminals:[],pleas:0,second:[0,1,3],aggreg:[0,1,3],index:[0,2,3],kvisannwrit:3,appear:[3,1],sum:[3,1],ndppp:0,access:3,version:0,"new":[0,1,3],method:[0,1,3],full:0,whose:[3,1],valu:[0,1,3],convert:3,sky_model_with_patch:0,hdf5:[0,3],shift:[0,1,3],chang:1,appli:[0,3],approxim:[3,1],submodul:[],filenam:[3,1],unix:[3,1],src1:[0,3],total:[0,1,3],select:[],plot:[],from:1,describ:0,two:[0,1,3],ratickformatt:1,next:0,call:3,type:[0,3],patchdict:3,sort:3,desir:[3,1],outskymodel:0,must:[3,1],none:[3,1],annot:[0,3],can:[0,1,3],meet:[3,1],dec:[0,1,3],deg:3,control:0,give:3,colnamesv:[3,1],accept:[0,3],high:[3,1],minimum:[3,1],tab:0,tan:3,david:0,anoth:[0,1,3],write:[0,3],how:[3,1],low:[3,1],makesourcedb:[0,1,2,3],tile:[3,1],instead:[3,1],attflux:3,bin1:[0,1,3],bin0:[3,1],bin3:0,bin2:[0,1,3],lowtohigh:3,astropi:[0,1,3],high_res_ski:[3,1],getcolvalu:[0,3],after:[3,1],addsingl:1,dec2angl:3,befor:3,catalog:3,plane:3,attenu:[3,1],mai:3,coldict:3,skymodel:[],forc:[3,1],getpatchnamesfrommask:1,correspond:[0,3],element:[3,1],inform:[0,3],maintain:0,environ:0,allow:[0,2,3],mjy:[0,1,3],origin:3,help:0,refra:3,over:[3,1],move:[],filterv:[3,1],rashift:[3,1],still:0,paramet:[0,1,3],conjunct:0,group:[],fit:[0,3],x1b:[],might:[3,1],pixel:[3,1],them:3,good:3,"return":[0,1,3],greater:[3,1],python:[0,2],initi:0,verifi:3,name:[0,1,3],simpl:[0,1,3],separ:[3,1],radian:1,each:[3,1],found:[3,1],mean:[0,1,3],weight:[3,1],replac:[3,1],rownam:3,out:0,content:[],suitabl:3,max:[3,1],asarrai:3,numclust:[0,1,3],reg:[0,3],insid:3,manipul:[0,2],midpoint:[0,3],given:[0,1,3],base:3,brightest:[3,1],dictionari:[3,1],ask:3,ds9:[0,3],angl:3,checkdup:3,keep:[0,1,3],filter:[0,1,3],length:3,place:[3,1],filterop:[3,1],outsid:[3,1],onto:3,first:0,oper:[],directli:[3,1],arrai:[0,1,3],number:[0,1,3],anyvalidcolumnnam:0,radeg:3,alreadi:3,setrowvalu:[0,3],messag:0,patchnam:[3,1],miss:3,primari:3,size:[0,3],differ:[3,1],sb100:3,script:[],interact:[],tot:3,averag:3,circl:[3,1],conveni:3,colnam:3,"final":0,store:3,modski:3,option:[0,1,3],filterunit:[3,1],addeveri:1,copi:[0,3],specifi:[0,1,3],targetflux:[0,1,3],part:[3,1],from1:[0,1,3],from2:[0,1,3],than:[3,1],merged_patch:0,scheme:0,target:[0,1,3],provid:3,raangl:3,remov:[],zero:3,project:3,formatcoord:1,str:[3,1],posit:[0,1,3],ann:0,ani:[0,3],packag:[],votabl:[0,3],increment:[],need:[0,3],getdefaltvalu:[0,3],tableio:[],lie:[3,1],min:[3,1],mid:[0,1,3],decrad:1,note:[0,3],also:[0,1,3],without:0,which:[0,1,2,3],singl:[0,1,3],sky_plot:[],unless:3,cep1:0,cep2:0,object:[0,1,3],setdefaltvalu:3,beta:0,regular:[3,1],referencefrequ:3,pair:[3,1],"class":3,useregex:[3,1],order:[0,3],in_sky_model2:0,determin:[3,1],section:0,selectbright:0,show:[0,1,3],text:[],verbos:0,radiu:[0,1,3],current:3,onli:[0,1,3],should:0,dict:[3,1],getcolnam:[0,3],overwritten:3,lsm:[0,1,3],get:[3,1],express:[3,1],stop:[],beam:[0,1,3],getpatchposit:[0,3],cannot:0,beamm:3,report:0,requir:[0,1,3],rafferti:0,intrins:3,patch:[0,1,3],contain:[3,1],sky1:1,sky2:1,where:[3,1],set:[0,1,3],"float":[0,1,3],displai:[3,1],see:0,sec:0,result:[0,1,3],arg:3,close:[3,1],label:1,written:[0,3],"import":[0,3],getpatchnam:3,parent:[3,1],filterexpress:[0,1,3],screen:[0,3],skymodelread:3,entir:3,outfil:0,ipython:0,pythonlib:0,addit:[0,3],both:[3,1],region:[0,1,3],quiet:0,getpatchs:[0,3],pdf:[],col:[],load:1,among:0,point:[0,3],color:[3,1],pole:3,respect:3,assum:3,duplic:[0,1,3],addition:[0,3],numpi:[0,1,3],three:[3,1],treat:[3,1],ungroup:[],imag:[3,1],resolut:[3,1],search:2,coordin:[3,1],addsrc:0,togeth:[3,1],hamburg:0,spin:[],present:3,"case":[0,3],ident:[3,1],casa:[3,1],properti:[0,1,3],defin:[0,1,3],calcul:[0,3],abov:[0,3],have:[3,1],sting:3,cluster:[0,1,3],kwarg:3,setcolvalu:[0,3],ascii:3,perform:0,same:[0,1,3],member:[3,1],skymodelwrit:3,setpo:0,conflict:0,rarad:1,new_patch:0,user:0,mani:0,subpackag:[],appropri:3,kept:[3,1],sortbi:3,older:0,well:0,clobber:3,exampl:[3,1],command:[0,3],thi:[0,1,3],getrowvalu:[0,3],decshift:[3,1],gsm:3,comment:0,identifi:[0,1,3],refdec:3,wmean:[0,1,3],except:3,setdefaultvalu:[0,3],add:[],other:[0,3],input:[3,1],save:[3,1],modul:[],match:[0,1,3],drafferti:0,around:[3,1],format:[0,1,2,3],read:3,"140e6":3,radec2xi:3,filterprop:[3,1],tick:1,measur:3,decdeg:3,like:[0,3],specif:0,flux:[0,1,3],either:[3,1],output:[0,3],page:2,sagec:[3,1],exttt:[],ra2angl:3,some:[3,1],understood:0,binmerg:[3,1],scale:[3,1],getrowindex:[0,3],per:[3,1],estim:3,exit:0,unit:[3,1],refer:3,plu:3,run:[0,1],perpatchproject:3,rowstr:3,usag:[],step:[0,1],src:[3,1],about:[0,3],column:[0,1,3],degre:[0,1,3],done:[0,1,3],clean_mask:[3,1],produc:3,own:[3,1],new_sourc:0,tessel:[0,1,3],within:[0,1,3],your:0,merg:[],transfer:[],support:[0,1,3],custom:1,avail:[0,1,3],start:[],includ:0,"var":0,skymodel2:0,"function":[3,1],skymodelidentifi:3,decangl:3,form:[3,1],dectickformatt:1,majoraxi:3,out_sky_model:0,line:[0,3],uni:0,"true":[0,1,3],bug:0,info:[0,1,3],concaten:[],made:3,j2000:3,"default":[0,3],maximum:[3,1],init_lsmtool:0,xy2radec:3,more:[0,1,3],lofim:0,creat:3,patchfil:[0,1,3],"int":[0,1,3],certain:3,parset:1,repres:3,exist:3,file:1,matchbi:[0,1,3],ind:3,grp:0,sequenti:0,when:[3,1],detail:0,setpatchposit:[],valid:[0,1,3],bool:[0,1,3],applybeam:[0,1,3],operations_lib:[],star:[3,1],clean:[3,1],center:3,kvi:[0,3],meaning:3,consid:[3,1],stoke:[3,1],master_ski:[3,1],sourcenam:3,algorithm:[0,1,3],statusbar:[],mask:[3,1],gsm_sky2:3},objtypes:{"0":"py:module","1":"py:method","2":"py:function","3":"py:class"},objnames:{"0":["py","module","Python module"],"1":["py","method","Python method"],"2":["py","function","Python function"],"3":["py","class","Python class"]},filenames:["overview","lsmtool.operations","index","lsmtool"],titles:["LSMTool: the LOFAR Local Sky Model Tool ","lsmtool.operations package","Welcome to LSMTool’s documentation!","LSMTool Module Documentation"],objects:{"":{lsmtool:[3,0,0,"-"]},lsmtool:{operations:[1,0,0,"-"],operations_lib:[3,0,0,"-"],load:[3,2,1,""],skymodel:[3,0,0,"-"],tableio:[3,0,0,"-"]},"lsmtool.operations.setpatchpositions":{run:[1,2,1,""]},"lsmtool.operations.plot":{RAtickformatter:[1,2,1,""],Dectickformatter:[1,2,1,""],formatCoord:[1,2,1,""],run:[1,2,1,""],plot:[1,2,1,""]},"lsmtool.operations.concatenate":{concatenate:[1,2,1,""],run:[1,2,1,""]},"lsmtool.operations.ungroup":{run:[1,2,1,""]},"lsmtool.operations.add":{add:[1,2,1,""],run:[1,2,1,""]},"lsmtool.operations":{concatenate:[1,0,0,"-"],plot:[1,0,0,"-"],setpatchpositions:[1,0,0,"-"],group:[1,0,0,"-"],transfer:[1,0,0,"-"],move:[1,0,0,"-"],remove:[1,0,0,"-"],merge:[1,0,0,"-"],add:[1,0,0,"-"],ungroup:[1,0,0,"-"],select:[1,0,0,"-"]},"lsmtool.operations.remove":{run:[1,2,1,""],remove:[1,2,1,""]},"lsmtool.operations.transfer":{transfer:[1,2,1,""],run:[1,2,1,""]},"lsmtool.tableio":{RA2Angle:[3,2,1,""],skyModelReader:[3,2,1,""],ds9RegionWriter:[3,2,1,""],skyModelWriter:[3,2,1,""],kvisAnnWriter:[3,2,1,""],skyModelIdentify:[3,2,1,""],rowStr:[3,2,1,""],Dec2Angle:[3,2,1,""]},"lsmtool.operations_lib":{radec2xy:[3,2,1,""],attenuate:[3,2,1,""],xy2radec:[3,2,1,""]},"lsmtool.operations.select":{run:[1,2,1,""],select:[1,2,1,""]},"lsmtool.operations.merge":{merge:[1,2,1,""],run:[1,2,1,""]},"lsmtool.operations.move":{move:[1,2,1,""],run:[1,2,1,""]},"lsmtool.skymodel":{SkyModel:[3,3,1,""]},"lsmtool.operations.group":{addSingle:[1,2,1,""],group:[1,2,1,""],addEvery:[1,2,1,""],getPatchNamesFromMask:[1,2,1,""],run:[1,2,1,""]},"lsmtool.skymodel.SkyModel":{setRowValues:[3,1,1,""],move:[3,1,1,""],getPatchNames:[3,1,1,""],select:[3,1,1,""],plot:[3,1,1,""],group:[3,1,1,""],getColNames:[3,1,1,""],getRowValues:[3,1,1,""],getRowIndex:[3,1,1,""],transfer:[3,1,1,""],setDefaltValues:[3,1,1,""],write:[3,1,1,""],add:[3,1,1,""],ungroup:[3,1,1,""],more:[3,1,1,""],concatenate:[3,1,1,""],getDefaltValues:[3,1,1,""],getPatchPositions:[3,1,1,""],getPatchSizes:[3,1,1,""],getColValues:[3,1,1,""],copy:[3,1,1,""],info:[3,1,1,""],setPatchPositions:[3,1,1,""],setColValues:[3,1,1,""],remove:[3,1,1,""],merge:[3,1,1,""]}},titleterms:{oper:[0,1],load:[],modul:[3,1],lofar:0,submodul:1,indic:2,packag:1,file:[],tabl:2,select:1,merg:1,plot:1,group:1,welcom:2,script:0,transfer:1,interact:0,sky:0,setpatchposit:1,content:[2,1],add:1,ungroup:1,tableio:3,local:0,operations_lib:3,move:1,lsmtool:[0,1,2,3],tool:0,usag:0,parset:0,from:[],skymodel:3,subpackag:[],concaten:1,document:[3,2],remov:1,exampl:0,model:0}}) \ No newline at end of file diff --git a/doc/lsmtool.pdf b/doc/lsmtool.pdf index f34b3350219b8a434fdbcc39c8505e8f3e8395c4..fcfc164ed97b2de4d618d472f3f6403b8ce726ff 100644 Binary files a/doc/lsmtool.pdf and b/doc/lsmtool.pdf differ diff --git a/doc/lsmtool.tex b/doc/lsmtool.tex index 62eee53732b3bf25bd88c6e4e3c4356d031aea8f..6a46b24815549954188e2d24aaa19596184d6ea7 100644 --- a/doc/lsmtool.tex +++ b/doc/lsmtool.tex @@ -29,7 +29,7 @@ \section[LSMTool: the LOFAR Local Sky Model Tool]{LSMTool: the LOFAR Local Sky Model Tool\footnote{This section is maintained by David Rafferty ({\tt drafferty@hs.uni-hamburg.de}).}} \label{lsmtool} -LSMTool is a Python package which allow the manipulation of sky models in the \texttt{makesourcedb} format understood by BBS. Note that LSMTool is still in beta. Please report bugs to drafferty@hs.uni-hamburg.de. To initialize your environment for LSMTool, users on CEP1 and CEP2 should run the following commands: +LSMTool is a Python package which allows for the manipulation of sky models in the \texttt{makesourcedb} format (understood by BBS and NDPPP). Note that LSMTool is still in beta. Please report bugs to drafferty@hs.uni-hamburg.de. To initialize your environment for LSMTool, users on CEP1 and CEP2 should run the following commands: \begin{verbatim} use LofIm source ~rafferty/init_lsmtool @@ -40,7 +40,7 @@ Note that the Pythonlibs LOFAR package includes an older version of astropy that \subsection{Usage} \label{lsmtool:usage} -LSMTool can be run as follows: +The command-line version of LSMTool can be run as follows: \begin{verbatim} Usage: lsmtool.py <skymodel> <parset> [<beam MS>] Options: @@ -66,6 +66,7 @@ These are the operations that LSMTool can perform: \item[MERGE]: Merge two or more patches into one \item[CONCATENATE]: Concatenate two sky models \item[ADD]: Add a source + \item[SETPATCHPOSITIONS]: Calculate and set patch positions \item[PLOT]: Plot a simple representation of the sky model \end{description} @@ -122,9 +123,9 @@ PatchFile & string & sky\_model\_with\_patches.sky & File with patches that will \hline \multicolumn{4}{l}{\textbf{GROUP}}\\ Algorithm & string & tessellate & One of tessellate, cluster, single, every\\ -TargetFlux & string & 10.0 Jy & target total flux of patches (tessellate only)\\ +TargetFlux & string & 10.0 Jy & Target total flux of patches (tessellate only)\\ +NumClusters & int & 100 & Number of clusters (cluster only)\\ ApplyBeam & bool & True & If true, apparent fluxes will be used \\ -Method & string & mid & Set patch positions by mid, mean, or wmean\\ \hline \multicolumn{4}{l}{\textbf{UNGROUP}}\\ \hline diff --git a/doc/source/.DS_Store b/doc/source/.DS_Store index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..6a60f02d7148f197b444804ed2b729f5833465d3 100644 Binary files a/doc/source/.DS_Store and b/doc/source/.DS_Store differ diff --git a/doc/source/code.rst b/doc/source/code.rst deleted file mode 100644 index d184c03adb17c0c890f8333941539f66e6e55b10..0000000000000000000000000000000000000000 --- a/doc/source/code.rst +++ /dev/null @@ -1,7 +0,0 @@ -LSMTool: the LOFAR Local Sky Model Tool -*************************************** - -.. automodule:: lsmtool - :members: -.. autoclass:: SkyModel - :members: diff --git a/doc/source/conf.py b/doc/source/conf.py index 6553401d659cce99ea491a1812d48e81135d6732..3a2182ee76c2bb38fe5ab791c27e069bd7a1e8e5 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -30,9 +30,9 @@ import os # ones. extensions = [ 'sphinx.ext.autodoc', - 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', 'sphinx.ext.mathjax', + 'numpydoc', ] # Add any paths that contain templates here, relative to this directory. diff --git a/doc/source/index.rst b/doc/source/index.rst index c6b45d5b81712dc74703c35c5d8ea486dfe15834..1caa8c0a70ec68e23cd58f05c93e0a90913c99f3 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -1,27 +1,20 @@ -.. LSMTool documentation master file, created by - sphinx-quickstart on Thu Jun 19 17:05:13 2014. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - Welcome to LSMTool's documentation! =================================== -LSMTool is a Python package which allow the manipulation of sky models in the ``makesourcedb`` format understood by BBS. Note that LSMTool is still in beta. Please report bugs to ``drafferty@hs.uni-hamburg.de``. To initialize your environment for LSMTool, users on CEP1 and CEP2 should run the following commands:: - - use LofIm - source ~rafferty/init_lsmtool +LSMTool is a Python package which allows for the manipulation of LOFAR sky models in the ``makesourcedb`` format. -Note that the Pythonlibs LOFAR package includes an older version of astropy that conflicts with LSMTool and cannot be used in conjunction with it. +Contents +======== .. toctree:: :maxdepth: 2 - + overview.rst + lsmtool.rst Indices and tables ================== * :ref:`genindex` -* :ref:`modindex` * :ref:`search` diff --git a/lsmtool/__init__.py b/lsmtool/__init__.py index 7dc418a742bd53b3dae069f04cb16fcecb97697d..4bf7f9ea5684f2b6900683d7c3bec68eb9c0ebd0 100644 --- a/lsmtool/__init__.py +++ b/lsmtool/__init__.py @@ -16,7 +16,8 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -"""LSMTool: the LOFAR Local Sky Model Tool +"""The load() convenience function is used to load a sky model file into a +SkyModel object. .. moduleauthor:: David Rafferty <drafferty@hs.uni-hamburg.de> @@ -39,6 +40,12 @@ def load(fileName, beamMS=None): Measurement set from which the primary beam will be estimated. A column of attenuated Stokes I fluxes will be added to the table. + Returns + ------- + SkyModel object + A SkyModel object that stores the sky model and provides methods for + accessing it. + Examples -------- Load a sky model into a SkyModel object:: @@ -47,7 +54,7 @@ def load(fileName, beamMS=None): >>> s = lsmtool.load('sky.model') Load a sky model with a beam MS so that apparent fluxes will - be available (in addition to intrinsic fluxes)::: + be available (in addition to intrinsic fluxes):: >>> s = lsmtool.load('sky.model', 'SB100.MS') diff --git a/lsmtool/_version.py b/lsmtool/_version.py index 28c169c1bfd88d434ec76102a02cc4b346e341b8..f8a0f3b9f7fd634a3c6c87f5ca99381f77e372e4 100644 --- a/lsmtool/_version.py +++ b/lsmtool/_version.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -#This module stores the version and changelog +# This module stores the version and changelog # Version number __version__ = '1.0.0' @@ -10,7 +10,7 @@ def changelog(): log = """ LSMTool Changelog. ----------------------------------------------- - 2014/05/25 - Version 1.0.0 (initial release) + 2014/06/25 - Version 1.0.0 (initial release) """ print(log) diff --git a/lsmtool/lsmtool.py b/lsmtool/lsmtool.py index c1b7d573c27ddb081e9f70053c86df57d6942c0b..d3b4f0cd77477860c179412e4314cbbf549dec04 100755 --- a/lsmtool/lsmtool.py +++ b/lsmtool/lsmtool.py @@ -1,5 +1,21 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- +# +# This is the command-line script that performs the operations defined in a +# LSMTool parset. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # Authors: # David Raffery diff --git a/lsmtool/operations/_filter.py b/lsmtool/operations/_filter.py index 1fd23b6e508e9a341aa6ee883d73fe5295d453f0..18d9662d6b77a2acd0af4c985531e453d919862f 100644 --- a/lsmtool/operations/_filter.py +++ b/lsmtool/operations/_filter.py @@ -246,8 +246,8 @@ def filter(LSM, filterExpression, exclusive=False, aggregate=None, def parseFilter(filterExpression): """ - Takes a filter expression and returns tuple of - (property, operation, val, units), all as strings + Takes a filter expression and returns tuple of (property, operation, val, + units), all as strings. """ try: from ..tableio import allowedColumnNames @@ -352,7 +352,7 @@ def convertOperStr(operStr): def getFilterIndices(colVals, filterOper, filterVal, useRegEx=False): """ - Returns the indices that correspond to the input filter expression + Returns the indices that correspond to the input filter expression. """ import operator as op import fnmatch @@ -388,7 +388,7 @@ def getFilterIndices(colVals, filterOper, filterVal, useRegEx=False): def getMaskValues(mask, RARad, DecRad): """ - Returns an array of mask values for each (RA, Dec) pair in radians + Returns an array of mask values for each (RA, Dec) pair in radians. """ import math import pyrap diff --git a/lsmtool/operations/concatenate.py b/lsmtool/operations/concatenate.py index aec428d0a77a435a139578afc9e430a41283f8e9..284d5cea942a1a82325c04cef6700222e1bf7104 100644 --- a/lsmtool/operations/concatenate.py +++ b/lsmtool/operations/concatenate.py @@ -60,7 +60,7 @@ def concatenate(LSM1, LSM2, matchBy='name', radius=0.1, keep='all'): Determines how duplicates are treated: - 'all' => all duplicates are kept; those with identical names are re- named - - 'from1' => duplicates kept are those from sky model 1 (the parent) + - 'from1' => duplicates kept are those from sky model 1 (LSM1) - 'from2' => duplicates kept are those from sky model 2 (LSM2) Examples diff --git a/lsmtool/operations_lib.py b/lsmtool/operations_lib.py index 8da995d4287a5a349d57ee67a54c6d4c8890514a..f384bc19d2173d6ee52a5a2f391ef70dbf1ee228 100644 --- a/lsmtool/operations_lib.py +++ b/lsmtool/operations_lib.py @@ -24,6 +24,22 @@ import os def attenuate(beamMS, fluxes, RADeg, DecDeg): """ Returns flux attenuated by primary beam. + + Parameters + ---------- + beamMS : str + Measurement set for which the beam model is made + fluxes : list + List of fluxes to attenuate + RADeg : list + List of RA values in degrees + DecDeg : list + List of Dec values in degrees + + Returns + ------- + attFluxes : numpy array + """ import numpy as np @@ -75,7 +91,29 @@ def attenuate(beamMS, fluxes, RADeg, DecDeg): def radec2xy(RA, Dec, refRA=None, refDec=None): - """Returns x, y for input ra, dec + """Returns x, y for input ra, dec. + + Note that the reference RA and Dec must be the same in calls to both + radec2xy() and xy2radec() if matched pairs of (x, y) <=> (RA, Dec) are + desired. + + Parameters + ---------- + RA : list + List of RA values in degrees + Dec : list + List of Dec values in degrees + refRA : float, optional + Reference RA in degrees. + refDec : float, optional + Reference Dec in degrees + + Returns + ------- + x, y : list, list + Lists of x and y pixel values corresponding to the input RA and Dec + values + """ from astropy.wcs import WCS import numpy as np @@ -104,8 +142,30 @@ def radec2xy(RA, Dec, refRA=None, refDec=None): def xy2radec(x, y, refRA=0.0, refDec=0.0): - """Returns x, y for input ra, dec - """ + """Returns x, y for input ra, dec. + + Note that the reference RA and Dec must be the same in calls to both + radec2xy() and xy2radec() if matched pairs of (x, y) <=> (RA, Dec) are + desired. + + Parameters + ---------- + x : list + List of x values in pixels + y : list + List of y values in pixels + refRA : float, optional + Reference RA in degrees + refDec : float, optional + Reference Dec in degrees + + Returns + ------- + RA, Dec : list, list + Lists of RA and Dec values corresponding to the input x and y pixel + values + + """ from astropy.wcs import WCS import numpy as np @@ -126,135 +186,3 @@ def xy2radec(x, y, refRA=0.0, refDec=0.0): Dec.append(w.wcs_pix2world(x_y, 0)[0][1]) return RA, Dec - - -class StatusBar(): - # class variables: - # max: number of total items to be completed - # pos: number of completed items - # spin_pos: current position in array of busy_chars - # inc: amount of items to increment completed 'pos' by - # (shared resource) - # comp: amount of '=' to display in the progress bar - # started: whether or not the statusbar has been started - # color: color of text - def __init__(self, text, pos=0, max=100, color='\033[0m'): - self.text = text - self.pos = pos - self.max = max - self.busy_char = '|' - self.spin_pos = 0 - self.inc = 0 - self.started = 0 - self.color = color - self.__getsize() - if max > 0: - self.comp = int(float(self.pos) / self.max * self.columns) - else: - self.comp = 0 - - # find number of columns in terminal - def __getsize(self): - try: - rows, columns = getTerminalSize() - except ValueError: - rows = columns = 0 - if int(columns) > self.max + 2 + 44 + (len(str(self.max))*2 + 2): - self.columns = self.max - else: - # note: -2 is for brackets, -44 for 'Fitting islands...' text, rest is for pos/max text - self.columns = int(columns) - 2 - 44 - (len(str(self.max))*2 + 2) - return - - # redraw progress bar - def __print(self): - self.__getsize() - - sys.stdout.write('\x1b[1G') - if self.max == 0: - sys.stdout.write(self.color + self.text + '[] 0/0\033[0m\n') - else: - sys.stdout.write(self.color + self.text + '[' + '=' * self.comp + self.busy_char + '-'*(self.columns - self.comp - 1) + '] ' + str(self.pos) + '/' + str(self.max) + '\033[0m') - sys.stdout.write('\x1b[' + str(self.comp + 2 + 44) + 'G') - sys.stdout.flush() - return - - # spin the spinner by one increment - def spin(self): - busy_chars = ['|','/','-','\\'] - self.spin_pos += 1 - if self.spin_pos >= len(busy_chars): - self.spin_pos = 0 - # display the busy spinning icon - self.busy_char = busy_chars[self.spin_pos] - sys.stdout.write(self.color + busy_chars[self.spin_pos] + '\x1b[1D' + '\033[0m') - sys.stdout.flush() - - # increment number of completed items - def increment(self): - self.inc = 1 - if (self.pos + self.inc) >= self.max: - self.pos = self.max - self.comp = self.columns - self.busy_char = '' - self.__print() - return 0 - else: - self.pos += self.inc - self.inc = 0 - self.spin() - self.comp = int(float(self.pos) / self.max \ - * self.columns) - self.__print() - return 1 - - def start(self): - self.started = 1 - self.__print() - - def stop(self): - if self.started: - self.pos = self.max - self.comp = self.columns - self.busy_char = '' - self.__print() - sys.stdout.write('\n') - self.started = 0 - return 0 - - -def getTerminalSize(): - """ - returns (lines:int, cols:int) - """ - import os, struct - def ioctl_GWINSZ(fd): - import fcntl, termios - return struct.unpack("hh", fcntl.ioctl(fd, termios.TIOCGWINSZ, "1234")) - # try stdin, stdout, stderr - for fd in (0, 1, 2): - try: - return ioctl_GWINSZ(fd) - except: - pass - # try os.ctermid() - try: - fd = os.open(os.ctermid(), os.O_RDONLY) - try: - return ioctl_GWINSZ(fd) - finally: - os.close(fd) - except: - pass - # try `stty size` - try: - return tuple(int(x) for x in os.popen("stty size", "r").read().split()) - except: - pass - # try environment variables - try: - return tuple(int(os.getenv(var)) for var in ("LINES", "COLUMNS")) - except: - pass - # Give up. return 0. - return (0, 0) diff --git a/lsmtool/skymodel.py b/lsmtool/skymodel.py index 210d077d62660ef780540f06d8dd61e1393a775b..ba39872bcd7bc7e9735b13e8c464a94f7b7ba2cd 100644 --- a/lsmtool/skymodel.py +++ b/lsmtool/skymodel.py @@ -141,7 +141,7 @@ class SkyModel(object): def copy(self): """ - Returns a copy of the sky model + Returns a copy of the sky model. """ import copy @@ -151,7 +151,7 @@ class SkyModel(object): def more(self, colName=None, patchName=None, sourceName=None, sortBy=None, lowToHigh=False): """ - Prints the sky model table to the screen with more-like commands + Prints the sky model table to the screen with more-like commands. Parameters ---------- @@ -191,7 +191,6 @@ class SkyModel(object): colName = [colName] # needed in order to get a table instead of a column table = table[colName] - # Get patches if patchName is not None: pindx = self._getNameIndx(patchName, patch=True) @@ -425,7 +424,7 @@ class SkyModel(object): def setPatchPositions(self, patchDict=None, method='mid', applyBeam=False, - perPatchProjection=True): + perPatchProjection=True): """ Sets the patch positions. @@ -440,8 +439,9 @@ class SkyModel(object): - 'mid' => the position is set to the midpoint of the patch - 'mean' => the positions is set to the mean RA and Dec of the patch - 'wmean' => the position is set to the flux-weighted mean RA and - Dec of the patch + Dec of the patch - 'zero' => set all positions to [0.0, 0.0] + Note that the mid, mean, and wmean positions are calculated from TAN- projected values. applyBeam : bool, optional @@ -499,7 +499,7 @@ class SkyModel(object): def _getXY(self, patchName=None): """ - Returns lists of projected x and y values for all sources + Returns lists of projected x and y values for all sources. Parameters ---------- @@ -538,7 +538,7 @@ class SkyModel(object): def getDefaltValues(self): """ - Returns dict of {colName:default} values for all columns with defaults + Returns dict of {colName:default} values for all columns with defaults. """ colNames = self.getColNames() defaultDict = {} @@ -550,7 +550,7 @@ class SkyModel(object): def setDefaltValues(self, colDict): """ - Sets default column values + Sets default column values. Parameters ---------- @@ -604,7 +604,7 @@ class SkyModel(object): return self.table.keys() - def getColValues(self, colName, units=None, aggregate=None, weight=False, + def getColValues(self, colName, units=None, aggregate=None, applyBeam=False): """ Returns a numpy array of column values. @@ -617,7 +617,7 @@ class SkyModel(object): Output units (the values are converted as needed). By default, the units are those used by makesourcedb, with the exception of Ra and Dec which have default units of degrees. - aggregate : str, optional + aggregate : {'sum', 'mean', 'wmean', 'min', max'}, optional If set, the array returned will be of values aggregated over the patch members. The following aggregation functions are available: @@ -944,6 +944,17 @@ class SkyModel(object): def getPatchSizes(self, units=None, weight=False, applyBeam=False): """ Returns array of patch sizes. + + Parameters + ---------- + units : str, optional + Units for returned sizes (e.g., 'arcsec', 'degree') + weight : bool, optional + If True, weight the source positions inside the patch by flux + applyBeam : bool, optional + If True and weight is True, attenuate the fluxes used for weighting + by the beam + """ if self.hasPatches: col = self._getSizeColumn(weight=weight, applyBeam=applyBeam) @@ -956,7 +967,7 @@ class SkyModel(object): def getPatchNames(self): """ - Returns array of patch names. + Returns array of all patch names in the sky model. """ if self.hasPatches: return self.table.groups.keys['Patch'].data @@ -1086,7 +1097,7 @@ class SkyModel(object): def _applyBeamToCol(self, col, patch=False): """ - Applies beam attenuation to the column values + Applies beam attenuation to the column values. """ from operations_lib import attenuate @@ -1420,14 +1431,10 @@ class SkyModel(object): Parameters ---------- filterExpression : str or dict - A string specifying the filter expression in the form: - '<property> <operator> <value> [<units>]' - (e.g., 'I <= 10.5 Jy'). These elements can also be given as a - dictionary in the form: - {'filterProp':property, 'filterOper':operator, - 'filterVal':value, 'filterUnits':units} - or as a list: - [property, operator, value, value] + The filter expression specified as: + - a string of ``'<property> <operator> <value> [<units>]'`` + - a list of ``[property, operator, value, unit]`` + The property to filter on must be a valid column name or the filename of a mask image. @@ -1438,6 +1445,7 @@ class SkyModel(object): - > - < - = (or '==') + Units are optional and must be specified as required by astropy.units. aggregate : str, optional If set, the array returned will be of values aggregated @@ -1448,9 +1456,7 @@ class SkyModel(object): - 'wmean': Stokes I weighted mean of patch values - 'min': minimum of patch values - 'max': maximum of patch values - - True: only valid when the filter indices are specify directly as - a numpy array. If True, filtering is done on patches instead of - sources. + - True: only valid when the filter indices are specify directly as a numpy array. If True, filtering is done on patches instead of sources. applyBeam : bool, optional If True, apparent fluxes will be used. useRegEx : bool, optional @@ -1497,35 +1503,39 @@ class SkyModel(object): filterExpression : str or dict A string specifying the filter expression in the form: '<property> <operator> <value> [<units>]' + (e.g., 'I <= 10.5 Jy'). These elements can also be given as a dictionary in the form: {'filterProp':property, 'filterOper':operator, 'filterVal':value, 'filterUnits':units} + or as a list: [property, operator, value, value] + The property to filter on must be a valid column name or the filename of a mask image. Supported operators are: - - != - - <= - - >= - - > - - < - - = (or '==') + - != + - <= + - >= + - > + - < + - = (or '==') + Units are optional and must be specified as required by astropy.units. aggregate : str, optional If set, the array returned will be of values aggregated over the patch members. The following aggregation functions are available: - - 'sum': sum of patch values - - 'mean': mean of patch values - - 'wmean': Stokes I weighted mean of patch values - - 'min': minimum of patch values - - 'max': maximum of patch values - - True: only valid when the filter indices are specified directly as - a numpy array. If True, filtering is done on patches instead of - sources. + - 'sum': sum of patch values + - 'mean': mean of patch values + - 'wmean': Stokes I weighted mean of patch values + - 'min': minimum of patch values + - 'max': maximum of patch values + - True: only valid when the filter indices are specified directly as + a numpy array. If True, filtering is done on patches instead of + sources. applyBeam : bool, optional If True, apparent fluxes will be used. useRegEx : bool, optional @@ -1561,7 +1571,7 @@ class SkyModel(object): def group(self, algorithm, targetFlux=None, numClusters=100, applyBeam=False): """ - Groups sources into patches + Groups sources into patches. Parameters ---------- @@ -1681,7 +1691,7 @@ class SkyModel(object): def merge(self, patches, name=None): """ - Merge two or more patches together + Merge two or more patches together. Parameters ---------- @@ -1702,7 +1712,7 @@ class SkyModel(object): def concatenate(self, LSM2, matchBy='name', radius=0.1, keep='all'): """ - Concatenate two sky models + Concatenate two sky models. Parameters ---------- diff --git a/lsmtool/tableio.py b/lsmtool/tableio.py index 3c38b534b400112dd337ed8f9ee866835d90240d..f1ac3ff1d6bdc98121add3b0164ff5fc6d79c0f0 100644 --- a/lsmtool/tableio.py +++ b/lsmtool/tableio.py @@ -47,7 +47,7 @@ allowedColumnDefaults = {'name':'N/A', 'type':'N/A', 'patch':'N/A', 'ra':'N/A', def skyModelReader(fileName): """ - Reads a makesourcedb sky model file into an astropy table + Reads a makesourcedb sky model file into an astropy table. Parameters ---------- @@ -58,6 +58,7 @@ def skyModelReader(fileName): Returns ------- table : astropy.table.Table object + """ # Open the input file try: @@ -225,6 +226,17 @@ def skyModelReader(fileName): def RA2Angle(RA): """ Returns Angle objects for input RA values. + + Parameters + ---------- + RA : str, float or list of str, float + Values of RA to convert. Can be strings in makesourcedb format or floats + in degrees. + + Returns + ------- + RAAngle : astropy.coordinates.Angle object + """ if type(RA) is str or type(RA) is float: RA = [RA] @@ -244,6 +256,17 @@ def RA2Angle(RA): def Dec2Angle(Dec): """ Returns Angle objects for input Dec values. + + Parameters + ---------- + Dec : str, float or list of str, float + Values of Dec to convert. Can be strings in makesourcedb format or floats + in degrees. + + Returns + ------- + DecAngle : astropy.coordinates.Angle object + """ if type(Dec) is str or type(Dec) is float: Dec = [Dec] @@ -349,11 +372,16 @@ def skyModelWriter(table, fileName): def rowStr(row): """ - Returns makesourcedb representation of a row + Returns makesourcedb representation of a row. Parameters ---------- row : astropy.table.Row object + + Returns + ------- + line : str + Sting representing a row in a makesourcedb sky model file """ line = [] for colKey in row.columns: diff --git a/setup.py b/setup.py index fbbd16ebc3a82defd4f54385f59bcd7c0515b504..e469d5bc86f0f631690f6f4be25c19828fda4c84 100644 --- a/setup.py +++ b/setup.py @@ -45,7 +45,7 @@ setup( 'Topic :: Software Development :: Libraries :: Python Modules', ], tests_require=['pytest'], - install_requires=['numpy','cython','astropy'], + install_requires=['numpy','astropy'], #scripts = ['say_hello.py'], packages=['lsmtool','lsmtool.operations'], test_suite='test',