/* Information Choose the directory indicated when prompted. Again this is a text image which may be easily opened in other software. */ var calculateUncorrected=false; macro"PS_homoFRET_r"{ run("Set Measurements...", "redirect=None decimal=9"); dir0=getDirectory("Pick the directory parallel and perpendicular data") dir0List=getFileList(dir0); for(i=0;i=4){ time1ArrayPar[i]=getPixel(2,i); expt1ArrayPar[i]=getPixel(3,i); } if(width>=6){ time2ArrayPar[i]=getPixel(4,i); expt2ArrayPar[i]=getPixel(5,i); } if(width>=8){ time3ArrayPar[i]=getPixel(6,i); expt3ArrayPar[i]=getPixel(7,i); } if(width>=10){ time4ArrayPar[i]=getPixel(8,i); expt4ArrayPar[i]=getPixel(9,i); } if(width>=12){ time5ArrayPar[i]=getPixel(10,i); expt5ArrayPar[i]=getPixel(11,i); } if(width>=14){ time6ArrayPar[i]=getPixel(12,i); expt6ArrayPar[i]=getPixel(13,i); } if(width>=16){ time7ArrayPar[i]=getPixel(14,i); expt7ArrayPar[i]=getPixel(15,i); } if(width>=18){ time8ArrayPar[i]=getPixel(16,i); expt8ArrayPar[i]=getPixel(17,i); } if(width>=20){ time9ArrayPar[i]=getPixel(18,i); expt9ArrayPar[i]=getPixel(19,i); } if(width>=22){ time10ArrayPar[i]=getPixel(20,i); expt10ArrayPar[i]=getPixel(21,i); } } close(); //*******end parallel data into arrays**** //******************** put the Perpendicular data into arrays run("Text Image... ", "open=[PerpendicularOpenFilePath]"); PerpendicularDataFile=getImageID; //BaseFileName=File.nameWithoutExtension; getDimensions(width, height, channels, slices, frames); time1ArrayPer=newArray(height); expt1ArrayPer=newArray(height); time2ArrayPer=newArray(height); expt2ArrayPer=newArray(height); time3ArrayPer=newArray(height); expt3ArrayPer=newArray(height); time4ArrayPer=newArray(height); expt4ArrayPer=newArray(height); time5ArrayPer=newArray(height); expt5ArrayPer=newArray(height); time6ArrayPer=newArray(height); expt6ArrayPer=newArray(height); time7ArrayPer=newArray(height); expt7ArrayPer=newArray(height); time8ArrayPer=newArray(height); expt8ArrayPer=newArray(height); time9ArrayPer=newArray(height); expt9ArrayPer=newArray(height); time10ArrayPer=newArray(height); expt10ArrayPer=newArray(height); selectImage(PerpendicularDataFile); for(i=0;i=4){ time1ArrayPer[i]=getPixel(2,i); expt1ArrayPer[i]=getPixel(3,i); } if(width>=6){ time2ArrayPer[i]=getPixel(4,i); expt2ArrayPer[i]=getPixel(5,i); } if(width>=8){ time3ArrayPer[i]=getPixel(6,i); expt3ArrayPer[i]=getPixel(7,i); } if(width>=10){ time4ArrayPer[i]=getPixel(8,i); expt4ArrayPer[i]=getPixel(9,i); } if(width>=12){ time5ArrayPer[i]=getPixel(10,i); expt5ArrayPer[i]=getPixel(11,i); } if(width>=14){ time6ArrayPer[i]=getPixel(12,i); expt6ArrayPer[i]=getPixel(13,i); } if(width>=16){ time7ArrayPer[i]=getPixel(14,i); expt7ArrayPer[i]=getPixel(15,i); } if(width>=18){ time8ArrayPer[i]=getPixel(16,i); expt8ArrayPer[i]=getPixel(17,i); } if(width>=20){ time9ArrayPer[i]=getPixel(18,i); expt9ArrayPer[i]=getPixel(19,i); } if(width>=22){ time10ArrayPer[i]=getPixel(20,i); expt10ArrayPer[i]=getPixel(21,i); } } close(); //*******end Perpendicular data into arrays**** tempArrayOfArraysPar=newArray("expt1ArrayPar","expt2ArrayPar","expt3ArrayPar","expt4ArrayPar","expt5ArrayPar","expt6ArrayPar","expt7ArrayPar","expt8ArrayPar","expt9ArrayPar","expt10ArrayPar"); tempArrayOfArraysPer=newArray("expt1ArrayPer","expt2ArrayPer","expt3ArrayPer","expt4ArrayPer","expt5ArrayPer","expt6ArrayPer","expt7ArrayPer","expt8ArrayPer","expt9ArrayPer","expt10ArrayPer"); tempArrayOfTimeArraysPar=newArray("time1ArrayPar","time2ArrayPar","time3ArrayPar","time4ArrayPar","time5ArrayPar","time6ArrayPar","time7ArrayPar","time8ArrayPar","time9ArrayPar","time10ArrayPar"); ArrayOfArraysPar=newArray(width/2-1); ArrayOfArraysPer=newArray(width/2-1); ArrayOfTimeArraysPar=newArray(width/2-1); for(i=0;itheCutOff && theArray[i]<=theCutOff) cutOffToReturn=i; } return cutOffToReturn; } function extractAnisotropyData(dir, exptN, exptArrayPar, exptArrayPer, gFac, ObjNA, refractiveIndex, timeArray){ anisotropy_data=File.open(dir+"expt"+exptN+"_anisotropy.txt"); print(anisotropy_data, "expt"+exptN+"_Time,"+"expt"+exptN+"_gFactor,"+"expt"+exptN+"_ParallelF,"+"expt"+exptN+"_PerpendicularF,"+"expt"+exptN+"_TotalF,"+"expt"+exptN+"_normalF,"+"expt"+exptN+"_Fluorophore_Photoswitched,"+"expt"+exptN+"_r,"+"expt"+exptN+"_corrected_r"); exptArray2GPer=Array.copy(exptArrayPer); exptArray2GPer=arrayMultiplyByValue(exptArray2GPer,2*gFac); exptArrayF=addTwoArrays(exptArrayPar,exptArray2GPer); Array.getStatistics(exptArrayF, min, max, mean, stdDev); exptArrayN=Array.copy(exptArrayF); exptArrayN=arrayDivideByValue(exptArrayN,max); exptArrayNPS=Array.copy(exptArrayN); exptArrayNPS=valueSubtractArray(1,exptArrayNPS); exptArrayR=calculateAnisotropyTwoArrays(exptArrayPar,exptArrayPer,gFac); exptArrayCR=calculateCorrectedAnisotropyTwoArrays(exptArrayPar,exptArrayPer,gFac,ObjNA,refractiveIndex); for(j=0;j