def main():
    workDir = sys.argv[1]
    with open(workDir + "Input_Args.txt", "r") as inputFile:
        lines = inputFile.readlines()
        if len(lines) == 4:
            fileName1 = lines[0].strip("\n")
            fileName2 = lines[1].strip("\n")
            myROI = eval(lines[2])
            upsamplingFactor = eval(lines[3])
            rawStack1, rawStack2, sumImg1, sumImg2, diffImg, sx, sy = calc_DIFF_images(
                fileName1, fileName2, myROI, upsamplingFactor
            )
        elif len(lines) == 5:
            fileName1 = lines[0].strip("\n")
            fileName2 = lines[1].strip("\n")
            fileNameNorm = lines[2].strip("\n")
            myROI = eval(lines[3])
            upsamplingFactor = eval(lines[4])
            rawStack1, rawStack2, sumImg1, sumImg2, diffImg, sx, sy = calc_DIFF_images(
                fileName1, fileName2, fileNameNorm, myROI, upsamplingFactor
            )

    fileNameRoot1 = fileName1[fileName1.rfind("/") :].strip("/")
    fileNameRoot2 = fileName2[fileName2.rfind("/") :].strip("/")
    skimage.io.imsave(workDir + fileNameRoot1 + "_RAW_stack1.tif", rawStack1)
    skimage.io.imsave(workDir + fileNameRoot2 + "_RAW_stack2.tif", rawStack2)
    skimage.io.imsave(workDir + fileNameRoot1 + "_CORR1.tif", np.array(sumImg1))
    skimage.io.imsave(workDir + fileNameRoot2 + "_CORR2.tif", np.array(sumImg2))
    skimage.io.imsave(workDir + fileNameRoot1 + "_DIFF.tif", np.array(diffImg))
    xpeemreg.saveShifts(workDir, fileName1, sx, sy)
def main():
    workDir = sys.argv[1]
    with open(workDir+'Input_Args.txt','r') as inputFile:
        lines = inputFile.readlines()
        if len(lines) == 4:
            fileName1 = lines[0].strip('\n')
            fileName2 = lines[1].strip('\n')
            myROI = eval(lines[2])
            upsamplingFactor = eval(lines[3])
            rawStack1,rawStack2,corrStack1,corrStack2,diffStack,sx,sy = calc_DIFF_spectra(fileName1,fileName2,myROI,upsamplingFactor)
        elif len(lines) == 5:
            fileName1 = lines[0].strip('\n')
            fileName2 = lines[1].strip('\n')
            fileNameNorm = lines[2].strip('\n')
            myROI = eval(lines[3])
            upsamplingFactor = eval(lines[4])
            rawStack1,rawStack2,corrStack1,corrStack2,diffStack,sx,sy = calc_DIFF_spectra(fileName1,fileName2,fileNameNorm,myROI,upsamplingFactor)

    fileNameRoot1 = fileName1[fileName1.rfind('/'):].strip('/')
    fileNameRoot2 = fileName2[fileName2.rfind('/'):].strip('/')
    skimage.io.imsave(workDir+fileNameRoot1+'_RAW_stack1.tif',rawStack1)
    skimage.io.imsave(workDir+fileNameRoot2+'_RAW_stack2.tif',rawStack2)
    skimage.io.imsave(workDir+fileNameRoot1+'_CORR1.tif',np.array(corrStack1))
    skimage.io.imsave(workDir+fileNameRoot2+'_CORR2.tif',np.array(corrStack2))
    skimage.io.imsave(workDir+fileNameRoot1+'_DIFF.tif',np.array(diffStack))
    xpeemreg.saveShifts(workDir,fileName1,sx,sy)
 def load4files(self):
     self.loadContext = 'FOUR FILES'
     self.fileName1 = str(QtGui.QFileDialog.getOpenFileName(self,'Pick a DATA file',self.dataDirectory, 'NeXuS (*.nxs)'))
     self.noSlice1,self.imgStack1,self.myShape1,self.xValues1 = xpeem.loadHDF5(self.fileName1)
     if self.xValues1 == None:
         self.imageView.setImage(self.imgStack1)
     else:
         self.imageView.setImage(self.imgStack1,xvals=self.xValues1)
     self.changeLabelText(self.fileName1)
     self.fileName2 = str(QtGui.QFileDialog.getOpenFileName(self,'Pick a DATA file',self.dataDirectory, 'NeXuS (*.nxs)'))
     self.noSlice2,self.imgStack2,self.myShape2,self.xValues2 = xpeem.loadHDF5(self.fileName2)
     if self.xValues2 == None:
         self.imageView.setImage(self.imgStack2)
     else:
         self.imageView.setImage(self.imgStack2,xvals=self.xValues2)
     self.changeLabelText(self.fileName2)
     self.fileName3 = str(QtGui.QFileDialog.getOpenFileName(self,'Pick a DATA file',self.dataDirectory, 'NeXuS (*.nxs)'))
     self.noSlice3,self.imgStack3,self.myShape3,self.xValues3 = xpeem.loadHDF5(self.fileName3)
     if self.xValues3 == None:
         self.imageView.setImage(self.imgStack3)
     else:
         self.imageView.setImage(self.imgStack3,xvals=self.xValues3)
     self.changeLabelText(self.fileName3)
     self.fileName4 = str(QtGui.QFileDialog.getOpenFileName(self,'Pick a DATA file',self.dataDirectory, 'NeXuS (*.nxs)'))
     self.noSlice4,self.imgStack4,self.myShape4,self.xValues4 = xpeem.loadHDF5(self.fileName4)
     if self.xValues4 == None:
         self.imageView.setImage(self.imgStack4)
     else:
         self.imageView.setImage(self.imgStack4,xvals=self.xValues4)
     self.changeLabelText(self.fileName4)
