Sophie

Sophie

distrib > Fedora > 13 > i386 > media > os > by-pkgid > ecbd8c5b7568e331fe6ea5b9a07a78a0 > files > 128

CCfits-docs-2.2-2.fc13.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>CCfits: CCfits::PHDU Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><b>CCfits</b>::<a class="el" href="classCCfits_1_1PHDU.html">PHDU</a>
  </div>
</div>
<div class="contents">
<h1>CCfits::PHDU Class Reference</h1><!-- doxytag: class="CCfits::PHDU" --><!-- doxytag: inherits="CCfits::HDU" -->
<p>class representing the primary <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> for a <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file.">FITS</a> file.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="PHDU_8h_source.html">PHDU.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for CCfits::PHDU:</div>
<div class="dynsection">
 <div class="center">
  <img src="classCCfits_1_1PHDU.gif" alt="Inheritance diagram" usemap="#CCfits::PHDU_map" alt=""/>
  <map id="CCfits::PHDU_map" name="CCfits::PHDU_map">
<area href="classCCfits_1_1HDU.html" alt="CCfits::HDU" shape="rect" coords="0,0,86,24"/>
</map>
 </div>
</div>

<p><a href="classCCfits_1_1PHDU-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#aebb0d9bac5b961e7de036ad10f1a02c2">~PHDU</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">destructor  <a href="#aebb0d9bac5b961e7de036ad10f1a02c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6cefe66318d6014ef2d489e7a779f299"></a><!-- doxytag: member="CCfits::PHDU::clone" ref="a6cefe66318d6014ef2d489e7a779f299" args="(FITSBase *p) const =0" -->
virtual <a class="el" href="classCCfits_1_1PHDU.html">PHDU</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a6cefe66318d6014ef2d489e7a779f299">clone</a> (FITSBase *p) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">virtual copy constructor, to be implemented in subclasses. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename S &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a7d1b97ee19fbf6e2d9b700e0fd181fba">read</a> (std::valarray&lt; S &gt; &amp;image, const std::vector&lt; long &gt; &amp;firstVertex, const std::vector&lt; long &gt; &amp;lastVertex, const std::vector&lt; long &gt; &amp;stride, S *nullValue)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read an image subset into valarray image, processing null values  <a href="#a7d1b97ee19fbf6e2d9b700e0fd181fba"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="af9ed96fd745f937fe547b1284f8b0fa0"></a><!-- doxytag: member="CCfits::PHDU::read" ref="af9ed96fd745f937fe547b1284f8b0fa0" args="(std::valarray&lt; S &gt; &amp;image, const std::vector&lt; long &gt; &amp;firstVertex, const std::vector&lt; long &gt; &amp;lastVertex, const std::vector&lt; long &gt; &amp;stride)" -->
template&lt;typename S &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#af9ed96fd745f937fe547b1284f8b0fa0">read</a> (std::valarray&lt; S &gt; &amp;image, const std::vector&lt; long &gt; &amp;firstVertex, const std::vector&lt; long &gt; &amp;lastVertex, const std::vector&lt; long &gt; &amp;stride)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read an image subset <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename S &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a0adff697d584756db2576b691e97d2af">read</a> (std::valarray&lt; S &gt; &amp;image, const std::vector&lt; long &gt; &amp;first, long nElements, S *nullValue)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read part of an image array, processing null values.  <a href="#a0adff697d584756db2576b691e97d2af"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a004d7be51b8b85374f20d458e75b27a4"></a><!-- doxytag: member="CCfits::PHDU::read" ref="a004d7be51b8b85374f20d458e75b27a4" args="(std::valarray&lt; S &gt; &amp;image, const std::vector&lt; long &gt; &amp;first, long nElements)" -->
template&lt;typename S &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a004d7be51b8b85374f20d458e75b27a4">read</a> (std::valarray&lt; S &gt; &amp;image, const std::vector&lt; long &gt; &amp;first, long nElements)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read an image section starting at a location specified by an n-tuple <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename S &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#ac074b0454bf0d2085d90ab4993062365">read</a> (std::valarray&lt; S &gt; &amp;image, long first, long nElements, S *nullValue)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read part of an image array, processing null values.  <a href="#ac074b0454bf0d2085d90ab4993062365"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a1b5e3bd0bc683e93c650cb9d048e0936"></a><!-- doxytag: member="CCfits::PHDU::read" ref="a1b5e3bd0bc683e93c650cb9d048e0936" args="(std::valarray&lt; S &gt; &amp;image, long first, long nElements)" -->
template&lt;typename S &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a1b5e3bd0bc683e93c650cb9d048e0936">read</a> (std::valarray&lt; S &gt; &amp;image, long first, long nElements)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read an image section starting at a specified pixel <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a496d7e092054cb21565f4b1bf3d977f4">readData</a> (bool readFlag=false, const std::vector&lt; String &gt; &amp;keys=std::vector&lt; String &gt;())=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read primary <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> data  <a href="#a496d7e092054cb21565f4b1bf3d977f4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0205708df85524ee37eddb7485604591"></a><!-- doxytag: member="CCfits::PHDU::scale" ref="a0205708df85524ee37eddb7485604591" args="() const " -->
virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a0205708df85524ee37eddb7485604591">scale</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the BSCALE keyword value <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a75f86db856e2cc7772a97d9ded3a633c">scale</a> (double value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the BSCALE keyword value for images (see warning for images of int type)  <a href="#a75f86db856e2cc7772a97d9ded3a633c"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename S &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#af73983e4398c0a4f1d8b30ff3193966b">write</a> (const std::vector&lt; long &gt; &amp;firstVertex, const std::vector&lt; long &gt; &amp;lastVertex, const std::vector&lt; long &gt; &amp;stride, const std::valarray&lt; S &gt; &amp;data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">write a subset (generalize slice) of data to the image  <a href="#af73983e4398c0a4f1d8b30ff3193966b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a394889162e09898e2308a2d96b82532d"></a><!-- doxytag: member="CCfits::PHDU::write" ref="a394889162e09898e2308a2d96b82532d" args="(long first, long nElements, const std::valarray&lt; S &gt; &amp;data)" -->
template&lt;typename S &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a394889162e09898e2308a2d96b82532d">write</a> (long first, long nElements, const std::valarray&lt; S &gt; &amp;data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">write array starting from specified pixel number, without undefined data processing <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a9a62bc12990d9dc0de3620eb8cfa96df"></a><!-- doxytag: member="CCfits::PHDU::write" ref="a9a62bc12990d9dc0de3620eb8cfa96df" args="(const std::vector&lt; long &gt; &amp;first, long nElements, const std::valarray&lt; S &gt; &amp;data)" -->
template&lt;typename S &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a9a62bc12990d9dc0de3620eb8cfa96df">write</a> (const std::vector&lt; long &gt; &amp;first, long nElements, const std::valarray&lt; S &gt; &amp;data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">write array starting from specified n-tuple, without undefined data processing <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename S &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#ad162386d06461d014092abeb6f3d03f0">write</a> (long first, long nElements, const std::valarray&lt; S &gt; &amp;data, S *nullValue)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">write array to image starting with a specified pixel and allowing undefined data to be processed  <a href="#ad162386d06461d014092abeb6f3d03f0"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename S &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a2a7dfaa22263656ba9db636f82b89850">write</a> (const std::vector&lt; long &gt; &amp;first, long nElements, const std::valarray&lt; S &gt; &amp;data, S *nullValue)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write a set of pixels to an image extension with the first pixel specified by an n-tuple, processing undefined data.  <a href="#a2a7dfaa22263656ba9db636f82b89850"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04b7249f250f651a96b6423930c6e4e2"></a><!-- doxytag: member="CCfits::PHDU::zero" ref="a04b7249f250f651a96b6423930c6e4e2" args="() const " -->
virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a04b7249f250f651a96b6423930c6e4e2">zero</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the BZERO keyword value <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#abcc25c1d318581d9b650a784b799285d">zero</a> (double value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the BZERO keyword value for images (see warning for images of int type)  <a href="#abcc25c1d318581d9b650a784b799285d"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a6edaf40ab3bc6b1450d41ba3f55485d1">PHDU</a> (FITSBase *p=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reading Primary <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> constructor.  <a href="#a6edaf40ab3bc6b1450d41ba3f55485d1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a567c35924aaecf4841e2a467667f2e76">PHDU</a> (FITSBase *p, int bpix, int naxis, const std::vector&lt; long &gt; &amp;axes)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writing Primary <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> constructor, called by PrimaryHDU&lt;T&gt; class.  <a href="#a567c35924aaecf4841e2a467667f2e76"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#abd7c1f8131fa1acd2c638a9b9372e55a">PHDU</a> (const <a class="el" href="classCCfits_1_1PHDU.html">PHDU</a> &amp;right)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy constructor  <a href="#abd7c1f8131fa1acd2c638a9b9372e55a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1PHDU.html#a04e290b1a4d638db9dee0e6a03d30ede">initRead</a> ()</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>class representing the primary <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> for a <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file.">FITS</a> file. </p>
<p>A <a class="el" href="classCCfits_1_1PHDU.html" title="class representing the primary HDU for a FITS file.">PHDU</a> object is automatically instantiated and added to a <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file.">FITS</a> object when a <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file.">FITS</a> file is accessed in any way. If a new file is created without specifying the data type for the header, CCfits assumes that the file is to be used for table extensions and creates a dummy header. <a class="el" href="classCCfits_1_1PHDU.html" title="class representing the primary HDU for a FITS file.">PHDU</a> instances are <em>only</em> created by <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file.">FITS</a> ctors. In the first release of CCfits, the Primary cannot be changed once declared.</p>
<p><a class="el" href="classCCfits_1_1PHDU.html" title="class representing the primary HDU for a FITS file.">PHDU</a> and <a class="el" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> provide the same interface to writing images: multiple overloads of the templated PHDU::read and <a class="el" href="classCCfits_1_1PHDU.html#a2a7dfaa22263656ba9db636f82b89850" title="Write a set of pixels to an image extension with the first pixel specified by an...">PHDU::write</a> operations provide for (a) writing image data specified in a number of ways [C-array, std::vector, std::valarray] and with input location specified by initial pixel, by n-tuple, and by rectangular subset [generalized slice]; (b) reading image data specified similarly to the write options into a std::valarray.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>Implement functions that allow replacement of the primary image</dd></dl>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aebb0d9bac5b961e7de036ad10f1a02c2"></a><!-- doxytag: member="CCfits::PHDU::~PHDU" ref="aebb0d9bac5b961e7de036ad10f1a02c2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCfits::PHDU::~PHDU </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>destructor </p>

<p><p>Destructor </p>
</p>

</div>
</div>
<a class="anchor" id="abd7c1f8131fa1acd2c638a9b9372e55a"></a><!-- doxytag: member="CCfits::PHDU::PHDU" ref="abd7c1f8131fa1acd2c638a9b9372e55a" args="(const PHDU &amp;right)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCfits::PHDU::PHDU </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCCfits_1_1PHDU.html">PHDU</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>right</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>copy constructor </p>
<p>required for cloning primary HDUs when copying <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file.">FITS</a> files. </p>

</div>
</div>
<a class="anchor" id="a567c35924aaecf4841e2a467667f2e76"></a><!-- doxytag: member="CCfits::PHDU::PHDU" ref="a567c35924aaecf4841e2a467667f2e76" args="(FITSBase *p, int bpix, int naxis, const std::vector&lt; long &gt; &amp;axes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCfits::PHDU::PHDU </td>
          <td>(</td>
          <td class="paramtype">FITSBase *&nbsp;</td>
          <td class="paramname"> <em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>bpix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>naxis</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; long &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>axes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writing Primary <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> constructor, called by PrimaryHDU&lt;T&gt; class. </p>
<p>Constructor used for creating new <a class="el" href="classCCfits_1_1PHDU.html" title="class representing the primary HDU for a FITS file.">PHDU</a> (i.e. for writing data to <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file.">FITS</a>). also doubles as default constructor since all arguments have default values, which are passed to the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> constructor </p>

</div>
</div>
<a class="anchor" id="a6edaf40ab3bc6b1450d41ba3f55485d1"></a><!-- doxytag: member="CCfits::PHDU::PHDU" ref="a6edaf40ab3bc6b1450d41ba3f55485d1" args="(FITSBase *p=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CCfits::PHDU::PHDU </td>
          <td>(</td>
          <td class="paramtype">FITSBase *&nbsp;</td>
          <td class="paramname"> <em>p</em> = <code>0</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reading Primary <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> constructor. </p>
<p>Constructor used when reading the primary <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> from an existing file. Does nothing except initialize, with the real work done by the subclass PrimaryHDU&lt;T&gt;. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a04e290b1a4d638db9dee0e6a03d30ede"></a><!-- doxytag: member="CCfits::PHDU::initRead" ref="a04e290b1a4d638db9dee0e6a03d30ede" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::PHDU::initRead </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><p>Read image header and update fits pointer accordingly.</p>
<p>Private: called by ctor.</p>
</p>

<p>Implements <a class="el" href="classCCfits_1_1HDU.html">CCfits::HDU</a>.</p>

</div>
</div>
<a class="anchor" id="a7d1b97ee19fbf6e2d9b700e0fd181fba"></a><!-- doxytag: member="CCfits::PHDU::read" ref="a7d1b97ee19fbf6e2d9b700e0fd181fba" args="(std::valarray&lt; S &gt; &amp;image, const std::vector&lt; long &gt; &amp;firstVertex, const std::vector&lt; long &gt; &amp;lastVertex, const std::vector&lt; long &gt; &amp;stride, S *nullValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::PHDU::read </td>
          <td>(</td>
          <td class="paramtype">std::valarray&lt; S &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; long &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>firstVertex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; long &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>lastVertex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; long &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">S *&nbsp;</td>
          <td class="paramname"> <em>nullValue</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>read an image subset into valarray image, processing null values </p>
<p>The image subset is defined by two vertices and a stride indicating the 'denseness' of the values to be picked in each dimension (a stride = (1,1,1,...) means picking every pixel in every dimension, whereas stride = (2,2,2,...) means picking every other value in each dimension. </p>

</div>
</div>
<a class="anchor" id="a0adff697d584756db2576b691e97d2af"></a><!-- doxytag: member="CCfits::PHDU::read" ref="a0adff697d584756db2576b691e97d2af" args="(std::valarray&lt; S &gt; &amp;image, const std::vector&lt; long &gt; &amp;first, long nElements, S *nullValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::PHDU::read </td>
          <td>(</td>
          <td class="paramtype">std::valarray&lt; S &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; long &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>nElements</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">S *&nbsp;</td>
          <td class="paramname"> <em>nullValue</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>read part of an image array, processing null values. </p>
<p>As above except for</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>first</em>&nbsp;</td><td>a vector&lt;long&gt; representing an n-tuple giving the coordinates in the image of the first pixel. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac074b0454bf0d2085d90ab4993062365"></a><!-- doxytag: member="CCfits::PHDU::read" ref="ac074b0454bf0d2085d90ab4993062365" args="(std::valarray&lt; S &gt; &amp;image, long first, long nElements, S *nullValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::PHDU::read </td>
          <td>(</td>
          <td class="paramtype">std::valarray&lt; S &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>nElements</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">S *&nbsp;</td>
          <td class="paramname"> <em>nullValue</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>read part of an image array, processing null values. </p>
<p>Implicit data conversion is supported (i.e. user does not need to know the type of the data stored. A WrongExtensionType extension is thrown if *this is not an image.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>The receiving container, a std::valarray reference </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>first</em>&nbsp;</td><td>The first pixel from the array to read [a long value] </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nElements</em>&nbsp;</td><td>The number of values to read </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nullValue</em>&nbsp;</td><td>A pointer containing the value in the table to be considered as undefined. See cfitsio for details </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a496d7e092054cb21565f4b1bf3d977f4"></a><!-- doxytag: member="CCfits::PHDU::readData" ref="a496d7e092054cb21565f4b1bf3d977f4" args="(bool readFlag=false, const std::vector&lt; String &gt; &amp;keys=std::vector&lt; String &gt;())=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::PHDU::readData </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>readFlag</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; String &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>keys</em> = <code>std::vector&lt;String&gt;()</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>read primary <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> data </p>
<p>Called by <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file.">FITS</a> ctor, not intended for general use. parameters control how much gets read on initialization. An abstract function, implemented in the subclasses.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>readFlag</em>&nbsp;</td><td>read the image data if true </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>a vector of strings of keyword names to be read from the primary <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a75f86db856e2cc7772a97d9ded3a633c"></a><!-- doxytag: member="CCfits::PHDU::scale" ref="a75f86db856e2cc7772a97d9ded3a633c" args="(double value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::PHDU::scale </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set the BSCALE keyword value for images (see warning for images of int type) </p>
<p>For primary HDUs and image extensions, this will add (or update) the BSCALE keyword in the header. The new setting will affect future image array read/writes as described in section 4.7 Data Scaling of the CFITSIO manual. For table extensions this function does nothing.</p>
<p>WARNING: If the image contains <b>integer-type data</b> (as indicated by the <a class="el" href="classCCfits_1_1HDU.html#a81a2d5b001c0ae7d0a298942940189d8" title="return the data type keyword.">bitpix()</a> return value), the new scale and zero value combination must not be such that the scaled data would require a floating-point type (this uses the CFITSIO function fits_get_img_equivtype to make the determination). If this situation occurs, the function will throw a <a class="el" href="classCCfits_1_1FitsException.html" title="FitsException is the base class for all exceptions thrown by this library.">FitsException</a>. </p>

<p>Reimplemented from <a class="el" href="classCCfits_1_1HDU.html#a6c8e0dc188f74f681f6bfe17819b2eb9">CCfits::HDU</a>.</p>

</div>
</div>
<a class="anchor" id="af73983e4398c0a4f1d8b30ff3193966b"></a><!-- doxytag: member="CCfits::PHDU::write" ref="af73983e4398c0a4f1d8b30ff3193966b" args="(const std::vector&lt; long &gt; &amp;firstVertex, const std::vector&lt; long &gt; &amp;lastVertex, const std::vector&lt; long &gt; &amp;stride, const std::valarray&lt; S &gt; &amp;data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::PHDU::write </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; long &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>firstVertex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; long &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>lastVertex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; long &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::valarray&lt; S &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>write a subset (generalize slice) of data to the image </p>
<p>A generalized slice/subset is a subset of the image (e.g. one plane of a data cube of size &lt;= the dimension of the cube). It is specified by two opposite vertices. The equivalent cfitsio call does not support undefined data processing so there is no version that allows a null value to be specified.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>firstVertex</em>&nbsp;</td><td>The coordinates specifying lower and upper vertices of the n-dimensional slice </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lastVertex</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stride</em>&nbsp;</td><td>Pixels to skip in each to dimension, e.g. stride = (1,1,1,...) means picking every pixel in every dimension, whearas stride = (2,2,2,...) means picking every other value in each dimension. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to be written </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad162386d06461d014092abeb6f3d03f0"></a><!-- doxytag: member="CCfits::PHDU::write" ref="ad162386d06461d014092abeb6f3d03f0" args="(long first, long nElements, const std::valarray&lt; S &gt; &amp;data, S *nullValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::PHDU::write </td>
          <td>(</td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>nElements</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::valarray&lt; S &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">S *&nbsp;</td>
          <td class="paramname"> <em>nullValue</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>write array to image starting with a specified pixel and allowing undefined data to be processed </p>
<p>parameters after the first are as for version with n-tuple specifying first element. these two version are equivalent, except that it is possible for the first pixel number to exceed the range of 32-bit integers, which is how long datatype is commonly implemented. </p>

</div>
</div>
<a class="anchor" id="a2a7dfaa22263656ba9db636f82b89850"></a><!-- doxytag: member="CCfits::PHDU::write" ref="a2a7dfaa22263656ba9db636f82b89850" args="(const std::vector&lt; long &gt; &amp;first, long nElements, const std::valarray&lt; S &gt; &amp;data, S *nullValue)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::PHDU::write </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; long &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>nElements</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::valarray&lt; S &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">S *&nbsp;</td>
          <td class="paramname"> <em>nullValue</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write a set of pixels to an image extension with the first pixel specified by an n-tuple, processing undefined data. </p>
<p>All the overloaded versions of <a class="el" href="classCCfits_1_1PHDU.html#a2a7dfaa22263656ba9db636f82b89850" title="Write a set of pixels to an image extension with the first pixel specified by an...">PHDU::write</a> perform operations on *this if it is an image and throw a WrongExtensionType exception if not. Where appropriate, alternate versions allow undefined data to be processed</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>first</em>&nbsp;</td><td>an n-tuple of dimension equal to the image dimension specifying the first pixel in the range to be written </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nElements</em>&nbsp;</td><td>number of pixels to be written </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>array of data to be written </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nullValue</em>&nbsp;</td><td>pointer to null value (data with this value written as undefined; needs the BLANK keyword to have been specified). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abcc25c1d318581d9b650a784b799285d"></a><!-- doxytag: member="CCfits::PHDU::zero" ref="abcc25c1d318581d9b650a784b799285d" args="(double value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::PHDU::zero </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set the BZERO keyword value for images (see warning for images of int type) </p>
<p>For primary HDUs and image extensions, this will add (or update) the BZERO keyword in the header. The new setting will affect future image array read/writes as described in section 4.7 Data Scaling of the CFITSIO manual. For table extensions this function does nothing.</p>
<p>WARNING: If the image contains <b>integer-type data</b> (as indicated by the <a class="el" href="classCCfits_1_1HDU.html#a81a2d5b001c0ae7d0a298942940189d8" title="return the data type keyword.">bitpix()</a> return value), the new scale and zero value combination must not be such that the scaled data would require a floating-point type (this uses the CFITSIO function fits_get_img_equivtype to make the determination). If this situation occurs, the function will throw a <a class="el" href="classCCfits_1_1FitsException.html" title="FitsException is the base class for all exceptions thrown by this library.">FitsException</a>. </p>

<p>Reimplemented from <a class="el" href="classCCfits_1_1HDU.html#a2fb3adf98e8cc736b200520afed61c13">CCfits::HDU</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="PHDU_8h_source.html">PHDU.h</a></li>
<li>PHDU.cxx</li>
<li><a class="el" href="PHDUT_8h_source.html">PHDUT.h</a></li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Sep 9 11:59:47 2009 for CCfits by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>