本文整理汇总了Python中reprep.Report.node方法的典型用法代码示例。如果您正苦于以下问题:Python Report.node方法的具体用法?Python Report.node怎么用?Python Report.node使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reprep.Report
的用法示例。
在下文中一共展示了Report.node方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: render_page
# 需要导入模块: from reprep import Report [as 别名]
# 或者: from reprep.Report import node [as 别名]
def render_page(view2result, outdir, page_id):
def iterate_views():
for view in views:
yield view, view2result[view.id]
# first compute max value
mean_max = max(map(lambda x: numpy.max(x[1].mean), iterate_views()))
var_max = max(map(lambda x: numpy.max(x[1].var), iterate_views()))
n = Report(page_id)
f = n.figure(cols=3)
for view, stats in iterate_views():
nv = n.node(view.id)
add_scaled(nv, 'mean', stats.mean, max_value=mean_max)
add_scaled(nv, 'var', stats.var, max_value=var_max)
#add_scaled(nv, 'min', stats.min)
#add_scaled(nv, 'max', stats.max)
for view in views:
what = 'mean'
#for what, view in prod(['mean', 'var'], views):
f.sub('%s/%s' % (view.id, what),
caption='%s (%s)' % (view.desc, what))
output_file = os.path.join(outdir, '%s.html' % n.id)
resources_dir = os.path.join(outdir, 'images')
print "Writing to %s" % output_file
n.to_html(output_file, resources_dir=resources_dir)
示例2: ReprepPublisher
# 需要导入模块: from reprep import Report [as 别名]
# 或者: from reprep.Report import node [as 别名]
class ReprepPublisher(Publisher):
default_max_cols = 5
def __init__(self, rid=None, report=None, cols=default_max_cols):
# TODO: clear up this interface
if report is None:
self.r = Report(rid)
else:
self.r = report
self.cols = cols
self._f = None
def fig(self):
''' Returns reference to current RepRep figure. '''
if self._f is None:
self._f = self.r.figure(cols=self.cols)
return self._f
@contract(name='str', value='array', caption='None|str')
def array(self, name, value, caption=None): # XXX to change
self.r.data(name, value, mime=MIME_PYTHON, caption=caption)
@contract(name='str', value='array', filter='str', caption='None|str')
def array_as_image(self, name, value,
filter='posneg', # @ReservedAssignment # XXX: config
filter_params={},
caption=None): # @ReservedAssignment
# try image XXX check uint8
# If this is RGB
if len(value.shape) == 3 and value.shape[2] == 3:
# zoom images smaller than 50
# if value.shape[0] < 50:
# value = zoom(value, 10)
self.fig().data_rgb(name, value, caption=caption)
else:
node = self.r.data(name, value, mime=MIME_PYTHON, caption=caption)
m = node.display(filter, **filter_params)
if caption is None:
caption = name
self.fig().sub(m, caption=caption)
@contract(name='str', value='str')
def text(self, name, value):
self.r.text(name, value)
@contextmanager
@contract(name='str', caption='None|str')
def plot(self, name, caption=None, **args):
f = self.fig()
# TODO: make a child of myself
with f.plot(name, caption=caption, **args) as pylab:
yield pylab
def section(self, section_name, cols=default_max_cols, caption=None):
child = self.r.node(section_name, caption=caption)
return ReprepPublisher(report=child, cols=cols)
示例3: create_and_write_report
# 需要导入模块: from reprep import Report [as 别名]
# 或者: from reprep.Report import node [as 别名]
def create_and_write_report(flydra_db, sample, image_name):
view_start = 'saccades_view_start_%s' % image_name
view_stop = 'saccades_view_stop_%s' % image_name
view_rstop = 'saccades_view_rstop_%s' % image_name
db = FlydraDB(flydra_db, False)
saccades = db.get_saccades(sample)
values_start = db.get_table(sample, view_start)
values_stop = db.get_table(sample, view_stop)
values_rstop = db.get_table(sample, view_rstop)
r = Report(sample)
for i in range(len(saccades)):
ri = r.node("saccade-%04d" % i)
ri.data_rgb('start', plot_luminance(values_start[i]['value']))
ri.data_rgb('stop', plot_luminance(values_stop[i]['value']))
ri.data_rgb('rstop', plot_luminance(values_rstop[i]['value']))
f = ri.figure(shape=(1, 3))
f.sub('start', 'At saccade start')
f.sub('stop', 'At saccade stop')
#f.sub('rstop', '(random stop)')
db.release_table(saccades)
db.release_table(values_start)
db.release_table(values_stop)
db.release_table(values_rstop)
filename = "%s/out/saccade_view_show/%s_%s.html" % (flydra_db, image_name, sample)
print "Writing to %s" % filename
r.to_html(filename)
示例4: plot_results
# 需要导入模块: from reprep import Report [as 别名]
# 或者: from reprep.Report import node [as 别名]
def plot_results(label, results):
iterations = results['iterations']
r = Report(label)
R = results['R']
gt_C = results['gt_C']
f = r.figure(cols=3, caption='Ground truth')
with r.data_pylab('r_vs_c') as pylab:
pylab.plot(gt_C.flat, R.flat, '.', markersize=0.2)
pylab.xlabel('real cosine')
pylab.ylabel('correlation measure')
pylab.axis((-1, 1, -1, 1))
f.sub('r_vs_c', 'Unknown function correlation -> cosine')
r.data('gt_C', gt_C).display('posneg', max_value=1).add_to(f, 'ground truth cosine matrix')
dist = numpy.real(numpy.arccos(gt_C))
r.data('gt_dist', dist).display('scale').add_to(f, 'ground truth distance matrix')
f = r.figure(cols=12)
R = results['R']
R_order = results['R_order']
for i, it in enumerate(iterations):
singular_values = it['singular_values']
coords = it['coords']
coords_proj = it['coords_proj']
estimated_C = it['estimated_C']
estimated_C_order = it['estimated_C_order']
check('array[MxN],(M=2|M=3)', coords)
rit = r.node('iteration%2d' % i)
rit.data('Cest', it['Cest']).display('posneg', max_value=1).add_to(f, 'Cest')
rit.data('dont_trust', it['dont_trust'] * 1.0).display('scale').add_to(f, 'trust')
rit.data('Cestn', it['Cestn']).display('posneg', max_value=1).add_to(f, 'Cestn')
dist = numpy.real(numpy.arccos(it['Cestn']))
rit.data('dist', dist).display('scale', max_value=numpy.pi).add_to(f, 'corresponding distance')
distp = propagate(dist)
rit.data('distp', distp).display('scale', max_value=numpy.pi).add_to(f, 'propagated distance')
n = rit.data('singular_values', singular_values)
with n.data_pylab('plot') as pylab:
s = singular_values
s = s / s[0]
pylab.plot(s[:15], 'x-')
f.sub(n, 'Singular values')
n = rit.data('coords', coords)
with n.data_pylab('plot') as pylab:
pylab.plot(coords[0, :], coords[1, :], '.')
pylab.axis('equal')
f.sub(n, 'Coordinates')
n = rit.data('coords_proj', coords)
with n.data_pylab('plot') as pylab:
pylab.plot(coords_proj[0, :], coords_proj[1, :], '.')
pylab.axis((-1, 1, -1, 1))
f.sub(n, 'Coordinates (projected)')
with n.data_pylab('r_vs_est_c') as pylab:
pylab.plot(estimated_C.flat, R.flat, '.', markersize=0.2)
pylab.ylabel('estimated cosine')
pylab.xlabel('correlation measure')
pylab.axis((-1, 1, -1, 1))
f.sub('r_vs_est_c', 'R vs estimated C')
with n.data_pylab('order_order') as pylab:
pylab.plot(estimated_C_order.flat, R_order.flat, '.', markersize=0.2)
pylab.ylabel('est C order')
pylab.xlabel('R order')
f.sub('order_order')
# XXX: if mistake: add_child, nothing happens
rit.data('estimated_C', estimated_C).display('posneg').add_to(f, 'estimated_C')
rit.data('Cest_new', it['Cest_new']).display('posneg', max_value=1).add_to(f, 'Cest_new')
return r
示例5: las_vegas_report
# 需要导入模块: from reprep import Report [as 别名]
# 或者: from reprep.Report import node [as 别名]
def las_vegas_report(outdir, page_id, results):
# threshold for considering 0 response
#eps = 0.0001
# eps = 0.001
# eps = 0
r = Report('lasvegas_' + page_id)
f = r.figure('summary', cols=4, caption='Response to various filters')
f_overlap = r.figure('summary-overlap', cols=4,
caption='Response area (overlap) of various filters')
kernels = sorted(results.keys())
for kernel in kernels:
sign = results[kernel]['signs']
response = results[kernel]['response']
# overlap = results[kernel]['overlap']
overlap = numpy.abs(response)
eps = percentile(overlap, 75)
matched_filter = results[kernel]['kernel']
left = numpy.nonzero(sign == +1)
right = numpy.nonzero(sign == -1)
response_right = response[right]
response_left = response[left]
n = r.node(kernel)
with n.data_pylab('response') as pylab:
try:
b = numpy.percentile(response_left, 95) #@UndefinedVariable
except:
b = scipy.stats.scoreatpercentile(response_left, 95)
def plothist(x, nbins, eps, **kwargs):
nz, = numpy.nonzero(numpy.abs(x) > eps)
# x with nonzero response
print "using %d/%d" % (len(nz), len(x))
xnz = x[nz]
hist, bin_edges = numpy.histogram(xnz, range=(-b, b), bins=nbins)
bins = (bin_edges[:-1] + bin_edges[1:]) * 0.5
pylab.plot(bins, hist, **kwargs)
nbins = 500
plothist(response_left, nbins, eps, label='left')
plothist(response_right, nbins, eps, label='right')
a = pylab.axis()
pylab.axis([-b, b, 0, a[-1]])
pylab.legend()
f.sub('%s/response' % kernel)
with n.data_pylab('overlap') as pylab:
def plothist2(x, nbins, **kwargs):
hist, bin_edges = numpy.histogram(x, bins=nbins)
bins = (bin_edges[:-1] + bin_edges[1:]) * 0.5
pylab.plot(bins, hist, **kwargs)
nbins = 200
# plothist2(overlap, nbins, label='overlap')
pylab.hist(overlap, nbins, log=True, label='hist of abs.response')
a = pylab.axis()
pylab.plot([ eps, eps], [a[2], a[3]], 'r-', label='threshold')
#pylab.axis([-b, b, 0, a[-1]])
pylab.legend()
f_overlap.sub('%s/overlap' % kernel)
def ratio2perc(i, n):
p = 100.0 * i / n
return "%.1f" % p
def perc(x):
pos, = numpy.nonzero(x)
return ratio2perc(len(pos), len(x))
cols = ['probability', 'no response', 'guessed L', 'guessed R']
rows = ['left saccade', 'right saccade']
table = [
[ perc(sign == +1), perc(numpy.abs(response_left) < eps),
perc(response_left > eps),
perc(response_left < -eps) ],
[ perc(sign == -1), perc(numpy.abs(response_right) < eps),
perc(response_right > eps),
perc(response_right < -eps) ],
]
n.table('performance', data=table, rows=rows, cols=cols)
use_eps = eps
total = len(sign)
given = numpy.abs(response) > use_eps
#.........这里部分代码省略.........
示例6: main
# 需要导入模块: from reprep import Report [as 别名]
# 或者: from reprep.Report import node [as 别名]
def main():
if not vehicles_has_cairo:
logger.error('This program cannot be run if Cairo is not installed.')
return
from vehicles_cairo import (vehicles_cairo_display_pdf,
vehicles_cairo_display_png,
vehicles_cairo_display_svg)
parser = OptionParser(usage=usage)
parser.disable_interspersed_args()
parser.add_option("--vehicle", default='d_SE2_rb_v-rf360',
help="ID vehicle [%default].")
parser.add_option("--world", default='stochastic_box_10',
help="ID world [%default].")
parser.add_option("-n", default=1, type='int',
help="number of simulations [%default].")
parser.add_option("--outdir", "-o", default='display_demo',
help="output directory [%default]")
parser.add_option("--figsize", default=10, type='float',
help="figsize (inches) [%default]")
parser.add_option("-z", "--zoom", default=0, type='float',
help="zoom in meters; 0 for full view [%default]")
parser.add_option("-g", "--grid", default=1, type='float',
help="grid size in meters; 0 for no grid [%default]")
parser.add_option("--cairo", default=False, action='store_true')
parser.add_option("--seed", default=None, type='int')
(options, args) = parser.parse_args()
if args:
raise Exception()
id_vehicle = options.vehicle
id_world = options.world
logger.info('id_vehicle: %s' % id_vehicle)
logger.info(' id_world: %s' % id_world)
if options.seed is None:
options.seed = np.random.randint(1000000)
np.random.seed(seed=options.seed)
logger.info('Using seed %s (your lucky number is %s)' %
(options.seed, np.random.randint(1000)))
vehicle = VehiclesConfig.vehicles.instance(id_vehicle) # @UndefinedVariable
world = VehiclesConfig.worlds.instance(id_world) # @UndefinedVariable
simulation = VehicleSimulation(vehicle, world)
from reprep import Report, MIME_PDF
basename = 'display-%s-%s' % (id_vehicle, id_world)
r = Report(basename)
r.text('seed', 'Seed = %s' % options.seed)
for i in range(options.n):
sec = r.node('simulation%d' % i)
f = sec.figure()
simulation.new_episode()
simulation.compute_observations()
sim_state = simulation.to_yaml()
plot_params = dict(grid=options.grid,
zoom=options.zoom, show_sensor_data=True)
# with f.plot('start', figsize=(options.figsize,
# options.figsize)) as pylab:
# display_all(pylab, sim_state, **plot_params)
with f.data_file('start_cairo_png', MIME_PNG) as filename:
vehicles_cairo_display_png(filename, width=800, height=800,
sim_state=sim_state, **plot_params)
with f.data_file('start_cairo_pdf', MIME_PDF) as filename:
vehicles_cairo_display_pdf(filename, width=800, height=800,
sim_state=sim_state, **plot_params)
with f.data_file('start_cairo_svg', MIME_SVG) as filename:
vehicles_cairo_display_svg(filename, width=800, height=800,
sim_state=sim_state, **plot_params)
filename = os.path.join(options.outdir, 'index.html')
logger.info('Writing to %r.' % filename)
r.to_html(filename)
示例7: inspect_textures
# 需要导入模块: from reprep import Report [as 别名]
# 或者: from reprep.Report import node [as 别名]
def inspect_textures():
parser = OptionParser(usage=usage)
parser.disable_interspersed_args()
parser.add_option("-w", "--world", default='stochastic_box_10',
help="ID world [%default].")
parser.add_option("-n", default=1, type='int',
help="number of simulations [%default].")
parser.add_option("--outdir", "-o", default='out-inspect_textures',
help="output directory [%default]")
parser.add_option("--figsize", default=1, type='float',
help="figsize (inches) [%default]")
parser.add_option("-z", "--zoom", default=0, type='float',
help="zoom in meters; 0 for full view [%default]")
(options, args) = parser.parse_args()
if args:
raise Exception() # XXX
id_world = options.world
logger.info(' id_world: %s' % id_world)
world = VehiclesConfig.worlds.instance(id_world) # @UndefinedVariable
from reprep import Report
basename = 'inspect_textures-%s' % (id_world)
r = Report(basename)
for i in range(options.n):
sec = r.node('simulation%d' % i)
world.new_episode()
primitives = world.get_primitives()
for p in primitives:
psec = sec.node('%s_%d' % (p.__class__.__name__, p.id_object))
psec.text('object', pformat(p.to_yaml()))
f = psec.figure(cols=2)
if not isinstance(p, GeometricShape):
continue
perimeter = p.get_perimeter()
texture = instantiate_spec(p.texture)
chunk_size = 10
nchunks = np.ceil(perimeter * 1.0 / chunk_size)
for c in range(int(nchunks)):
xfrom = c * chunk_size
xto = np.minimum(perimeter, xfrom + chunk_size)
N = 1000
x = np.linspace(xfrom, xto, N)
lum = texture(x)
with f.plot('chunk%s' % c,
figsize=(options.figsize * 10,
options.figsize)) as pylab:
pylab.plot(x, lum)
pylab.axis((xfrom, xfrom + chunk_size, -0.1, 1.1))
#
# if False:
# with f.data_pylab('pdf', mime=MIME_PDF,
# figsize=(options.figsize,
# options.figsize)) as pylab:
# display_all(pylab, sim_state, grid=1, zoom=0,
# show_sensor_data = True)
# f.last().add_to(f)
filename = os.path.join(options.outdir, 'index.html')
logger.info('Writing to %r.' % filename)
r.to_html(filename)
示例8: main
# 需要导入模块: from reprep import Report [as 别名]
# 或者: from reprep.Report import node [as 别名]
def main():
from vehicles_cairo import vehicles_has_cairo
if not vehicles_has_cairo:
logger.error('This program cannot be run if Cairo is not installed.')
return
from vehicles_cairo import (vehicles_cairo_display_pdf,
vehicles_cairo_display_png,
vehicles_cairo_display_svg,
cairo_plot_circle2)
parser = OptionParser(usage=usage)
parser.disable_interspersed_args()
parser.add_option("--vehicles", default='*',
help="ID vehicle [%default].")
parser.add_option("--world", default='SBox2_10a',
# default='empty_fixed',
help="ID world [%default].")
parser.add_option("--outdir", "-o",
default='vehicles_demo_display_vehicles',
help="output directory [%default]")
parser.add_option("--figsize", default=10, type='float',
help="figsize (inches) [%default]")
parser.add_option("-g", "--grid", default=1, type='float',
help="grid size in meters; 0 for no grid [%default]")
parser.add_option("-d", dest="config", default=".",
help="Config directory")
parser.add_option("--scale", default=False, action='store_true',
help="If given, displays the scale with a red circle")
(options, args) = parser.parse_args()
if args:
raise Exception() # XXX
id_world = options.world
logger.info(' id_world: %s' % id_world)
from reprep import Report, MIME_PDF
basename = 'vehicles_demo'
r = Report(basename)
logger.info('Loading configuration from %s' % options.config)
VehiclesConfig.load(options.config)
# TODO: selection
all_vehicles = VehiclesConfig.vehicles.keys()
if options.vehicles is None:
vehicles = all_vehicles
else:
vehicles = expand_string(options.vehicles, all_vehicles)
print('Plotting vehicles: %s' % vehicles)
f0 = r.figure(cols=6)
f0_data = r.figure(cols=6)
for id_vehicle in sorted(vehicles):
sec = r.node(id_vehicle)
f = sec.figure(cols=6)
world = VehiclesConfig.specs['worlds'].instance(id_world)
vehicle = VehiclesConfig.specs['vehicles'].instance(id_vehicle)
simulation = VehicleSimulation(vehicle, world)
simulation.new_episode()
simulation.compute_observations()
sim_state = simulation.to_yaml()
def draw_scale(cr):
if options.scale:
cairo_plot_circle2(cr, 0, 0,
vehicle.radius, fill_color=(1, .7, .7))
plot_params = dict(grid=options.grid,
zoom=1.5,
zoom_scale_radius=True,
width=500, height=500,
show_sensor_data=True,
show_sensor_data_compact=True,
extra_draw_world=draw_scale,
bgcolor=None,
show_world=False)
with f.data_file('png_with', MIME_PNG) as filename:
vehicles_cairo_display_png(filename,
sim_state=sim_state, **plot_params)
f0_data.sub(f.last(), caption=id_vehicle)
plot_params['show_sensor_data'] = False
with f.data_file('png_without', MIME_PNG) as filename:
vehicles_cairo_display_png(filename,
sim_state=sim_state, **plot_params)
f0.sub(f.last(), caption=id_vehicle)
with f.data_file('svg', MIME_SVG) as filename:
vehicles_cairo_display_svg(filename,
sim_state=sim_state, **plot_params)
#.........这里部分代码省略.........
示例9: add_comparisons
# 需要导入模块: from reprep import Report [as 别名]
# 或者: from reprep.Report import node [as 别名]
def add_comparisons(all_experiments, outdir):
r = Report('comparisons')
fmain = r.figure('summary', cols=3,
caption="Summary of projection analysis")
n = r.node('odds analysis')
fodds_real = n.figure('odds_real', cols=3,
caption="Summary of odds analysis (real)")
fodds_hall = n.figure('odds_hall', cols=3,
caption="Summary of odds analysis (hall)")
fodds_rel = n.figure('rel', cols=3, caption="Relative odds")
generic = r.node('generic')
if 1:
key = ('posts', 'contrast_w')
real_traj = all_experiments[key]
key = ('noposts', 'hcontrast_w')
hall_traj = all_experiments[key]
diff = real_traj.mean - hall_traj.mean
max_value = numpy.max(numpy.max(real_traj.mean),
numpy.max(hall_traj.mean))
add_scaled(generic, 'real_traj', real_traj.mean, max_value=max_value)
add_scaled(generic, 'hall_traj', hall_traj.mean, max_value=max_value)
add_posneg(generic, 'diff_traj', diff)
with generic.data_pylab('diff_traj_plot') as pylab:
pylab.plot(real_traj.mean, 'b.', label='real')
pylab.plot(hall_traj.mean, 'r.', label='hallucination')
f = generic.figure(cols=2)
f.sub('real_traj', caption='signal over all trajectory (real)')
f.sub('hall_traj', caption='signal over all trajectory (hallucinated)')
f.sub('diff_traj_plot', caption='real - hallucination')
f.sub('diff_traj', caption='real - hallucination')
for view, dir, saccades_set in \
prod(['start' ],
['left', 'right', 'alldir'],
['allsac', 'center', 'border']):
# statistics over the whole trajectory
key = Exp(image='contrast_w', group='posts',
view=view, dir=dir, saccades_set=saccades_set)
real = all_experiments[key]
key = Exp(image='hcontrast_w', group='noposts',
view=view, dir=dir, saccades_set=saccades_set)
hall = all_experiments[key]
case = r.node('analysis_%s_%s_%s' % (view, dir, saccades_set))
cased = " (%s, %s, %s)" % (dir, view, saccades_set)
diff = real.mean - hall.mean
max_value = numpy.max(numpy.max(real.mean),
numpy.max(hall.mean))
add_scaled(case, 'real', real.mean, max_value=max_value)
add_scaled(case, 'hall', hall.mean, max_value=max_value)
add_posneg(case, 'diff', diff)
max_value = numpy.max(numpy.max(real.var),
numpy.max(hall.var))
add_scaled(case, 'real_var', real.var, max_value=max_value)
add_scaled(case, 'hall_var', hall.var, max_value=max_value)
real_minus_traj = real.mean - real_traj.mean
hall_minus_traj = hall.mean - hall_traj.mean
rmt_minus_hmt = numpy.maximum(0, real_minus_traj) - \
numpy.maximum(0, hall_minus_traj)
M = numpy.max(numpy.abs(real_minus_traj).max(),
numpy.abs(hall_minus_traj).max())
add_posneg(case, 'real_minus_traj', real_minus_traj, max_value=M)
add_posneg(case, 'hall_minus_traj', hall_minus_traj, max_value=M)
add_posneg(case, 'rmt_minus_hmt', rmt_minus_hmt)
from scipy import polyfit
(ar, br) = polyfit(real.mean, hall.mean, 1)
case.text('case', 'Best linear fit: a = %f, b = %f.' % (ar, br))
diffr = (ar * real.mean + br) - hall.mean
add_posneg(case, 'diffr', diffr)
diffn = diff / numpy.sqrt(hall.var)
add_posneg(case, 'diffn', diffn)
with case.data_pylab('diffn_plot') as pylab:
pylab.plot(diffn, 'k.')
with case.data_pylab('linear-fit') as pylab:
pylab.plot(real.mean, hall.mean, '.')
pylab.plot(real.mean, real.mean, 'k.')
#.........这里部分代码省略.........