def main():
    workDir = sys.argv[1]
    with open(workDir + 'Input_Args.txt', 'r') as inputFile:
        lines = inputFile.readlines()
        if len(lines) == 4:
            fileName1 = lines[0].strip('\n')
            fileName2 = lines[1].strip('\n')
            myROI = eval(lines[2])
            upsamplingFactor = eval(lines[3])
            rawStack1, rawStack2, sumImg1, sumImg2, diffImg, sx, sy = calc_DIFF_images(
                fileName1, fileName2, myROI, upsamplingFactor)
        elif len(lines) == 5:
            fileName1 = lines[0].strip('\n')
            fileName2 = lines[1].strip('\n')
            fileNameNorm = lines[2].strip('\n')
            myROI = eval(lines[3])
            upsamplingFactor = eval(lines[4])
            rawStack1, rawStack2, sumImg1, sumImg2, diffImg, sx, sy = calc_DIFF_images(
                fileName1, fileName2, fileNameNorm, myROI, upsamplingFactor)

    fileNameRoot1 = fileName1[fileName1.rfind('/'):].strip('/')
    fileNameRoot2 = fileName2[fileName2.rfind('/'):].strip('/')
    skimage.io.imsave(workDir + fileNameRoot1 + '_RAW_stack1.tif', rawStack1)
    skimage.io.imsave(workDir + fileNameRoot2 + '_RAW_stack2.tif', rawStack2)
    skimage.io.imsave(workDir + fileNameRoot1 + '_CORR1.tif',
                      np.array(sumImg1))
    skimage.io.imsave(workDir + fileNameRoot2 + '_CORR2.tif',
                      np.array(sumImg2))
    skimage.io.imsave(workDir + fileNameRoot1 + '_DIFF.tif', np.array(diffImg))
    xpeemreg.saveShifts(workDir, fileName1, sx, sy)
def calc_single_spectrum(*args):
    if len(args) == 3:
        noSlice,myImgStack,myShape,xValues = xpeemreg.loadHDF5(args[0])
        refImg = myImgStack[0]
        regImg,shiftX,shiftY = xpeemreg.reduce_DRIFT(noSlice,myImgStack,myShape,refImg,args[1],args[2])
    elif len(args) == 4:
        noSlice,myImgStack,myShape,xValues = xpeemreg.loadHDF5(args[0])
        refImg = myImgStack[0]
        noSliceNorm,imgStackNorm,myShapeNorm,xValuesNorm = xpeemreg.loadHDF5(args[1])
        imgNorm = np.sum(imgStackNorm,axis=0,dtype='float32')/len(imgStackNorm)
        imgNormStack = [myImgStack[theSlice].astype('float32')/imgNorm for theSlice in range(noSlice)]
        imgNormStack = np.array(imgNormStack)
        regImg,shiftX,shiftY = xpeemreg.reduce_DRIFT(noSlice,imgNormStack,myShape,refImg,args[2],args[3])
    return myImgStack,regImg,shiftX,shiftY
 def load4files(self):
     self.loadContext = 'FOUR FILES'
     self.fileName1 = str(
         QtGui.QFileDialog.getOpenFileName(self, 'Pick a DATA file',
                                           self.dataDirectory,
                                           'NeXuS (*.nxs)'))
     self.noSlice1, self.imgStack1, self.myShape1, self.xValues1 = xpeem.loadHDF5(
         self.fileName1)
     if self.xValues1 == None:
         self.imageView.setImage(self.imgStack1)
     else:
         self.imageView.setImage(self.imgStack1, xvals=self.xValues1)
     self.changeLabelText(self.fileName1)
     self.fileName2 = str(
         QtGui.QFileDialog.getOpenFileName(self, 'Pick a DATA file',
                                           self.dataDirectory,
                                           'NeXuS (*.nxs)'))
     self.noSlice2, self.imgStack2, self.myShape2, self.xValues2 = xpeem.loadHDF5(
         self.fileName2)
     if self.xValues2 == None:
         self.imageView.setImage(self.imgStack2)
     else:
         self.imageView.setImage(self.imgStack2, xvals=self.xValues2)
     self.changeLabelText(self.fileName2)
     self.fileName3 = str(
         QtGui.QFileDialog.getOpenFileName(self, 'Pick a DATA file',
                                           self.dataDirectory,
                                           'NeXuS (*.nxs)'))
     self.noSlice3, self.imgStack3, self.myShape3, self.xValues3 = xpeem.loadHDF5(
         self.fileName3)
     if self.xValues3 == None:
         self.imageView.setImage(self.imgStack3)
     else:
         self.imageView.setImage(self.imgStack3, xvals=self.xValues3)
     self.changeLabelText(self.fileName3)
     self.fileName4 = str(
         QtGui.QFileDialog.getOpenFileName(self, 'Pick a DATA file',
                                           self.dataDirectory,
                                           'NeXuS (*.nxs)'))
     self.noSlice4, self.imgStack4, self.myShape4, self.xValues4 = xpeem.loadHDF5(
         self.fileName4)
     if self.xValues4 == None:
         self.imageView.setImage(self.imgStack4)
     else:
         self.imageView.setImage(self.imgStack4, xvals=self.xValues4)
     self.changeLabelText(self.fileName4)
