XMM-Newton SAS Home Page
XMM-Newton Science Analysis System


fitsutils (fitsutils-1.10.1) [xmmsas_20230412_1735-21.0.0]


getFitsVecStatInfo???

This function is a wrapper for the function ssclib/array_utils/getAryStatInfo for a 1-dimensional array, and so returns the structure aryStatInfo???T (See the documentation of ssclib), which contains the statistical information of the array.

The part `???' in the function names is either Double, Single, Int32/16/8.

The following is an example interface for the Double-type one. In other types, only the difference is the type of the returned variable (aryStatInfo???T).

  interface getFitsVecStatInfoDouble

    function getFitsVecStatDoubleName(setTabName, colName &
       , minAreaIndices, maxAreaIndices, valLower, valUpper, extNum, arMaskIn &
       , flagInfo) result(aryStatInfo)

      ! integer, parameter :: rankArin = 1
      type(aryStatInfoDoubleT) :: aryStatInfo     ! defined in array_utils
      character(*), intent(in) :: setTabName      ! "FITS.ds" or "FITS.ds:TAB"
      character(*), intent(in) :: colName
      integer(int32), intent(in), optional :: minAreaIndices(rankArin), maxAreaIndices(rankArin)
      real(double), intent(in), optional :: valLower, valUpper
      integer, intent(in), optional :: extNum
      logical, intent(in), optional :: arMaskIn(:)
      type(aryStatInfoFlagT), intent(in), optional :: flagInfo
    end function getFitsVecStatDoubleName

    function getFitsVecStatDoubleNameSimp(fitsSetTabName, colName &
       , minAreaIndex, maxAreaIndex, valLower, valUpper, extNum, arMaskIn &
       , flagInfo) result(aryStatInfo)
  
      ! integer, parameter :: rankArin = 1
      type(aryStatInfoDoubleT) :: aryStatInfo     ! defined in array_utils
      character(*), intent(in) :: fitsSetTabName  ! "FITS.ds" or "FITS.ds:TAB"
      character(*), intent(in) :: colName
      integer(int32), intent(in) :: minAreaIndex, maxAreaIndex
      real(double), intent(in), optional :: valLower, valUpper
      integer, intent(in), optional :: extNum
      logical, intent(in), optional :: arMaskIn(:)
      type(aryStatInfoFlagT), intent(in), optional :: flagInfo
    end function getFitsVecStatDoubleNameSimp

    function getFitsVecStatDoubleSet(inSet, colName, tabName, extNum &
       , minAreaIndices, maxAreaIndices, valLower, valUpper, arMaskIn &
       , flagInfo, strFileInfo) result(aryStatInfo)
  
      !integer, parameter :: rankArin = 1
      type(aryStatInfoDoubleT) :: aryStatInfo     ! defined in array_utils
      type(DataSetT), intent(in) :: inSet
      character(*), intent(in) :: colName
      character(*), intent(in), optional :: tabName       ! or extNum
      integer, intent(in), optional :: extNum             ! or tabName
      integer(int32), intent(in), optional :: minAreaIndices(rankArin), maxAreaIndices(rankArin)
      real(double), intent(in), optional :: valLower, valUpper
      logical, intent(in), optional :: arMaskIn(:)
      type(aryStatInfoFlagT), intent(in), optional :: flagInfo
      character(*), intent(in), optional :: strFileInfo
    end function getFitsVecStatDoubleSet

    function getFitsVecStatDoubleSetSimp(inSet, colName, tabName, extNum &
       , minAreaIndex, maxAreaIndex, valLower, valUpper, arMaskIn &
       , flagInfo, strFileInfo) result(aryStatInfo)
  
      !integer, parameter :: rankArin = 1
      type(aryStatInfoDoubleT) :: aryStatInfo     ! defined in array_utils
      type(DataSetT), intent(in) :: inSet
      character(*), intent(in) :: colName
      character(*), intent(in), optional :: tabName       ! or extNum
      integer, intent(in), optional :: extNum             ! or tabName
      integer(int32), intent(in) :: minAreaIndex, maxAreaIndex
      real(double), intent(in), optional :: valLower, valUpper
      logical, intent(in), optional :: arMaskIn(:)
      type(aryStatInfoFlagT), intent(in), optional :: flagInfo
      character(*), intent(in), optional :: strFileInfo
    end function getFitsVecStatDoubleSetSimp

    function getFitsVecStatDoubleTab(inTab, colName &
       , minAreaIndices, maxAreaIndices, valLower, valUpper, arMaskIn &
       , flagInfo, strFileInfo) result(aryStatInfo)
  
      !integer, parameter :: rankArin = 1
      type(aryStatInfoDoubleT) :: aryStatInfo     ! defined in array_utils
      type(TableT), intent(in) :: inTab
      character(*), intent(in) :: colName
      integer(int32), intent(in), optional :: minAreaIndices(rankArin), maxAreaIndices(rankArin)
      real(double), intent(in), optional :: valLower, valUpper
      logical, intent(in), optional :: arMaskIn(:)
      type(aryStatInfoFlagT), intent(in), optional :: flagInfo
      character(*), intent(in), optional :: strFileInfo
    end function getFitsVecStatDoubleTab
  
    function getFitsVecStatDoubleTabSimp(inTab, colName &
       , minAreaIndex, maxAreaIndex, valLower, valUpper, arMaskIn &
       , flagInfo, strFileInfo) result(aryStatInfo)
  
      !integer, parameter :: rankArin = 1
      type(aryStatInfoDoubleT) :: aryStatInfo     ! defined in array_utils
      type(TableT), intent(in) :: inTab
      character(*), intent(in) :: colName
      integer(int32) :: minAreaIndex, maxAreaIndex
      real(double), intent(in), optional :: valLower, valUpper
      logical, intent(in), optional :: arMaskIn(:)
      type(aryStatInfoFlagT), intent(in), optional :: flagInfo
      character(*), intent(in), optional :: strFileInfo
    end function getFitsVecStatDoubleTabSimp

  end interface

Note that the ranks of arMaskIn (if specified) and that of the input FITS file have to be identical.



XMM-Newton SOC -- 2023-04-16