Created
March 6, 2019 21:24
-
-
Save mrakitin/13c810ef5dc8da722f80c4c200625e2d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Checking compatibility of the component names with the PVs\n", | |
"\n", | |
"## I'm on Ken's [#698](https://github.com/NSLS-II/ophyd/pull/698) PR branch" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import re" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import inflection" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import ophyd.areadetector.plugins" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'1.3.0.post345+gae31554'" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ophyd.__version__" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"with open(ophyd.areadetector.plugins.__file__, 'rt') as f:\n", | |
" content = f.readlines()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"d = []\n", | |
"for l in content:\n", | |
" if re.search('Cpt\\(', l):\n", | |
" d.append(l)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"pairs = {}\n", | |
"for l in d:\n", | |
" attr = l.split('=')[0].strip()\n", | |
" try:\n", | |
" value = l.split('Cpt(')[1].split(',')[1].split(\"'\")[1]\n", | |
" except IndexError:\n", | |
" value = ''\n", | |
" pairs[attr] = value" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{'array_counter': 'ArrayCounter',\n", | |
" 'array_rate': 'ArrayRate_RBV',\n", | |
" 'asyn_io': 'AsynIO',\n", | |
" 'nd_attributes_file': 'NDAttributesFile',\n", | |
" 'pool_alloc_buffers': 'PoolAllocBuffers',\n", | |
" 'pool_free_buffers': 'PoolFreeBuffers',\n", | |
" 'pool_max_buffers': 'PoolMaxBuffers',\n", | |
" 'pool_max_mem': 'PoolMaxMem',\n", | |
" 'pool_used_buffers': 'PoolUsedBuffers',\n", | |
" 'pool_used_mem': 'PoolUsedMem',\n", | |
" 'port_name': 'PortName_RBV',\n", | |
" 'width': 'ArraySize0',\n", | |
" 'height': 'ArraySize1',\n", | |
" 'depth': 'ArraySize2',\n", | |
" 'bayer_pattern': 'BayerPattern_RBV',\n", | |
" 'blocking_callbacks': 'BlockingCallbacks',\n", | |
" 'color_mode': 'ColorMode',\n", | |
" 'data_type': 'DataType',\n", | |
" 'dim0_sa': 'Dim0SA',\n", | |
" 'dim1_sa': 'Dim1SA',\n", | |
" 'dim2_sa': 'Dim2SA',\n", | |
" 'dimensions': '',\n", | |
" 'dropped_arrays': 'DroppedArrays',\n", | |
" 'enable': 'EnableCallbacks',\n", | |
" 'min_callback_time': '',\n", | |
" 'nd_array_address': 'NDArrayAddress',\n", | |
" 'nd_array_port': 'NDArrayPort',\n", | |
" 'ndimensions': '',\n", | |
" 'plugin_type': 'PluginType_RBV',\n", | |
" 'queue_free': 'QueueFree',\n", | |
" 'queue_free_low': 'QueueFreeLow',\n", | |
" 'queue_size': 'QueueSize',\n", | |
" 'queue_use': 'QueueUse',\n", | |
" 'queue_use_high': 'QueueUseHIGH',\n", | |
" 'queue_use_hihi': 'QueueUseHIHI',\n", | |
" 'time_stamp': 'TimeStamp_RBV',\n", | |
" 'unique_id': 'UniqueId_RBV',\n", | |
" 'array_data': 'ArrayData_RBV',\n", | |
" 'shaped_image': 'array_data',\n", | |
" 'bgd_width': '',\n", | |
" 'centroid_threshold': 'CentroidThreshold',\n", | |
" 'compute_centroid': 'ComputeCentroid',\n", | |
" 'compute_histogram': 'ComputeHistogram',\n", | |
" 'compute_profiles': 'ComputeProfiles',\n", | |
" 'compute_statistics': 'ComputeStatistics',\n", | |
" 'hist_entropy': '',\n", | |
" 'hist_max': 'HistMax',\n", | |
" 'hist_min': 'HistMin',\n", | |
" 'hist_size': 'HistSize',\n", | |
" 'histogram': 'Histogram_RBV',\n", | |
" 'max_value': '',\n", | |
" 'mean_value': '',\n", | |
" 'min_value': '',\n", | |
" 'net': '',\n", | |
" 'set_xhopr': 'SetXHOPR',\n", | |
" 'set_yhopr': 'SetYHOPR',\n", | |
" 'sigma_xy': '',\n", | |
" 'sigma_x': 'SigmaX_RBV',\n", | |
" 'sigma_y': 'SigmaY_RBV',\n", | |
" 'sigma': 'Sigma_RBV',\n", | |
" 'ts_acquiring': '',\n", | |
" 'ts_control': 'TSControl',\n", | |
" 'ts_current_point': 'TSCurrentPoint',\n", | |
" 'ts_max_value': '',\n", | |
" 'ts_mean_value': '',\n", | |
" 'ts_min_value': '',\n", | |
" 'ts_net': '',\n", | |
" 'ts_num_points': 'TSNumPoints',\n", | |
" 'ts_read': 'TSRead',\n", | |
" 'ts_sigma': 'TSSigma',\n", | |
" 'ts_sigma_x': 'TSSigmaX',\n", | |
" 'ts_sigma_xy': 'TSSigmaXY',\n", | |
" 'ts_sigma_y': 'TSSigmaY',\n", | |
" 'ts_total': '',\n", | |
" 'total': '',\n", | |
" 'color_mode_out': 'ColorModeOut',\n", | |
" 'false_color': 'FalseColor',\n", | |
" 'auto_offset_scale': 'AutoOffsetScale',\n", | |
" 'auto_reset_filter': 'AutoResetFilter',\n", | |
" 'average_seq': 'AverageSeq',\n", | |
" 'copy_to_filter_seq': 'CopyToFilterSeq',\n", | |
" 'data_type_out': 'DataTypeOut',\n", | |
" 'difference_seq': 'DifferenceSeq',\n", | |
" 'enable_background': 'EnableBackground',\n", | |
" 'enable_filter': 'EnableFilter',\n", | |
" 'enable_flat_field': 'EnableFlatField',\n", | |
" 'enable_high_clip': 'EnableHighClip',\n", | |
" 'enable_low_clip': 'EnableLowClip',\n", | |
" 'enable_offset_scale': 'EnableOffsetScale',\n", | |
" 'foffset': 'FOffset',\n", | |
" 'fscale': 'FScale',\n", | |
" 'filter_callbacks': 'FilterCallbacks',\n", | |
" 'filter_type': 'FilterType',\n", | |
" 'filter_type_seq': 'FilterTypeSeq',\n", | |
" 'high_clip': 'HighClip',\n", | |
" 'low_clip': 'LowClip',\n", | |
" 'num_filter': 'NumFilter',\n", | |
" 'num_filter_recip': 'NumFilterRecip',\n", | |
" 'num_filtered': 'NumFiltered_RBV',\n", | |
" 'o_offset': 'OOffset',\n", | |
" 'o_scale': 'OScale',\n", | |
" 'offset': 'Offset',\n", | |
" 'roffset': 'ROffset',\n", | |
" 'recursive_ave_diff_seq': 'RecursiveAveDiffSeq',\n", | |
" 'recursive_ave_seq': 'RecursiveAveSeq',\n", | |
" 'reset_filter': 'ResetFilter',\n", | |
" 'save_background': 'SaveBackground',\n", | |
" 'save_flat_field': 'SaveFlatField',\n", | |
" 'scale': 'Scale',\n", | |
" 'scale_flat_field': 'ScaleFlatField',\n", | |
" 'sum_seq': 'SumSeq',\n", | |
" 'valid_background': 'ValidBackground_RBV',\n", | |
" 'valid_flat_field': 'ValidFlatField_RBV',\n", | |
" 'blue': 'Blue',\n", | |
" 'draw_mode': 'DrawMode',\n", | |
" 'green': 'Green',\n", | |
" 'max_size_x': 'MaxSizeX',\n", | |
" 'max_size_y': 'MaxSizeY',\n", | |
" 'overlay_portname': 'Name',\n", | |
" 'position_x': 'PositionX',\n", | |
" 'position_y': 'PositionY',\n", | |
" 'position_xlink': 'PositionXLink',\n", | |
" 'position_ylink': 'PositionYLink',\n", | |
" 'red': 'Red',\n", | |
" 'shape': 'Shape',\n", | |
" 'size_x': 'SizeX',\n", | |
" 'size_y': 'SizeY',\n", | |
" 'size_xlink': 'SizeXLink',\n", | |
" 'size_ylink': 'SizeYLink',\n", | |
" 'use': '',\n", | |
" 'overlay_1': '1:',\n", | |
" 'overlay_2': '2:',\n", | |
" 'overlay_3': '3:',\n", | |
" 'overlay_4': '4:',\n", | |
" 'overlay_5': '5:',\n", | |
" 'overlay_6': '6:',\n", | |
" 'overlay_7': '7:',\n", | |
" 'overlay_8': '8:',\n", | |
" 'enable_scale': 'EnableScale',\n", | |
" 'name_': '',\n", | |
" 'origin_location': 'OriginLocation',\n", | |
" 'auto_increment': 'AutoIncrement',\n", | |
" 'auto_save': 'AutoSave',\n", | |
" 'capture': '',\n", | |
" 'delete_driver_file': 'DeleteDriverFile',\n", | |
" 'file_format': 'FileFormat',\n", | |
" 'file_name': 'FileName',\n", | |
" 'file_number': '',\n", | |
" 'file_number_sync': 'FileNumber_Sync',\n", | |
" 'file_number_write': 'FileNumber_write',\n", | |
" 'file_path': 'FilePath',\n", | |
" 'file_path_exists': 'FilePathExists_RBV',\n", | |
" 'file_template': 'FileTemplate',\n", | |
" 'file_write_mode': 'FileWriteMode',\n", | |
" 'full_file_name': 'FullFileName_RBV',\n", | |
" 'num_capture': 'NumCapture',\n", | |
" 'num_captured': 'NumCaptured_RBV',\n", | |
" 'read_file': 'ReadFile',\n", | |
" 'write_file': 'WriteFile',\n", | |
" 'write_message': 'WriteMessage',\n", | |
" 'write_status': 'WriteStatus',\n", | |
" 'jpeg_quality': '',\n", | |
" 'file_template_valid': 'FileTemplateValid',\n", | |
" 'template_file_name': 'TemplateFileName',\n", | |
" 'template_file_path': 'TemplateFilePath',\n", | |
" 'boundary_align': 'BoundaryAlign',\n", | |
" 'boundary_threshold': 'BoundaryThreshold',\n", | |
" 'compression': 'Compression',\n", | |
" 'data_bits_offset': 'DataBitsOffset',\n", | |
" 'io_speed': 'IOSpeed',\n", | |
" 'num_col_chunks': 'NumColChunks',\n", | |
" 'num_data_bits': 'NumDataBits',\n", | |
" 'num_extra_dims': 'NumExtraDims',\n", | |
" 'num_frames_chunks': 'NumFramesChunks',\n", | |
" 'num_frames_flush': 'NumFramesFlush',\n", | |
" 'num_row_chunks': 'NumRowChunks',\n", | |
" 'run_time': 'RunTime',\n", | |
" 'szip_num_pixels': 'SZipNumPixels',\n", | |
" 'store_attr': 'StoreAttr',\n", | |
" 'store_perform': 'StorePerform',\n", | |
" 'zlevel': 'ZLevel',\n", | |
" 'bit_depth': 'BitDepth',\n", | |
" 'compress_type': 'CompressType',\n", | |
" 'quality': 'Quality',\n", | |
" 'epics_ts_sec': '',\n", | |
" 'epics_ts_nsec': '',\n", | |
" 'ad_core_version': '',\n", | |
" 'array_callbacks': '',\n", | |
" 'array_size_int': '',\n", | |
" 'driver_version': '',\n", | |
" 'execution_time': '',\n", | |
" 'disordered_arrays': '',\n", | |
" 'dropped_output_arrays': '',\n", | |
" 'max_threads': '',\n", | |
" 'nd_attributes_macros': '',\n", | |
" 'nd_attributes_status': '',\n", | |
" 'num_threads': '',\n", | |
" 'process_plugin': '',\n", | |
" 'sort_free': '',\n", | |
" 'sort_free_low': '',\n", | |
" 'sort_mode': '',\n", | |
" 'sort_size': '',\n", | |
" 'sort_time': '',\n", | |
" 'empty_free_list': '',\n", | |
" 'num_queued_arrays': '',\n", | |
" 'max_array_rate': '',\n", | |
" 'max_array_rate_cout': '',\n", | |
" 'max_byte_rate': '',\n", | |
" 'lazy_open': '',\n", | |
" 'create_directory': '',\n", | |
" 'temp_suffix': '',\n", | |
" 'xml_error_msg': '',\n", | |
" 'xml_file_name': '',\n", | |
" 'xml_valid': '',\n", | |
" 'nd_attribute_chunk': '',\n", | |
" 'dim_att_datasets': '',\n", | |
" 'fill_value': '',\n", | |
" 'position_mode': '',\n", | |
" 'swmr_active': '',\n", | |
" 'swmr_cb_counter': '',\n", | |
" 'swmr_mode': '',\n", | |
" 'swmr_supported': '',\n", | |
" 'blosc_compressor': '',\n", | |
" 'blosc_level': '',\n", | |
" 'blosc_shuffle': '',\n", | |
" 'display_text': '',\n", | |
" 'font': '',\n", | |
" 'time_stamp_format': '',\n", | |
" 'port_backup': '',\n", | |
" 'read_background_tiff_seq': '',\n", | |
" 'read_flat_field_tiff_seq': '',\n", | |
" 'collapse_dims': '',\n", | |
" 'reset_all': '',\n", | |
" 'reset': 'Reset',\n", | |
" 'ts_timestamp': '',\n", | |
" 'sigma_value': '',\n", | |
" 'sigma_readout': '',\n", | |
" 'centroid_total': '',\n", | |
" 'eccentricity': '',\n", | |
" 'hist_above': '',\n", | |
" 'hist_below': '',\n", | |
" 'orientation': '',\n", | |
" 'ts_centroid_total': '',\n", | |
" 'ts_eccentricity': '',\n", | |
" 'ts_orientation': '',\n", | |
" 'histogram_x': '',\n", | |
" 'type_': 'Type',\n", | |
" 'pv_name': '',\n", | |
" 'fft_abs_value': '',\n", | |
" 'fft_direction': '',\n", | |
" 'fft_freq_axis': '',\n", | |
" 'fft_imaginary': '',\n", | |
" 'fft_num_average': '',\n", | |
" 'fft_num_averaged': '',\n", | |
" 'fft_real': '',\n", | |
" 'fft_reset_average': '',\n", | |
" 'fft_suppress_dc': '',\n", | |
" 'fft_time_axis': '',\n", | |
" 'fft_time_per_point': '',\n", | |
" 'fft_time_per_point_link': '',\n", | |
" 'fft_time_series': '',\n", | |
" 'scatter_method': '',\n", | |
" 'delete': '',\n", | |
" 'duplicate': '',\n", | |
" 'expected_id': '',\n", | |
" 'file_valid': '',\n", | |
" 'filename': '',\n", | |
" 'id_difference': '',\n", | |
" 'id_name': '',\n", | |
" 'id_start': '',\n", | |
" 'index': '',\n", | |
" 'missing': '',\n", | |
" 'mode': '',\n", | |
" 'position_': '',\n", | |
" 'qty': '',\n", | |
" 'running': '',\n", | |
" 'actual_trigger_count': '',\n", | |
" 'current_qty': '',\n", | |
" 'post_count': '',\n", | |
" 'post_trigger_qty': '',\n", | |
" 'pre_count': '',\n", | |
" 'preset_trigger_count': '',\n", | |
" 'status_message': '',\n", | |
" 'trigger_': '',\n", | |
" 'trigger_a': '',\n", | |
" 'trigger_a_val': '',\n", | |
" 'trigger_b': '',\n", | |
" 'trigger_b_val': '',\n", | |
" 'trigger_calc': '',\n", | |
" 'trigger_calc_val': '',\n", | |
" 'flush_on_soft_trigger': '',\n", | |
" 'attribute_name': 'AttrName',\n", | |
" 'ts_array_value': '',\n", | |
" 'value_sum': 'ValueSum_RBV',\n", | |
" 'value': 'Value_RBV',\n", | |
" 'npts': '',\n", | |
" 'time_series': '',\n", | |
" 'ts_acquire': '',\n", | |
" 'ts_acquire_mode': '',\n", | |
" 'ts_averaging_time': '',\n", | |
" 'ts_elapsed_time': '',\n", | |
" 'ts_num_average': '',\n", | |
" 'ts_time_axis': '',\n", | |
" 'ts_time_per_point': '',\n", | |
" 'ts_time_per_point_link': '',\n", | |
" 'blosc_compression_level': '',\n", | |
" 'blosc_num_threads': '',\n", | |
" 'codec_error': '',\n", | |
" 'codec_status': '',\n", | |
" 'comp_factor': '',\n", | |
" 'compressor': '',\n", | |
" 'reset_array_counter': 'ResetArrayCounter',\n", | |
" 'update': 'Update',\n", | |
" 'update_period': 'UpdatePeriod',\n", | |
" 'gather_array_address': '',\n", | |
" 'gather_array_port': ''}" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"pairs" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"'width' : 'array_size0'\n", | |
"'height' : 'array_size1'\n", | |
"'depth' : 'array_size2'\n", | |
"'enable' : 'enable_callbacks'\n", | |
"'shaped_image' : 'array_data'\n", | |
"'foffset' : 'f_offset'\n", | |
"'fscale' : 'f_scale'\n", | |
"'roffset' : 'r_offset'\n", | |
"'overlay_portname' : 'name'\n", | |
"'position_xlink' : 'position_x_link'\n", | |
"'position_ylink' : 'position_y_link'\n", | |
"'size_xlink' : 'size_x_link'\n", | |
"'size_ylink' : 'size_y_link'\n", | |
"'overlay_1' : '1:'\n", | |
"'overlay_2' : '2:'\n", | |
"'overlay_3' : '3:'\n", | |
"'overlay_4' : '4:'\n", | |
"'overlay_5' : '5:'\n", | |
"'overlay_6' : '6:'\n", | |
"'overlay_7' : '7:'\n", | |
"'overlay_8' : '8:'\n", | |
"'szip_num_pixels' : 's_zip_num_pixels'\n", | |
"'zlevel' : 'z_level'\n", | |
"'type_' : 'type'\n", | |
"'attribute_name' : 'attr_name'\n" | |
] | |
} | |
], | |
"source": [ | |
"for k, v in pairs.items():\n", | |
" underscored = inflection.underscore(v)\n", | |
" if k != underscored and not underscored.endswith('_rbv') and underscored != '':\n", | |
" print(f'{repr(k)} : {repr(underscored)}')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'set_xhopr'" | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"inflection.underscore(pairs['set_xhopr'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.6.7" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment