Pro tvcosmicaccumulate,date=date,SingleImage=SingleImage,$
	       threshold=threshold,Bordersize=Bordersize,$
	       SearchRegion=Searchregion,VR=VR
If (not keyword_set(SingleImage)) then SingleImage = 1
If (not keyword_set(date)) then date = '11'
If (not keyword_set(Threshold)) then Threshold = 1500
If (not keyword_set(SubBack)) then SubBack = 0
If (not keyword_set(SearchRegion)) then SearchRegion = 5
If (not keyword_set(VR)) then VR = 7
If (not keyword_set(BorderSize)) then BorderSize = VR+1

;PRIMITIVE SUBTRACTION AND FLAT FIELD
CalibrationDir='/nfs/slac/g/ki/ki08/lsst/CPcampaign/SOAR/2005-05-09/'+$
	      'Calibration/Images/'
BiasFrameFile=CalibrationDir+'Zero09May2005.fits'
fits_read,BiasFrameFile,Bias,BiasHeader
FlatFrameFile=CalibrationDir+'SFlat_09May2005R.fits'
fits_read,FlatFrameFile,Flat,FlatHeader
FlatNormal=float(Flat)/max(Flat)
ZeroFrameFile='/nfs/slac/g/ki/ki08/lsst/CPcampaign/SOAR/2005-05-09/'+$
              'Raw/zero.1024.fits'
fits_read,ZeroFrameFile,ZeroFrame,ZeroHeader
;SOAR IMAGES IN RESPECTIVE 2005-05-{9,10,11,12} DIRECTORIES
SOARDir='/nfs/slac/g/ki/ki08/lsst/CPcampaign/SOAR/2005-05-'+Date+$
	'/Raw/'
SOARFiles=file_search(SOARDir+'*.fits',count=NumSOARFiles)
Naxis1=SXPAR(ZeroHeader,'NAXIS1')
Naxis2=SXPAR(ZeroHeader,'NAXIS2')
Im=fltarr(Naxis1,Naxis2)

!p.noerase=1
for i=0, 143 do begin; NumSOARFiles-2 do begin
  fits_read,SOARFiles(i),Im1,header1,/header_only
  ExpTime=SXPAR(header1,'EXPTIME')
  WindDir=SXPAR(header1,'WINDDIR')
  TimeObs=SXPAR(header1,'TIME-OBS')
  TelFocus=SXPAR(header1,'TELFOCUS')
  print,"File              =    " , SOARFILES(i)
  print,"Exposure Time     =    " , ExpTime
  print,"Observation Time  =  " , TimeObs
  print,"Telescope Focus   =   " , TelFocus

  ;Get rid of nasty pixels
  If ExpTime eq 30.0 then begin
     fits_read,SOARFiles(i),Im1,header1
     fits_read,SOARFiles(i+1),Im2,header2
     Diff=float(Im2)-float(Im1)
     DiffHist=histogram(Diff,Nbins=40,locations=locDiffHist)
     ImHist=histogram(Im1,Nbins=40,locations=locImHist)

     SatPix=where(Im1 gt 50000)
     Im1(SatPix)=0                  ;BAD PIXELS
     Im1(0:1536)=0                  ;TWO BAD ROWS
     DiffHist=histogram(Diff,Nbins=40,locations=locDiffHist)
     ImHist=histogram(Im1,Nbins=40,locations=locImHist)

     Hits=where(Im1 gt threshold)
     Im(Hits) = Im1(Hits)
     window,xsize=950,ysize=1024
     tvscl,congrid(Im,512,1024,/center)
     plot,locDiffHist,DiffHist,psym=10,xrange=[50,5000]
     plot,locImHist,ImHist,psym=10,xrange=[0,5000],$
                          position=[.6,.05,.95,.5]
  endif
endfor

Im1=Im
Im1MB=Im1(BorderSize-1:Naxis1-1-Bordersize,BorderSize-1:Naxis2-1-BorderSize)

Pass = 0
for i=-SearchRegion,SearchRegion do begin
  for j=-SearchRegion,SearchRegion do begin
    if not ((i eq 0) and (j eq 0)) then begin
      FirstCut=where(Im1MB gt Im1(Bordersize-1-i:Naxis2-1-BorderSize-i,$
                            BorderSize-1-j:Naxis2-1-BorderSize-j))
      if Pass eq 0 then begin
        Highest=FirstCut
      endif else begin
        Highest=[Highest,Firstcut]
        Highest=Highest(sort(Highest))
        Dups=where(Highest(0:N_elements(Highest)-2) eq Highest(1:N_elements(Highest)-1))
        Highest=Highest(Dups)
      endelse
      Pass=Pass+1
    endif
  endfor
endfor

stop

end
