FCAP BASIC Pogram Example

------------------------------*------------------------------

REM ** EXAM_16.PRO **

REM Ctrl-Quad to 90% & calls two NonCtrl-s

SetFileTypes ListModeFile, "FCLM", "TEXT", "SFWF"
SelectFile ListModeFile, "Control LM file (4 parameters)"
SelectFile ListModeFile, "First LM file (4 parameters)"
SelectFile ListModeFile, "Second LM file (4 parameters)"
OpenLMFile "", "Control LM file (4 parameters)"
NewHgr 1, 2, "All[FS,SS]" of All
HgrName$="All[FS,SS]"
Classify
qhor=10:qver=10
minpercent=90:incr=300
SetQuadrant "All[FS,SS]",qhor, qver
if QuadPercent ("All[FS,SS]",3)>minpercent then goto @goodis
gosub @quadopt
@goodis:
ShowHgr "All[FS,SS]", 0.7, 5.3, 49.2, 49.2, MD
Print:print "Control LL Quadrant Statistics of histogram "+ HgrName$
print "Quadrant intersection at:"
print "   x = ";qhor
print "   y = ";qver
  print "(1) Number and Percent of Events:"
  print "  No. =";QuadEventNum ("All[FS,SS]",3);
  print ", ";QuadPercent ("All[FS,SS]",3);" %"
  print "(2) Mean +/- SD:"
  print "  Hor: ";QuadMean  ("All[FS,SS]",3,1);
  print " +/- ";QuadSD  ("All[FS,SS]",3,1)
  print "  Ver: ";QuadMean  ("All[FS,SS]",3,2);
  print " +/- ";QuadSD ("All[FS,SS]",3,2)
OpenLMFile "", "First LM file (4 parameters)"
gosub @quadstat
OpenLMFile "", "Second LM file (4 parameters)"
gosub @quadstat
end
@quadstat:
NewHgr 1, 2, "All[FS,SS]" of All
HgrName$="All[FS,SS]"
Classify
SetQuadrant "All[FS,SS]",qhor, qver
Print:print " Quadrant Statistics of histogram "+ HgrName$
print "Quadrant intersection at:"
print "   x = ";qhor
print "   y = ";qver
for i=1 to 4
  if i=1 then QName$="Upper Left":goto @tedd
  if i=2 then QName$="Upper Right":goto @tedd
  if i=3 then QName$="Lower Left":goto @tedd
  QName$="Lower Right"
@tedd:
Print:print QName$+" Quadrant"
  print "(1) Number and Percent of Events:"
  print "  No. =";QuadEventNum ("All[FS,SS]",i);

  print ", ";QuadPercent ("All[FS,SS]",i);" %"
  print "(2) Mean +/- SD:"
  print "  Hor: ";QuadMean  ("All[FS,SS]",i,1);
  print " +/- ";QuadSD  ("All[FS,SS]",i,1)
  print "  Ver: ";QuadMean  ("All[FS,SS]",i,2);
  print " +/- ";QuadSD ("All[FS,SS]",i,2)
next i
return

@quadopt:
    rem Subroutine: Finds quadrant intersection to have 90% of
    rem events in the lower right quadrant region
@setopt:
SetQuadrant "All[FS,SS]",qhor, qver
if QuadPercent ("All[FS,SS]",3)>minpercent then goto @lowerincr
SetQuadrant "All[FS,SS]",qhor+incr, qver
LLNohor=QuadEventNum ("All[FS,SS]",3)
SetQuadrant "All[FS,SS]",qhor, qver+incr
LLNover=QuadEventNum ("All[FS,SS]",3)
hincr=0:vincr=0
if LLNohor+LLNover=0 then hincr=incr:vincr=incr:goto @case0
if LLNohor>LLNover then  hincr=incr else vincr=incr
@case0:
qhor=qhor+hincr:qver=qver+vincr
if qhor>1023 then qhor=1023
if qver>1023 then qver=1023
goto @setopt
@lowerincr:
incr=incr/5
rem incr=int(incr)
if incr<2 then return
qhor=qhor-hincr:qver=qver-vincr
if qhor<10 then qhor=10
if qver<10 then qver=10
goto @setopt




Click here to Download FCAP BASIC Examples

Click here to Copy FCAP BASIC Examples from this CD-ROM

[------------------------------*------------------------------]

[SF Home Image]Soft Flow home page | List of Examples | Library of FCAP BASIC Applications


Last update on Friday, September 27, 1996