def calc_DIFF_images(*args):
    if len(args) == 4:
        noSlice1, myImgStack1, myShape1, xValues1 = xpeemreg.loadHDF5(args[0])
        noSlice2, myImgStack2, myShape2, xValues2 = xpeemreg.loadHDF5(args[1])
        noSlice = noSlice1 + noSlice2
        myImgStack = np.concatenate((myImgStack1, myImgStack2), axis=0)
        myShape = np.shape(myImgStack)
        refImg = myImgStack[0]
        regImg, shiftX, shiftY = xpeemreg.reduce_DRIFT(noSlice, myImgStack, myShape, refImg, args[2], args[3])
    elif len(args) == 5:
        noSlice1, myImgStack1, myShape1, xValues1 = xpeemreg.loadHDF5(args[0])
        noSlice2, myImgStack2, myShape2, xValues2 = xpeemreg.loadHDF5(args[1])
        noSlice = noSlice1 + noSlice2
        myImgStack = np.concatenate((myImgStack1, myImgStack2), axis=0)
        myShape = np.shape(myImgStack)
        refImg = myImgStack[0]
        noSliceNorm, imgStackNorm, myShapeNorm, xValuesNorm = xpeemreg.loadHDF5(args[2])
        imgNorm = np.sum(imgStackNorm, axis=0, dtype="float32") / len(imgStackNorm)
        imgNormStack = [myImgStack[theSlice].astype("float32") / imgNorm for theSlice in range(noSlice)]
        imgNormStack = np.array(imgNormStack)
        regImg, shiftX, shiftY = xpeemreg.reduce_DRIFT(noSlice, imgNormStack, myShape, refImg, args[3], args[4])
    regImg1 = regImg[: noSlice / 2]
    regImg2 = regImg[noSlice / 2 :]
    regImgSum1 = np.sum(regImg1, axis=0, dtype="float32") / (noSlice / 2)
    regImgSum2 = np.sum(regImg2, axis=0, dtype="float32") / (noSlice / 2)
    diffImgArray = (regImgSum1 - regImgSum2) / (regImgSum1 + regImgSum2)
    return myImgStack[: noSlice / 2], myImgStack[noSlice / 2 :], regImgSum1, regImgSum2, diffImgArray, shiftX, shiftY
def calc_DIFF_spectra(*args):
    if len(args) == 4:
        noSlice1,myImgStack1,myShape1,xValues1 = xpeemreg.loadHDF5(args[0])
        noSlice2,myImgStack2,myShape2,xValues2 = xpeemreg.loadHDF5(args[1])
        noSlice = noSlice1+noSlice2
        myImgStack = np.concatenate((myImgStack1,myImgStack2),axis=0)
        myShape = np.shape(myImgStack)
        refImg = myImgStack[0]
        regImg,shiftX,shiftY = xpeemreg.reduce_DRIFT(noSlice,myImgStack,myShape,refImg,args[2],args[3])
    elif len(args) == 5:
        noSlice1,myImgStack1,myShape1,xValues1 = xpeemreg.loadHDF5(args[0])
        noSlice2,myImgStack2,myShape2,xValues2 = xpeemreg.loadHDF5(args[1])
        noSlice = noSlice1+noSlice2
        myImgStack = np.concatenate((myImgStack1,myImgStack2),axis=0)
        myShape = np.shape(myImgStack)
        refImg = myImgStack[0]
        noSliceNorm,imgStackNorm,myShapeNorm,xValuesNorm = xpeemreg.loadHDF5(args[2])
        imgNorm = np.sum(imgStackNorm,axis=0,dtype='float32')/len(imgStackNorm)
        imgNormStack = [myImgStack[theSlice].astype('float32')/imgNorm for theSlice in range(noSlice)]
        imgNormStack = np.array(imgNormStack)
        regImg,shiftX,shiftY = xpeemreg.reduce_DRIFT(noSlice,imgNormStack,myShape,refImg,args[3],args[4])

    regImg1 = regImg[:noSlice/2]
    regImg2 = regImg[noSlice/2:]
    diffStack = [(regImg1[theSlice].astype('float32')-regImg2[theSlice].astype('float32'))/(regImg1[theSlice].astype('float32')+regImg2[theSlice].astype('float32')) for theSlice in range(noSlice/2)]
    return myImgStack[:noSlice/2],myImgStack[noSlice/2:],regImg1,regImg2,diffStack,shiftX,shiftY
 def load1file(self):
     self.loadContext = 'ONE FILE'
     self.fileName = str(QtGui.QFileDialog.getOpenFileName(self,'Pick a DATA file',self.dataDirectory, 'NeXuS HDF5 (*.nxs *.hdf5)'))
     self.noSlice,self.imgStack,self.myShape,self.xValues = xpeem.loadHDF5(self.fileName)
     if self.xValues == None:
         self.imageView.setImage(self.imgStack)
     else:
         self.imageView.setImage(self.imgStack,xvals=self.xValues)
     self.changeLabelText(self.fileName)
Beispiel #10
0
def main():
    workDir = sys.argv[1]
    with open(workDir + 'Input_Args.txt', 'r') as inputFile:
        lines = inputFile.readlines()
        if len(lines) == 6:
            fileName1 = lines[0].strip('\n')
            fileName2 = lines[1].strip('\n')
            fileName3 = lines[2].strip('\n')
            fileName4 = lines[3].strip('\n')
            myROI = eval(lines[4])
            upsamplingFactor = eval(lines[5])
            rawStack1, rawStack2, rawStack3, rawStack4, sumImg1, sumImg2, sumImg3, sumImg4, diffImg, sx, sy = calc_ABS_NORM_DIFF_images(
                fileName1, fileName2, fileName3, fileName4, myROI,
                upsamplingFactor)
        elif len(lines) == 7:
            fileName1 = lines[0].strip('\n')
            fileName2 = lines[1].strip('\n')
            fileName3 = lines[2].strip('\n')
            fileName4 = lines[3].strip('\n')
            fileNameNorm = lines[4].strip('\n')
            myROI = eval(lines[5])
            upsamplingFactor = eval(lines[6])
            rawStack1, rawStack2, rawStack3, rawStack4, sumImg1, sumImg2, sumImg3, sumImg4, diffImg, sx, sy = calc_ABS_NORM_DIFF_images(
                fileName1, fileName2, fileName3, fileName4, fileNameNorm,
                myROI, upsamplingFactor)

    fileNameRoot1 = fileName1[fileName1.rfind('/'):].strip('/')
    fileNameRoot2 = fileName2[fileName2.rfind('/'):].strip('/')
    fileNameRoot3 = fileName3[fileName3.rfind('/'):].strip('/')
    fileNameRoot4 = fileName4[fileName4.rfind('/'):].strip('/')
    skimage.io.imsave(workDir + fileNameRoot1 + '_RAW_stack1.tif', rawStack1)
    skimage.io.imsave(workDir + fileNameRoot2 + '_RAW_stack2.tif', rawStack2)
    skimage.io.imsave(workDir + fileNameRoot3 + '_RAW_stack3.tif', rawStack3)
    skimage.io.imsave(workDir + fileNameRoot4 + '_RAW_stack4.tif', rawStack4)
    skimage.io.imsave(workDir + fileNameRoot1 + '_CORR1.tif',
                      np.array(sumImg1))
    skimage.io.imsave(workDir + fileNameRoot2 + '_CORR2.tif',
                      np.array(sumImg2))
    skimage.io.imsave(workDir + fileNameRoot3 + '_CORR3.tif',
                      np.array(sumImg3))
    skimage.io.imsave(workDir + fileNameRoot4 + '_CORR4.tif',
                      np.array(sumImg4))
    skimage.io.imsave(workDir + fileNameRoot1 + '_DIFF.tif', np.array(diffImg))
    xpeemreg.saveShifts(workDir, fileName1, sx, sy)
 def loadNormFile(self):
     self.fileNameNorm = str(
         QtGui.QFileDialog.getOpenFileName(self,
                                           'Pick a NORMALIZATION file',
                                           self.dataDirectory,
                                           'NeXuS (*.nxs)'))
     self.noSliceNorm, self.imgStackNorm, self.myShapeNorm, self.xValuesNorm = xpeem.loadHDF5(
         self.fileNameNorm)
     self.imgNorm = np.sum(self.imgStackNorm, axis=0,
                           dtype='float32') / len(self.imgStackNorm)
 def load1file(self):
     self.loadContext = 'ONE FILE'
     self.fileName = str(
         QtGui.QFileDialog.getOpenFileName(self, 'Pick a DATA file',
                                           self.dataDirectory,
                                           'NeXuS HDF5 (*.nxs *.hdf5)'))
     self.noSlice, self.imgStack, self.myShape, self.xValues = xpeem.loadHDF5(
         self.fileName)
     if self.xValues == None:
         self.imageView.setImage(self.imgStack)
     else:
         self.imageView.setImage(self.imgStack, xvals=self.xValues)
     self.changeLabelText(self.fileName)
