Astro-FITS-CFITSIO

 view release on metacpan or  search on metacpan

CFITSIO.pm  view on Meta::CPAN

	       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',

CFITSIO.xs  view on Meta::CPAN

	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

CFITSIO.xs  view on Meta::CPAN

	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

CFITSIO.xs  view on Meta::CPAN

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

CFITSIO.xs  view on Meta::CPAN

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

CFITSIO.xs  view on Meta::CPAN

		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)) {

CFITSIO.xs  view on Meta::CPAN

		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);

CFITSIO.xs  view on Meta::CPAN

		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);

CFITSIO.xs  view on Meta::CPAN

				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) {

CFITSIO.xs  view on Meta::CPAN

				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) {

ChangeLog  view on Meta::CPAN

	* 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 )