annotate python/pavement.py @ 434:9a714f32fc9f

small updates
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Sat, 30 Nov 2013 18:03:35 -0500
parents d40ad901b272
children 830136bc0e18
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
431
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
1 #! /usr/bin/env python
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
2 '''Tools for processing and analyzing pavement marking data'''
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
3
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
4 __metaclass__ = type
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
5
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
6 class RTSS:
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
7 'class for data related to a RTSS, including agregating pavement marking measurements'
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
8 pass
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
9
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
10 class MarkingTest:
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
11 '''class for a test site for a given product'''
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
12
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
13 def __init__(self, siteId, paintingDate, paintingType, color, data):
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
14 self.siteId = siteId
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
15 self.paintingDate = paintingDate
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
16 self.paintingType = paintingType
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
17 self.color = color
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
18 self.data = data
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
19 self.nMeasures = len(data)
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
20
432
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 431
diff changeset
21 def plot(self, measure, options = 'o', dayRatio = 1., **kwargs):
431
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
22 from matplotlib.pyplot import plot
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
23 plot(self.data['jours']/float(dayRatio),
432
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 431
diff changeset
24 self.data[measure], options, **kwargs)
431
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
25
434
9a714f32fc9f small updates
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 433
diff changeset
26 def getMarkingMeasures(self, dataLabel):
433
d40ad901b272 added kernel smoothing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 432
diff changeset
27 from numpy import isnan
d40ad901b272 added kernel smoothing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 432
diff changeset
28 nonZeroIndices = ~isnan(self.data[dataLabel])
d40ad901b272 added kernel smoothing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 432
diff changeset
29 return self.data[nonZeroIndices]['jours'], self.data[nonZeroIndices][dataLabel]
431
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
30
433
d40ad901b272 added kernel smoothing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 432
diff changeset
31 def plotMarkingMeasures(self, measure, options = 'o', dayRatio = 1., **kwargs):
431
0bcfa49d179a began module for pavement marking data processing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
32 for i in range(1,7):
433
d40ad901b272 added kernel smoothing
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 432
diff changeset
33 self.plot('{}_{}'.format(measure, i), options, dayRatio, **kwargs)