def main():
    workDir = sys.argv[1]
    with open(workDir+'Input_Args.txt','r') as inputFile:
        lines = inputFile.readlines()
        if len(lines) == 3:
            fileName = lines[0].strip('\n')
            myROI = eval(lines[1])
            upsamplingFactor = eval(lines[2])
            rawStack,corrStack,sx,sy = calc_single_spectrum(fileName,myROI,upsamplingFactor)
        elif len(lines) == 4:
            fileName = lines[0].strip('\n')
            fileNameNorm = lines[1].strip('\n')
            myROI = eval(lines[2])
            upsamplingFactor = eval(lines[3])
            rawStack,corrStack,sx,sy = calc_single_spectrum(fileName,fileNameNorm,myROI,upsamplingFactor)

    fileNameRoot = fileName[fileName.rfind('/'):].strip('/')
    #xpeemreg.apply_Mask(rawStack)
    #xpeemreg.apply_Mask(corrStack)
    skimage.io.imsave(workDir+fileNameRoot+'_RAW.tif',rawStack)
    skimage.io.imsave(workDir+fileNameRoot+'_CORR1.tif',np.array(corrStack))
    xpeemreg.saveShifts(workDir,fileName,sx,sy)
def main():
    workDir = sys.argv[1]
    with open(workDir+'Input_Args.txt','r') as inputFile:
        lines = inputFile.readlines()
        if len(lines) == 6:
            fileName1 = lines[0].strip('\n')
            fileName2 = lines[1].strip('\n')
            fileName3 = lines[2].strip('\n')
            fileName4 = lines[3].strip('\n')
            myROI = eval(lines[4])
            upsamplingFactor = eval(lines[5])
            rawStack1,rawStack2,rawStack3,rawStack4,sumImg1,sumImg2,sumImg3,sumImg4,diffImg,sx,sy = calc_ABS_NORM_DIFF_images(fileName1,fileName2,fileName3,fileName4,myROI,upsamplingFactor)
        elif len(lines) == 7:
            fileName1 = lines[0].strip('\n')
            fileName2 = lines[1].strip('\n')
            fileName3 = lines[2].strip('\n')
            fileName4 = lines[3].strip('\n')
            fileNameNorm = lines[4].strip('\n')
            myROI = eval(lines[5])
            upsamplingFactor = eval(lines[6])
            rawStack1,rawStack2,rawStack3,rawStack4,sumImg1,sumImg2,sumImg3,sumImg4,diffImg,sx,sy = calc_ABS_NORM_DIFF_images(fileName1,fileName2,fileName3,fileName4,fileNameNorm,myROI,upsamplingFactor)

    fileNameRoot1 = fileName1[fileName1.rfind('/'):].strip('/')
    fileNameRoot2 = fileName2[fileName2.rfind('/'):].strip('/')
    fileNameRoot3 = fileName3[fileName3.rfind('/'):].strip('/')
    fileNameRoot4 = fileName4[fileName4.rfind('/'):].strip('/')
    skimage.io.imsave(workDir+fileNameRoot1+'_RAW_stack1.tif',rawStack1)
    skimage.io.imsave(workDir+fileNameRoot2+'_RAW_stack2.tif',rawStack2)
    skimage.io.imsave(workDir+fileNameRoot3+'_RAW_stack3.tif',rawStack3)
    skimage.io.imsave(workDir+fileNameRoot4+'_RAW_stack4.tif',rawStack4)
    skimage.io.imsave(workDir+fileNameRoot1+'_CORR1.tif',np.array(sumImg1))
    skimage.io.imsave(workDir+fileNameRoot2+'_CORR2.tif',np.array(sumImg2))
    skimage.io.imsave(workDir+fileNameRoot3+'_CORR3.tif',np.array(sumImg3))
    skimage.io.imsave(workDir+fileNameRoot4+'_CORR4.tif',np.array(sumImg4))
    skimage.io.imsave(workDir+fileNameRoot1+'_DIFF.tif',np.array(diffImg))
    xpeemreg.saveShifts(workDir,fileName1,sx,sy)
