wcslib (8.2.2)

(root)/
share/
doc/
wcslib-8.2.2/
html/
log_8h.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>WCSLIB: log.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">WCSLIB<span id="projectnumber">&#160;8.2.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_af99bb3c152a306abd27951285ad1127.html">C</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle"><div class="title">log.h File Reference</div></div>
</div><!--header-->
<div class="contents">

<p><a href="log_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a3ca7c9ed3cef9e053e1f32b60a0d0c36" id="r_a3ca7c9ed3cef9e053e1f32b60a0d0c36"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="log_8h.html#a3ca7c9ed3cef9e053e1f32b60a0d0c36">log_errmsg_enum</a> { <br />
&#160;&#160;<a class="el" href="log_8h.html#a3ca7c9ed3cef9e053e1f32b60a0d0c36a1f9859b85143e5ddc55744beff6d433c">LOGERR_SUCCESS</a> = 0
, <a class="el" href="log_8h.html#a3ca7c9ed3cef9e053e1f32b60a0d0c36aa1df3b688a38178c3bb75225c8921259">LOGERR_NULL_POINTER</a> = 1
, <a class="el" href="log_8h.html#a3ca7c9ed3cef9e053e1f32b60a0d0c36afd604876bd42694c1a04cdae2be719e6">LOGERR_BAD_LOG_REF_VAL</a> = 2
, <a class="el" href="log_8h.html#a3ca7c9ed3cef9e053e1f32b60a0d0c36a85932a7f3c52c3090c1a1c5e82ed1c22">LOGERR_BAD_X</a> = 3
, <br />
&#160;&#160;<a class="el" href="log_8h.html#a3ca7c9ed3cef9e053e1f32b60a0d0c36a05b7fdbe8fcf799db114f90f04083273">LOGERR_BAD_WORLD</a> = 4
<br />
 }</td></tr>
