Пример #1
0
    Scale(InputWorkspace='reduced',OutputWorkspace='reduced',Factor=100)
    SaveFocusedXYE('reduced', Filename=os.path.join(outdir, output_file+'.xye'), SplitFiles=False, IncludeHeader=False)
    div = SavePlot1D('reduced', OutputType='plotly')
    request = publish_plot('HB2C', runNumber, files={'file': div})

else:  # Single Crystal

    with h5py.File(filename, 'r') as f:
        offset = decode(f['/entry/DASlogs/HB2C:Mot:s2.RBV/average_value'].value[0])
        title = decode(f['/entry/title'].value[0])
        mon = decode(f['/entry/monitor1/total_counts'].value[0])
        duration = decode(f['/entry/duration'].value[0])
        run_number = decode(f['/entry/run_number'].value[0])
        bc = np.zeros((512*480*8))
        for b in range(8):
            bc += np.bincount(f['/entry/bank'+str(b+1)+'_events/event_id'].value,
                              minlength=512*480*8)
        bc = bc.reshape((480*8, 512))
        bc = (bc[::4, ::4] + bc[1::4, ::4] + bc[2::4, ::4] + bc[3::4, ::4]
              + bc[::4, 1::4] + bc[1::4, 1::4] + bc[2::4, 1::4] + bc[3::4, 1::4]
              + bc[::4, 2::4] + bc[1::4, 2::4] + bc[2::4, 2::4] + bc[3::4, 2::4]
              + bc[::4, 3::4] + bc[1::4, 3::4] + bc[2::4, 3::4] + bc[3::4, 3::4])

    vanadium = get_vanadium(run_number, npy=True)
    vanadium_mon = 163519902  # ?
    bc = bc / vanadium * vanadium_mon / mon

    plot_heatmap(run_number,
                 np.linspace(120+offset, offset, 960), np.arange(0, 128), bc.T,
                 x_title=u'2theta', instrument='HB2C')