Beispiel #15
0
def calc_ABS_NORM_DIFF_images(*args):
    if len(args) == 6:
        noSlice1, myImgStack1, myShape1, xValues1 = xpeemreg.loadHDF5(args[0])
        noSlice2, myImgStack2, myShape2, xValues2 = xpeemreg.loadHDF5(args[1])
        noSlice3, myImgStack3, myShape3, xValues3 = xpeemreg.loadHDF5(args[2])
        noSlice4, myImgStack4, myShape4, xValues4 = xpeemreg.loadHDF5(args[3])
        noSlice = noSlice1 + noSlice2 + noSlice3 + noSlice4
        myImgStack = np.concatenate(
            (myImgStack1, myImgStack2, myImgStack3, myImgStack4), axis=0)
        myShape = np.shape(myImgStack)
        refImg = myImgStack[0]
        regImg, shiftX, shiftY = xpeemreg.reduce_DRIFT(noSlice, myImgStack,
                                                       myShape, refImg,
                                                       args[4], args[5])
    elif len(args) == 7:
        noSlice1, myImgStack1, myShape1, xValues1 = xpeemreg.loadHDF5(args[0])
        noSlice2, myImgStack2, myShape2, xValues2 = xpeemreg.loadHDF5(args[1])
        noSlice3, myImgStack3, myShape3, xValues3 = xpeemreg.loadHDF5(args[2])
        noSlice4, myImgStack4, myShape4, xValues4 = xpeemreg.loadHDF5(args[3])
        noSlice = noSlice1 + noSlice2 + noSlice3 + noSlice4
        myImgStack = np.concatenate(
            (myImgStack1, myImgStack2, myImgStack3, myImgStack4), axis=0)
        myShape = np.shape(myImgStack)
        refImg = myImgStack[0]
        noSliceNorm, imgStackNorm, myShapeNorm, xValuesNorm = xpeemreg.loadHDF5(
            args[4])
        imgNorm = np.sum(imgStackNorm, axis=0,
                         dtype='float32') / len(imgStackNorm)
        imgNormStack = [
            myImgStack[theSlice].astype('float32') / imgNorm
            for theSlice in range(noSlice)
        ]
        imgNormStack = np.array(imgNormStack)
        regImg, shiftX, shiftY = xpeemreg.reduce_DRIFT(noSlice, imgNormStack,
                                                       myShape, refImg,
                                                       args[5], args[6])
    regImg1 = regImg[:noSlice / 4]
    regImg2 = regImg[noSlice / 4:2 * noSlice / 4]
    regImg3 = regImg[2 * noSlice / 4:3 * noSlice / 4]
    regImg4 = regImg[3 * noSlice / 4:]
    regImgSum1 = np.sum(regImg1, axis=0, dtype='float32') / (noSlice / 4)
    regImgSum2 = np.sum(regImg2, axis=0, dtype='float32') / (noSlice / 4)
    regImgSum3 = np.sum(regImg3, axis=0, dtype='float32') / (noSlice / 4)
    regImgSum4 = np.sum(regImg4, axis=0, dtype='float32') / (noSlice / 4)
    diffImgArray = ((regImgSum2 - regImgSum1) / (regImgSum2 + regImgSum1) -
                    (regImgSum4 - regImgSum3) / (regImgSum4 + regImgSum3))
    return myImgStack[:noSlice / 4], myImgStack[
        noSlice / 4:2 * noSlice /
        4], myImgStack[2 * noSlice / 4:3 * noSlice / 4], myImgStack[
            3 * noSlice /
            4:], regImgSum1, regImgSum2, regImgSum3, regImgSum4, diffImgArray, shiftX, shiftY
