dirName = '80percentNoO2Temp95'
dataDir = '/Users/Whatsgood/Desktop/' + dirName +'/'
# dataDir = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/' + dirName + '/'

avgRunDir = dataDir+'avgRunPSD'

if not os.path.exists(avgRunDir):
    os.makedirs(avgRunDir)
    
#Making Data Storage Directory
plotDir = dataDir+'plotData'

if not os.path.exists(plotDir):
    os.makedirs(plotDir)

trial = pf.piezoTrial(dataDir)
dataFile = trial.getFileNames()

lastRun = int(re.match( r'Run_(.*)_C', dataFile[len(dataFile)-1]).group(1))
# lastRun = 30


numberOfChannels = 8

def totalTimeContour(numberOfChannels, lastRun, chanNum):
    
    '''
    "totalTimeContour" computes and returns the freqRun, PSDRun, PSDaccRun, 
    freqTemp, freqTempAcc, maxFreq for a given channel number 
    ''' 
    
예제 #2
0
# dataDir0 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/50HO2Jan3/'
# dataDir0 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/65HO2Jan3/'
# dataDir0 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/80HO2Jan3/'

# dataDir1 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/20HO2Mar15/'
# dataDir1 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/35HO2Mar15/'
# dataDir1 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/50HO2Mar15/'
# dataDir1 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/65HO2Mar15/'
# dataDir1 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/80HO2Mar15/'

dataDir0 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/30NoO2Jan13/'
dataDir1 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/30NoO2Feb24/'
dataDir2 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/30HO2Mar6/'
dataDir3 = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/80NoO2May1/'

trial0 = pf.piezoTrial(dataDir0)
freq0,PSD0 = trial0.getAvgGroupPSD(m=6,n=5)

trial1 = pf.piezoTrial(dataDir1)
freq1,PSD1 = trial1.getAvgGroupPSD(m=6,n=5)

trial2 = pf.piezoTrial(dataDir2)
freq2,PSD2 = trial2.getAvgGroupPSD(m=6,n=5)
 
trial3 = pf.piezoTrial(dataDir3)
freq3,PSD3 = trial3.getAvgGroupPSD(m=6,n=5)
# 
# trial4 = rf.piezoTrial(dataDir4)
# freq4,PSD4 = trial4.getAvgGroupPSD(m=6,n=1)

font = {'family' : 'serif', 'size' : 16}
예제 #3
0
    def __init__(self, dataDir, numberOfChannels, outputDir,dataType, lastRun = None, fs = None):
        '''
        Constructor beef
        '''
        #Declaring Class Inputs
        self.dataDir = dataDir
        self.numberOfChannels = numberOfChannels
        self.outputDir = outputDir
        self.dataType = dataType
        self.lastRun = lastRun
        self.PSDTrue = None
        self.aliveChan = None
        
        #Sample frequency checksum
        if fs == None:
            self.fs = None
        else:
            self.fs = 1*10**5
        
        
        #Making Primary Processed Data Storage Directory
        self.plotDir = self.outputDir+'processedData/15_09_2014_butter_highcut_100000'+'/'
        
        if not os.path.exists(self.plotDir):
            os.makedirs(self.plotDir)
        print self.plotDir
        #Datatype declarations
        self.PSDType = False
        self.autoCorrType = False
        self.crossCorrType = False
        self.covarianceType = False
        self.saveChan = None
               
        #Data Processing type checksum
        if dataType == 'PSD':
            self.PSDType = True
            self.saveChan = self.plotDir + '/' + 'avePiezo' 
         
            if not os.path.exists(self.saveChan):
                os.makedirs(self.saveChan)
                
            print 'Datatype = PSD'
            
        elif dataType == 'autoCorr':
            self.autoCorrType = True
            self.saveChan = self.plotDir + '/' + 'autoCorr' 
         
            if not os.path.exists(self.saveChan):
                os.makedirs(self.saveChan)
                
            print 'Datatype = Auto Correlation'
        
        elif dataType == 'crossCorr':
            self.crossCorrType = True
            self.saveChan = self.plotDir + '/' + 'crossCorr' 
         
            if not os.path.exists(self.saveChan):
                os.makedirs(self.saveChan)
                
            print 'Datatype =  Cross Correlation'
        
        elif dataType == 'covariance':
            self.covarianceType = True
            print 'Datatype =  Covariance'
        
        else:
            raise Exception('Invalid dataType entry, currently available options: "PSD", "autoCorr", "crossCorr", "covariance"')
        
        #Checksums
        if self.numberOfChannels == 5:
            self.aliveChan = 3
        else:
            self.aliveChan = 6 
        
        #Declaring Class Global Variables
        self.dataFile = None
        self.channelList = None
        self.accelerometerList = None
        self.groupList = None
        
        #Piezos Class Global Variables
        self.maxFreq = None
        self.piezoFileName = None
        
        self.X = None
        self.Y = None
        self.Z = None
        
        #Accelerometer Class Global Variables
        self.accZ = None
        self.accY = None
        self.accX = None

        #Declaring Class Global Functions
        self.trial = pf.piezoTrial(self.dataDir, self.dataType, self.aliveChan, fs = self.fs)
예제 #4
0
파일: avgPSD.py 프로젝트: RothNRK/AEProc
import piezoFunctions as pf
import AEfunctions as AEf
import matplotlib.pyplot as plt


dataDir = '/home/nkippers/Documents/Projects/AcousticEmissions/AEdata/30NoO2Jan13/'
fileName = 'Run_346_Channel_0.txt'

piezoObj = pf.piezoTrial(dataDir)
freq,PSD = piezoObj.getAvgGroupPSD( m=1, n=1)
tau,R = piezoObj.getAvgGroupAutoCorr( m=1, n=1)

plt.plot(tau,R)
plt.xlim(-0.025,0.025)
# # plt.semilogy()
# plt.xlim(100,500000)
# plt.loglog()
plt.show()