def Lacosmic_WHTData(self, InputFile, OutputFile, Fits_Folder, CodeName, gain, readnoise, sigclip, verbose):

        #Load the data
        (array, header) = cosmics.fromfits(Fits_Folder + InputFile, verbose = verbose)
        upsample = 1

        #Create the task object
        c = cosmics.cosmicsimage(array, pssl = 0.0, gain=1.16, readnoise=5, sigclip = 16, verbose = verbose)

        #Run the task
        c.run(maxiter = 4, verbose = verbose)
        
        #Proceed to generate the images
        
        #-- 1) The raw input array
        im = f2n.f2nimage(c.getrawarray(), verbose=False)
        im.setzscale()
        im.makepilimage("log")
        im.upsample(upsample)
        im.writetitle("Input image", colour = (0,255,0))
        im.tonet(Fits_Folder + CodeName + "_1_raw.png")        
        
        #-- 2) The raw input array
        #-- We output a list of the positions of detected cosmic ray hits.
        #-- This is made on purpose to be fed into f2n's drawstarslist :
        labeldict = c.labelmask()
        im = f2n.f2nimage(c.getrawarray(), verbose=False)
        im.setzscale()
        im.makepilimage("log")
        im.drawmask(c.getsatstars(), colour=(255, 0, 255))
        im.upsample(upsample)
        im.drawstarslist(labeldict, colour=(255,0,0))
        im.writetitle("Cosmic ray hits", colour = (0,255,0))
        im.tonet(Fits_Folder + CodeName + "_2_labels.png")       

        #-- 3) Tne png with the precise mask in green and a wider version in blue :
        im = f2n.f2nimage(c.getrawarray(), verbose=False)
        im.setzscale()
        im.makepilimage("log")
        im.drawmask(c.getdilatedmask(size=5), colour=(0, 0, 255))
        im.drawmask(c.getmask(), colour=(0, 255, 0))
        im.upsample(upsample)
        im.writetitle("Mask", colour = (0,255,0))
        im.tonet(Fits_Folder + CodeName + "_3_mask.png")

        #-- 4) And of course one png with the clean array :
        im = f2n.f2nimage(c.getcleanarray(), verbose=False)
        im.setzscale()
        im.makepilimage("log")
        im.upsample(upsample)
        im.writetitle("Cleaned image", colour = (0,255,0))
        im.tonet(Fits_Folder + CodeName + "_4_clean.png")
        
        #Save the FitsFile (CHECK THE HEADER):
        cosmics.tofits(Fits_Folder + OutputFile, c.cleanarray, header)
        
        return
Demo_Input      = "obj8_c_f.fits"

# Read the FITS :
(array, header) = cosmics.fromfits(Demo_Folder + Demo_Input, verbose = True)

# We can of course crop the numpy array :
#array = array[100:500,210:525]

# z1=170
# z2=5000
upsample = 1

# Build the object :

c = cosmics.cosmicsimage(array, pssl = 0.0, gain=1.16, readnoise=5,
    sigclip = 16, verbose = True)

# Run :
c.run(maxiter = 4, verbose = False)

# And now we use f2n.py to make several PNG images :

# The raw input array :
im = f2n.f2nimage(c.getrawarray(), verbose=False)
im.setzscale()
im.makepilimage("log")
im.upsample(upsample)
im.writetitle("Input image", colour = (0,255,0))
im.tonet(Demo_Folder + "0_raw.png")