Astro-FITS-CFITSIO
view release on metacpan or search on metacpan
ffikym => 'fits_insert_key_dblcmp',
ffdkey => 'fits_delete_key',
ffdrec => 'fits_delete_record',
ffghdn => 'fits_get_hdu_num',
ffghdt => 'fits_get_hdu_type',
ffghad => 'fits_get_hduaddr',
ffghadll => 'fits_get_hduaddrll',
ffghof => 'fits_get_hduoff',
ffgipr => 'fits_get_img_param',
ffgiprll => 'fits_get_img_paramll',
ffgidt => 'fits_get_img_type',
ffinttyp => 'fits_get_inttype',
ffgiet => 'fits_get_img_equivtype',
ffgidm => 'fits_get_img_dim',
ffgisz => 'fits_get_img_size',
ffgiszll => 'fits_get_img_sizell',
ffmahd => 'fits_movabs_hdu',
ffmrhd => 'fits_movrel_hdu',
ffmnhd => 'fits_movnam_hdu',
ffthdu => 'fits_get_num_hdus',
ffcrim => 'fits_create_img',
ffcrimll => 'fits_create_imgll',
ffcrtb => 'fits_create_tbl',
ffcpht => 'fits_copy_hdutab',
char * value
char &dtype = NO_INIT
int &status
ALIAS:
Astro::FITS::CFITSIO::fits_get_keytype = 1
OUTPUT:
dtype
status
int
ffgidt(fptr,bitpix,status)
fitsfile * fptr
int &bitpix = NO_INIT
int &status
ALIAS:
Astro::FITS::CFITSIO::fits_get_img_type = 1
fitsfilePtr::get_img_type = 2
OUTPUT:
bitpix
status
int &bitpix = NO_INIT
int &status
ALIAS:
Astro::FITS::CFITSIO::fits_get_img_equivtype = 1
fitsfilePtr::get_img_equivtype = 2
OUTPUT:
bitpix
status
int
ffgidm(fptr,naxis,status)
fitsfile * fptr
int &naxis = NO_INIT
int &status
ALIAS:
Astro::FITS::CFITSIO::fits_get_img_dim = 1
fitsfilePtr::get_img_dim = 2
OUTPUT:
naxis
status
ffgisz(fptr,naxes,status)
FitsFile * fptr
long *naxes = NO_INIT
int status
ALIAS:
Astro::FITS::CFITSIO::fits_get_img_size = 1
fitsfilePtr::get_img_size = 2
PREINIT:
int nlen;
CODE:
RETVAL = ffgidm(fptr->fptr,&nlen,&status);
if (RETVAL <= 0) {
naxes = get_mortalspace(nlen,TLONG);
RETVAL = ffgisz(fptr->fptr,nlen,naxes,&status);
/* unpack as Perl array */
unpack1D(ST(1),naxes,nlen,TLONG,1);
}
OUTPUT:
status
RETVAL
ffgiszll(fptr,naxes,status)
FitsFile * fptr
LONGLONG *naxes = NO_INIT
int status
ALIAS:
Astro::FITS::CFITSIO::fits_get_img_sizell = 1
fitsfilePtr::get_img_sizell = 2
PREINIT:
int nlen;
CODE:
RETVAL = ffgidm(fptr->fptr,&nlen,&status);
if (RETVAL <= 0) {
naxes = get_mortalspace(nlen,TLONGLONG);
RETVAL = ffgiszll(fptr->fptr,nlen,naxes,&status);
/* unpack as Perl array */
unpack1D(ST(1),naxes,nlen,TLONGLONG,1);
}
OUTPUT:
status
RETVAL
fitsfilePtr::read_subset = 2
PREINIT:
long ndata, *naxes;
int i, naxis, storage_dtype;
CODE:
storage_dtype = dtype;
if (dtype == TBIT)
storage_dtype = TLOGICAL;
/* get the size of the image */
RETVAL = ffgidm(fptr->fptr, &naxis, &status);
naxes = get_mortalspace(naxis, TLONG);
RETVAL = ffgisz(fptr->fptr, naxis, naxes, &status);
/* determine the number of pixels to be read */
ndata = 1;
for (i=0; i<naxis; i++)
ndata *= (trc[i]-blc[i]+1)/inc[i] +
(((trc[i]-blc[i]+1) % inc[i]) ? 1 : 0);
if (!PERLYUNPACKING(fptr->perlyunpacking)) {
int i;
CODE:
if (!PERLYUNPACKING(fptr->perlyunpacking)) {
SvGROW(ST(5),nelem*sizeof_datatype(dtype));
RETVAL = ffgpxv(fptr->fptr, dtype, fpix, nelem, (nulval!=&PL_sv_undef ? pack1D(nulval, dtype) : NULL), (void*)SvPV(ST(5),PL_na), &anynul, &status);
}
else {
/* find out how many elements are in the image,
* allocate space, read, unpack
*/
RETVAL = ffgidm(fptr->fptr, &naxis, &status);
if (status == 0) {
naxes = get_mortalspace(naxis, TLONG);
RETVAL = ffgisz(fptr->fptr, naxis, naxes, &status);
nelem_all = 1;
for (i=0; i<naxis; i++)
nelem_all *= naxes[i];
array=get_mortalspace(nelem_all,dtype);
RETVAL=ffgpxv(fptr->fptr, dtype, fpix, nelem, (nulval!=&PL_sv_undef ? pack1D(nulval, dtype) : NULL), array, &anynul, &status);
if (status == 0) {
order_reverse(naxis, naxes);
int i;
CODE:
if (!PERLYUNPACKING(fptr->perlyunpacking)) {
SvGROW(ST(5),nelem*sizeof_datatype(dtype));
RETVAL = ffgpxvll(fptr->fptr, dtype, fpix, nelem, (nulval!=&PL_sv_undef ? pack1D(nulval, dtype) : NULL), (void*)SvPV(ST(5),PL_na), &anynul, &status);
}
else {
/* find out how many elements are in the image,
* allocate space, read, unpack
*/
RETVAL = ffgidm(fptr->fptr, &naxis, &status);
if (status == 0) {
naxes = get_mortalspace(naxis, TLONGLONG);
RETVAL = ffgiszll(fptr->fptr, naxis, naxes, &status);
nelem_all = 1;
for (i=0; i<naxis; i++)
nelem_all *= naxes[i];
array=get_mortalspace(nelem_all,dtype);
RETVAL=ffgpxvll(fptr->fptr, dtype, fpix, nelem, (nulval!=&PL_sv_undef ? pack1D(nulval, dtype) : NULL), array, &anynul, &status);
if (status == 0) {
order_reversell(naxis, naxes);
nullarray = (logical*)SvPV(ST(5),PL_na);
}
else
nullarray = get_mortalspace(nelem,TLOGICAL);
RETVAL = ffgpxf(fptr->fptr,dtype,fpix,nelem,array,nullarray, &anynul,&status);
}
else {
/* find out how many elements are in the image,
* allocate space, read, unpack
*/
RETVAL = ffgidm(fptr->fptr, &naxis, &status);
if (status == 0) {
naxes = get_mortalspace(naxis, TLONG);
RETVAL = ffgisz(fptr->fptr, naxis, naxes, &status);
nelem_all = 1;
for (i=0; i<naxis; i++)
nelem_all *= naxes[i];
array=get_mortalspace(nelem_all,dtype);
nullarray=get_mortalspace(nelem_all,TLOGICAL);
RETVAL=ffgpxf(fptr->fptr,dtype,fpix,nelem,array,nullarray,&anynul,&status);
if (status == 0) {
nullarray = (logical*)SvPV(ST(5),PL_na);
}
else
nullarray = get_mortalspace(nelem,TLOGICAL);
RETVAL = ffgpxfll(fptr->fptr,dtype,fpix,nelem,array,nullarray, &anynul,&status);
}
else {
/* find out how many elements are in the image,
* allocate space, read, unpack
*/
RETVAL = ffgidm(fptr->fptr, &naxis, &status);
if (status == 0) {
naxes = get_mortalspace(naxis, TLONGLONG);
RETVAL = ffgiszll(fptr->fptr, naxis, naxes, &status);
nelem_all = 1;
for (i=0; i<naxis; i++)
nelem_all *= naxes[i];
array=get_mortalspace(nelem_all,dtype);
nullarray=get_mortalspace(nelem_all,TLOGICAL);
RETVAL=ffgpxfll(fptr->fptr,dtype,fpix,nelem,array,nullarray,&anynul,&status);
if (status == 0) {
* read_tblbytes(): Fixed compiler warning of incompatible pointers.
1999-09-28 Pete Ratzlaff <pratzlaff@cfa.harvard.edu>
* fits_get_hdu_num() now accepts undef argument. Useful since
its return value is the current HDU number, and setting the variable
inplace was redundant.
1999-09-21 Pete Ratzlaff <pratzlaff@cfa.harvard.edu>
* Added fits_null_check/ffnchk(), fits_get_img_type/ffgidt(),
fits_get_img_dim/ffgidm() and fits_get_img_size/ffgisz().
These are all new in CFITSIO v2.033
1999-09-14 Pete Ratzlaff <pratzlaff@cfa.harvard.edu>
* $VERSION = '0.92';
1999-09-13 Pete Ratzlaff <pratzlaff@cfa.harvard.edu>
* CFITSIO.xs: find_rows(), read_3d_TYP(), read_colnull_str(),
( run in 0.621 second using v1.01-cache-2.11-cpan-5735350b133 )