def _main_(args): #--------------------------------------------------------------------------- # TRACK LENGTH & WIDTH df = DataLoadUtils.getAnalysisData( analyzerClass=ComparisonAnalyzer, filename='Length-Width-Deviations.csv') df['site'] = df['Fingerprint'].str[:3] tracks = DataLoadUtils.getTrackWithAnalysis() df = pd.merge( df, tracks[['uid', 'width']], left_on='UID', right_on='uid') plotComparison( label='Width', key='Width Deviation', df=df[df['Width Deviation'] >= 0.0], binCount=10.0) plotComparison( label='Length', key='Length Deviation', df=df[df['Length Deviation'] >= 0.0], binCount=10.0) #--------------------------------------------------------------------------- # STRIDE LENGTH df = DataLoadUtils.getAnalysisData( analyzerClass=ValidationAnalyzer, filename='Stride-Length-Deviations.csv') df['site'] = df['Fingerprint'].str[:3] df = pd.merge( df, tracks[['uid', 'width']], left_on='UID', right_on='uid') plotComparison( label='Stride Length', key='Deviation', df=df, binCount=10.0) #--------------------------------------------------------------------------- # PACE LENGTH df = DataLoadUtils.getAnalysisData( analyzerClass=ValidationAnalyzer, filename='Pace-Length-Deviations.csv') df['site'] = df['Fingerprint'].str[:3] df = pd.merge( df, tracks[['uid', 'width']], left_on='UID', right_on='uid') plotComparison( label='Pace Length', key='Deviation', df=df, binCount=10.0)
def run(args): tracks = initialize() structure = {} #--- TRACK LENGTH & WIDTH ---# df = DataLoadUtils.getAnalysisData( analyzerClass=ComparisonAnalyzer, filename='Length-Width-Deviations.csv', renames={ 'Width Deviation':'widthDeviation', 'Length Deviation':'lengthDeviation', 'Fingerprint':'fingerprint', 'UID':'uid'}) df = pd.merge(df, tracks, left_on='uid', right_on='uid') structure['width'] = generateData( # Track Width name='width', key='widthDeviation', df=df.query('widthDeviation >= 0.0'), binCount=10.0) structure['length'] = generateData( # Track Length name='length', key='lengthDeviation', df=df.query('lengthDeviation >= 0.0'), binCount=10.0) #--- STRIDE LENGTH ---# df = DataLoadUtils.getAnalysisData( analyzerClass=ValidationAnalyzer, filename='Stride-Length-Deviations.csv', renames={'UID':'uid'}) df = pd.merge(df, tracks, on='uid') structure['stride'] = generateData('stride', df, 'Deviation', 10.0) #--- PACE LENGTH ---# df = DataLoadUtils.getAnalysisData( analyzerClass=ValidationAnalyzer, filename='Pace-Length-Deviations.csv', renames={'UID':'uid'}) df = pd.merge(df, tracks, on='uid') structure['pace'] = generateData('pace', df, 'Deviation', 10.0) writeStructureFile(structure) validate()
def initialize(): path = FileUtils.makeFolderPath(MY_DIR, 'data') SystemUtils.remove(path) os.makedirs(path) tracks = DataLoadUtils.getTrackWithAnalysis() return tracks[['uid', 'site', 'width', 'sizeClass']]
def _main_(args): tracks = DataLoadUtils.getTrackWithAnalysis() tracks = tracks[(tracks.width > 0) & (tracks.length > 0)] df = DataLoadUtils.getAnalysisData( analyzerClass=StatisticsAnalyzer, filename='Stride-Length-Quartiles.csv') makeNormalityScatter('Stride Length', df) df = DataLoadUtils.getAnalysisData( analyzerClass=StatisticsAnalyzer, filename='Pace-Length-Quartiles.csv') makeNormalityScatter('Pace Length', df) for site in tracks.site.unique(): dataSlice = tracks[(tracks.site == site) & tracks.pes] makeTrackwayBox( site=site, data=dataSlice, columnName='paceLength', errorColumnName='paceLengthUnc', trackwayData=df) df = DataLoadUtils.getAnalysisData( analyzerClass=StatisticsAnalyzer, filename='Manus-Width-Quartiles.csv') makeNormalityScatter('Manus Width', df) df = DataLoadUtils.getAnalysisData( analyzerClass=StatisticsAnalyzer, filename='Manus-Length-Quartiles.csv') makeNormalityScatter('Manus Length', df) df = DataLoadUtils.getAnalysisData( analyzerClass=StatisticsAnalyzer, filename='Pes-Length-Quartiles.csv') makeNormalityScatter('Pes Length', df) df = DataLoadUtils.getAnalysisData( analyzerClass=StatisticsAnalyzer, filename='Gauge-Quartiles.csv') makeNormalityScatter('Gauge', df) widthDFrame = DataLoadUtils.getAnalysisData( analyzerClass=StatisticsAnalyzer, filename='Pes-Width-Quartiles.csv') makeNormalityScatter('Pes Width', widthDFrame) for site in tracks.site.unique(): dataSlice = tracks[(tracks.site == site) & tracks.pes] makeTrackwayBox( site=site, data=dataSlice, columnName='width', errorColumnName='widthUncertainty', trackwayData=widthDFrame)
def _main_(args): tracks = DataLoadUtils.getTrackWithAnalysis() with open(METADATA_FILE, 'r') as f: metadata = json.loads(f.read()) doPlot = functools.partial( plotComparison, tracks=tracks, metadata=metadata) doPlot(name='width', label='Width') doPlot(name='length', label='Length') doPlot(name='stride', label='Stride Length') doPlot(name='pace', label='Pace Length')
def run(args): reporting.initialize(__file__) metadata = reporting.create_metadata_dict() tracks = DataLoadUtils.getTrackWithAnalysis() tracks = tracks.query('site == "BEB" and level == "500"').copy() tracks["number"] = tracks["number"].str.zfill(4) for trackwayNumber in tracks["trackwayNumber"].unique(): metadata[trackwayNumber] = generateData(tracks=tracks.query('trackwayNumber == "{}"'.format(trackwayNumber))) reporting.write_metadata_file(METADATA_FILE, metadata) reporting.validate_h5_data(OUT_PATH, test_key="/trackway/tw_1")
def __init__(self, **kwargs): """ Creates a new instance of AnalyzerBase. [cacheData] ~ Object | CacheData A caching object on which to store data during analysis at the analyzer level, instead of the stage level. [logger] ~ Logger A logger object to use for logging within this analyzer. If no such logger exists, a new logger is created. [logFolderPath] ~ String If no logger was specified for the analyzer, this is the absolute path to the folder where the log file should be written. This value is ignored if you specify a logger. """ self._tracksSession = None self._analysisSession = None self._cache = ConfigsDict(kwargs.get('cacheData')) self._logger = kwargs.get('logger') self._tempPath = kwargs.get('tempPath') self._stages = [] self._sitemaps = [] self._trackways = dict() self._seriesBundles = dict() self._plotFigures = dict() self._currentStage = None self._success = False self._errorMessage = None self._startTime = None if not self._logger: self._logger = Logger( name=self, logFolder=kwargs.get('logFolderPath'), printOut=True, headerless=True, removeIfExists=True, timestampFileSuffix=False) self._defaultRootPath = PyGlassEnvironment.getRootLocalResourcePath( 'analysis', isDir=True) self._settings = DataLoadUtils.getAnalysisSettings()
def _main_(args): tracks = DataLoadUtils.getTrackWithAnalysis() tracks = tracks[(tracks.length > 0) & (tracks.width > 0)] pesTracks = tracks[tracks.pes] makePlot('Pes', pesTracks) df = pesTracks makeHistograms( label='Pes Width', columnName='width', errorColumnName='widthUncertainty', tracks=df) makeStackedBars('Pes Width', 'width', df) df = pesTracks[pesTracks['strideLength'] > 0] makeHistograms( label='Stride Length', columnName='strideLength', errorColumnName='strideLengthUnc', tracks=df) makeStackedBars('Stride Length', 'strideLength', df) df = pesTracks[pesTracks['paceLength'] > 0] makeHistograms( label='Pace Length', columnName='paceLength', errorColumnName='paceLengthUnc', tracks=df) makeStackedBars('Pace Length', 'paceLength', df) manusTracks = tracks[~tracks.pes] makePlot('Manus', manusTracks) makeHistograms( label='Manus Width', columnName='width', errorColumnName='widthUncertainty', tracks=manusTracks) makeStackedBars('Manus Width', 'width', manusTracks)
def _main_(args): trackways = DataLoadUtils.getTrackwaysWithAnalysis() tracks = DataLoadUtils.getTrackWithAnalysis()
def _main_(args): dFrame = DataLoadUtils.getAnalysisData( analyzerClass=StatisticsAnalyzer, filename=TrackwayStatsStage.TRACKWAY_STATS_CSV) unweightedDFrame = DataLoadUtils.getAnalysisData( analyzerClass=StatisticsAnalyzer, filename=TrackwayStatsStage.UNWEIGHTED_TRACKWAY_STATS_CSV) for d in [dFrame, unweightedDFrame]: d['Sitemap Name'] = d['Name'].str[:3] d['Fractional Pes Width Uncertainty'] = \ 100.0*d['Pes Width Uncertainty']/d['Pes Width'] items = [ dict( label='Pes Width', colName='Pes Width', errColName='Pes Width Uncertainty'), dict( label='Manus Width', colName='Manus Width', errColName='Manus Width Uncertainty') ] for item in items: makeStackedBars( label='Unweighted %s' % item['label'], dataFrame=unweightedDFrame, columnName=item['colName'], errorColumnName=item['errColName']) makeStackedBars( label='Unweighted %s' % item['label'], dataFrame=unweightedDFrame, columnName=item['colName'], errorColumnName=item['errColName'], densityTraceFunction=getDensityDistributionTrace) makeStackedBars( label=item['label'], dataFrame=dFrame, columnName=item['colName'], errorColumnName=item['errColName']) makeStackedBars( label=item['label'], dataFrame=dFrame, columnName=item['colName'], errorColumnName=item['errColName'], densityTraceFunction=getDensityDistributionTrace) makeDensityDistribution( label=item['label'], dataFrame=dFrame, columnName=item['colName'], errorColumnName=item['errColName']) makeDensityDistributionComparison( label=item['label'], dataFrame=dFrame, unweightedDataFrame=unweightedDFrame, columnName=item['colName'], errorColumnName=item['errColName']) makeComparison( data=dFrame, unweightedData=unweightedDFrame, columnName=item['colName'], label=item['label']) makeComparison(dFrame, unweightedDFrame, 'Pes Length', 'Pes Length') makeComparison(dFrame, unweightedDFrame, 'Stride Length', 'Stride Length') makeComparison(dFrame, unweightedDFrame, 'Pace Length', 'Pace Length') for entry in [('', dFrame), ('Unweighted', unweightedDFrame)]: label = entry[0] d = entry[1] titlePrefix = ('%s ' % label) if label else '' prefix = ('%s-' % label.lower()) if label else '' makeTrackwayScatter( name='%strackway-count-width-unc' % prefix, data=d[(d['Pes Width'] > 0) & (d['Pes Length'] > 0)], xName='Length', yName='Fractional Pes Width Uncertainty', title='%sStandard Error Track Width vs Track Count' % titlePrefix, xLabel='Track Count (#)', yLabel='Track Width Uncertainty (%)') makeTrackwayScatter( name='%strackway-pes-length-width' % prefix, data=d[(d['Pes Width'] > 0) & (d['Pes Length'] > 0)], xName='Pes Width', yName='Pes Length', xErrName='Pes Width Uncertainty', yErrName='Pes Length Uncertainty', title='%sTrackway Pes Length vs Width' % titlePrefix, xLabel='Width (m)', yLabel='Length (m)') makeTrackwayScatter( name='%strackway-manus-length-width' % prefix, data=d[(d['Manus Width'] > 0) & (d['Manus Length'] > 0)], xName='Manus Width', yName='Manus Length', xErrName='Manus Width Uncertainty', yErrName='Manus Length Uncertainty', title='%sTrackway Manus Length vs Width' % titlePrefix, xLabel='Width (m)', yLabel='Length (m)')