<tr class="separator:a3ca7c9ed3cef9e053e1f32b60a0d0c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a239e115e583af4e67e60de4a4f95f09e" id="r_a239e115e583af4e67e60de4a4f95f09e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="log_8h.html#a239e115e583af4e67e60de4a4f95f09e">logx2s</a> (double crval, int nx, int sx, int slogc, const double x[], double logc[], int stat[])</td></tr>
<tr class="memdesc:a239e115e583af4e67e60de4a4f95f09e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform to logarithmic coordinates.  <br /></td></tr>
<tr class="separator:a239e115e583af4e67e60de4a4f95f09e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac80fd753e48873cdbd9a332609de150a" id="r_ac80fd753e48873cdbd9a332609de150a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="log_8h.html#ac80fd753e48873cdbd9a332609de150a">logs2x</a> (double crval, int nlogc, int slogc, int sx, const double logc[], double x[], int stat[])</td></tr>
<tr class="memdesc:ac80fd753e48873cdbd9a332609de150a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform logarithmic coordinates.  <br /></td></tr>
<tr class="separator:ac80fd753e48873cdbd9a332609de150a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a8b8e0a071c9539f4be52eaf789f385ea" id="r_a8b8e0a071c9539f4be52eaf789f385ea"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="log_8h.html#a8b8e0a071c9539f4be52eaf789f385ea">log_errmsg</a> []</td></tr>
<tr class="memdesc:a8b8e0a071c9539f4be52eaf789f385ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status return messages.  <br /></td></tr>
<tr class="separator:a8b8e0a071c9539f4be52eaf789f385ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Routines in this suite implement the part of the FITS World Coordinate System (WCS) standard that deals with logarithmic coordinates, as described in</p>
<p>&quot;Representations of world coordinates in FITS&quot;, Greisen, E.W., &amp; Calabretta, M.R. 2002, A&amp;A, 395, 1061 (WCS Paper I)</p>
<p>&quot;Representations of spectral coordinates in FITS&quot;, Greisen, E.W., Calabretta, M.R., Valdes, F.G., &amp; Allen, S.L. 2006, A&amp;A, 446, 747 (WCS Paper III)</p>
<p>These routines define methods to be used for computing logarithmic world coordinates from intermediate world coordinates (a linear transformation of image pixel coordinates), and vice versa.</p>
<p><a class="el" href="log_8h.html#a239e115e583af4e67e60de4a4f95f09e" title="Transform to logarithmic coordinates.">logx2s()</a> and <a class="el" href="log_8h.html#ac80fd753e48873cdbd9a332609de150a" title="Transform logarithmic coordinates.">logs2x()</a> implement the WCS logarithmic coordinate transformations.</p>
<p><b>Argument checking:</b> <br  />
The input log-coordinate values are only checked for values that would result in floating point exceptions and the same is true for the log-coordinate reference value.</p>
<p><b>Accuracy:</b> <br  />
No warranty is given for the accuracy of these routines (refer to the copyright notice); intending users must satisfy for themselves their adequacy for the intended purpose. However, closure effectively to within double precision rounding error was demonstrated by test routine tlog.c which accompanies this software. </p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a3ca7c9ed3cef9e053e1f32b60a0d0c36" name="a3ca7c9ed3cef9e053e1f32b60a0d0c36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ca7c9ed3cef9e053e1f32b60a0d0c36">&#9670;&#160;</a></span>log_errmsg_enum</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="log_8h.html#a3ca7c9ed3cef9e053e1f32b60a0d0c36">log_errmsg_enum</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3ca7c9ed3cef9e053e1f32b60a0d0c36a1f9859b85143e5ddc55744beff6d433c" name="a3ca7c9ed3cef9e053e1f32b60a0d0c36a1f9859b85143e5ddc55744beff6d433c"></a>LOGERR_SUCCESS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3ca7c9ed3cef9e053e1f32b60a0d0c36aa1df3b688a38178c3bb75225c8921259" name="a3ca7c9ed3cef9e053e1f32b60a0d0c36aa1df3b688a38178c3bb75225c8921259"></a>LOGERR_NULL_POINTER&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3ca7c9ed3cef9e053e1f32b60a0d0c36afd604876bd42694c1a04cdae2be719e6" name="a3ca7c9ed3cef9e053e1f32b60a0d0c36afd604876bd42694c1a04cdae2be719e6"></a>LOGERR_BAD_LOG_REF_VAL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3ca7c9ed3cef9e053e1f32b60a0d0c36a85932a7f3c52c3090c1a1c5e82ed1c22" name="a3ca7c9ed3cef9e053e1f32b60a0d0c36a85932a7f3c52c3090c1a1c5e82ed1c22"></a>LOGERR_BAD_X&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3ca7c9ed3cef9e053e1f32b60a0d0c36a05b7fdbe8fcf799db114f90f04083273" name="a3ca7c9ed3cef9e053e1f32b60a0d0c36a05b7fdbe8fcf799db114f90f04083273"></a>LOGERR_BAD_WORLD&#160;</td><td class="fielddoc"></td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a239e115e583af4e67e60de4a4f95f09e" name="a239e115e583af4e67e60de4a4f95f09e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a239e115e583af4e67e60de4a4f95f09e">&#9670;&#160;</a></span>logx2s()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int logx2s </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>crval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>sx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>slogc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>x</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>logc</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stat</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transform to logarithmic coordinates. </p>
<p><b>logx2s</b>() transforms intermediate world coordinates to logarithmic coordinates.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">crval</td><td>Log-coordinate reference value (<code><b>CRVAL</b>ia</code>).</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nx</td><td>Vector length. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sx</td><td>Vector stride. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">slogc</td><td>Vector stride. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Intermediate world coordinates, in SI units.</td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">logc</td><td>Logarithmic coordinates, in SI units. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">stat</td><td>Status return value status for each vector element:<ul>
<li>0: Success.</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status return value:<ul>
<li>0: Success.</li>
<li>2: Invalid log-coordinate reference value. </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ac80fd753e48873cdbd9a332609de150a" name="ac80fd753e48873cdbd9a332609de150a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac80fd753e48873cdbd9a332609de150a">&#9670;&#160;</a></span>logs2x()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int logs2x </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>crval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nlogc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>slogc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>sx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>logc</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stat</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transform logarithmic coordinates. </p>
<p><b>logs2x</b>() transforms logarithmic world coordinates to intermediate world coordinates.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">crval</td><td>Log-coordinate reference value (<code><b>CRVAL</b>ia</code>).</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nlogc</td><td>Vector length. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">slogc</td><td>Vector stride. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sx</td><td>Vector stride. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">logc</td><td>Logarithmic coordinates, in SI units.</td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">x</td><td>Intermediate world coordinates, in SI units. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">stat</td><td>Status return value status for each vector element:<ul>
<li>0: Success.</li>
<li>1: Invalid value of logc.</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status return value:<ul>
<li>0: Success.</li>
<li>2: Invalid log-coordinate reference value.</li>
<li>4: One or more of the world-coordinate values are incorrect, as indicated by the stat vector. </li>
</ul>
</dd></dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a8b8e0a071c9539f4be52eaf789f385ea" name="a8b8e0a071c9539f4be52eaf789f385ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b8e0a071c9539f4be52eaf789f385ea">&#9670;&#160;</a></span>log_errmsg</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * log_errmsg[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Status return messages. </p>
<p>Error messages to match the status value returned from each function. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Nov 29 2023 19:09:57 for WCSLIB by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>