This is the EDUSOFT call.
The F90 calling sequence is:
! Input arguments : integer :: edumode ! 0 diagnostic mode ! 1 timing mode ! 2 reduced imaging (threshold) mode ! 3 imaging mode type(edu_pattern) :: edupat(edu_npat) ! initialized by pat_init(). integer(kind=int32) :: dx ! x size of the input image. integer(kind=int32) :: dy ! y size of the input image. integer(kind=int16), dimension(dx,dy) :: im ! input image. integer(kind=int16) :: threshold ! EDU threshold. ! x EDU offset (must contain at least x0+dx data). integer(kind=int16), dimension(0:x0+dx-1) :: offX ! y EDU offset (must contain at least y0+dy data). integer(kind=int16), dimension(0:y0+dy-1) :: offY ! x coordinate of the closest pixel to the output CCD node. integer(kind=int32) :: x0 ! y coordinate of the closest pixel to the output CCD node. integer(kind=int32) :: y0 ! es_nmax : Maximum number of events that can be found in a frame by EDUSOFT. ! (See declaration subsection). ! Output argument : ! Data structure containing the EDUSOFT output event list. type(edu_out) :: eduout call edusoft(edumode,edupat,dx,dy,im,threshold, & offX(0:x0+dx-1),offY(0:y0+dy-1),x0,y0,es_nmax,eduout)