def calc_ABS_NORM_DIFF_images(*args):
    if len(args) == 6:
        noSlice1,myImgStack1,myShape1,xValues1 = xpeemreg.loadHDF5(args[0])
        noSlice2,myImgStack2,myShape2,xValues2 = xpeemreg.loadHDF5(args[1])
        noSlice3,myImgStack3,myShape3,xValues3 = xpeemreg.loadHDF5(args[2])
        noSlice4,myImgStack4,myShape4,xValues4 = xpeemreg.loadHDF5(args[3])
        noSlice = noSlice1+noSlice2+noSlice3+noSlice4
        myImgStack = np.concatenate((myImgStack1,myImgStack2,myImgStack3,myImgStack4),axis=0)
        myShape = np.shape(myImgStack)
        refImg = myImgStack[0]
        regImg,shiftX,shiftY = xpeemreg.reduce_DRIFT(noSlice,myImgStack,myShape,refImg,args[4],args[5])
    elif len(args) == 7:
        noSlice1,myImgStack1,myShape1,xValues1 = xpeemreg.loadHDF5(args[0])
        noSlice2,myImgStack2,myShape2,xValues2 = xpeemreg.loadHDF5(args[1])
        noSlice3,myImgStack3,myShape3,xValues3 = xpeemreg.loadHDF5(args[2])
        noSlice4,myImgStack4,myShape4,xValues4 = xpeemreg.loadHDF5(args[3])
        noSlice = noSlice1+noSlice2+noSlice3+noSlice4
        myImgStack = np.concatenate((myImgStack1,myImgStack2,myImgStack3,myImgStack4),axis=0)
        myShape = np.shape(myImgStack)
        refImg = myImgStack[0]
        noSliceNorm,imgStackNorm,myShapeNorm,xValuesNorm = xpeemreg.loadHDF5(args[4])
        imgNorm = np.sum(imgStackNorm,axis=0,dtype='float32')/len(imgStackNorm)
        imgNormStack = [myImgStack[theSlice].astype('float32')/imgNorm for theSlice in range(noSlice)]
        imgNormStack = np.array(imgNormStack)
        regImg,shiftX,shiftY = xpeemreg.reduce_DRIFT(noSlice,imgNormStack,myShape,refImg,args[5],args[6])
    regImg1 = regImg[:noSlice/4]
    regImg2 = regImg[noSlice/4:2*noSlice/4]
    regImg3 = regImg[2*noSlice/4:3*noSlice/4]
    regImg4 = regImg[3*noSlice/4:]
    regImgSum1 = np.sum(regImg1,axis=0,dtype='float32')/(noSlice/4)
    regImgSum2 = np.sum(regImg2,axis=0,dtype='float32')/(noSlice/4)
    regImgSum3 = np.sum(regImg3,axis=0,dtype='float32')/(noSlice/4)
    regImgSum4 = np.sum(regImg4,axis=0,dtype='float32')/(noSlice/4)
    diffImgArray = ((regImgSum2-regImgSum1)/(regImgSum2+regImgSum1)-(regImgSum4-regImgSum3)/(regImgSum4+regImgSum3))
    return myImgStack[:noSlice/4],myImgStack[noSlice/4:2*noSlice/4],myImgStack[2*noSlice/4:3*noSlice/4],myImgStack[3*noSlice/4:],regImgSum1,regImgSum2,regImgSum3,regImgSum4, diffImgArray,shiftX,shiftY
 def loadNormFile(self):
     self.fileNameNorm = str(QtGui.QFileDialog.getOpenFileName(self,'Pick a NORMALIZATION file',self.dataDirectory, 'NeXuS (*.nxs)'))
     self.noSliceNorm,self.imgStackNorm,self.myShapeNorm,self.xValuesNorm = xpeem.loadHDF5(self.fileNameNorm)
     self.imgNorm = np.sum(self.imgStackNorm,axis=0,dtype='float32')/len(self.imgStackNorm)