dials.import *.osc
とすると、画像のヘッダを元に sweep.json と param.phil が作られる。
sweep.json は
{ "__id__": "imageset", "template": "#####.osc", "beam": { "direction": [ 0.0, 0.0, 1.0 ], "wavelength": 1.5418000221252441, "divergence": 0.0, "sigma_divergence": 0.0 }, "detector": [ { "type": "SENSOR_IMAGE_PLATE", "name": "Panel", "fast_axis": [ 0.0, 1.0, 0.0 ], "slow_axis": [ -1.0, 0.0, 0.0 ], "origin": [ 149.61999734669917, -155.71001208588496, -140.0 ], "pixel_size": [ 0.10000000149011612, 0.10000000149011612 ], "image_size": [ 3000, 3000 ], "trusted_range": [ 0.0, 1000000.0 ] } ], "goniometer": { "rotation_axis": [ 1.0, 0.0, 0.0 ], "fixed_rotation": [ 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0 ] }, "scan": { "image_range": [ 1, 3 ], "oscillation": [ 95.0, 0.5 ], "exposure_time": [ 1.0 ], "epochs": [ 1315782000.0, 0.0, 0.0 ] } }
のような感じで、実験のメタデータである。
param.phil は、解析のパラメータ(積分アルゴリズムの選択とか)のようだ。
logging { version = 1 disable_existing_loggers = True formatters { standard { format = "%(asctime)s [%(levelname)s] %(name)s: %(message)s" } } handlers { console { level = DEBUG INFO *WARN ERROR CRITICAL NOTSET class = "logging.StreamHandler" formatter = *standard } file { level = DEBUG *INFO WARN ERROR CRITICAL NOTSET class = "logging.FileHandler" formatter = *standard directory = "~/.dials" } } loggers { default { handlers = *console *file level = *DEBUG INFO WARN ERROR CRITICAL NOTSET propagate = True } } } lookup { mask = None gain_map = None dark_map = None } spotfinder { scan_range = None threshold { algorithm = *xds unimodal lui kernel_size = 3 3 sigma_background = 6 sigma_strong = 3 times = 5 block_size = 5 12 shift = 10 dimensions = *2d 3d } filter { min_spot_size = 6 max_separation = 2 d_min = None d_max = None } image_viewer = False } integration { algorithm = sum2d *sum3d sum_rs fit_2d fit_3d fit_rs shoebox { n_blocks = 1 n_sigma = 3 kernel_size = 3 3 sigma_background = 6 sigma_strong = 3 } filter { by_bbox = False by_zeta = 0.05 by_xds_small_angle = False by_xds_angle = False } background { algorithm = none *xds fable flat inclined esmeralda min_pixels = 10 n_sigma = 3 } reciprocal_space { grid_size = 5 } profile { reference_frame_interval = 10 reference_signal_threshold = 0.02 } mosflm { nblocks = 4 } } refinement { parameterisation { beam { fix = all *in_spindle_plane } crystal { fix = all cell orientation scan_varying = False num_intervals = 5 } detector { panels = *automatic single multiple fix = all position orientation } prediction { space = *XYPhi XY } } refinery { engine = SimpleLBFGS LBFGScurvs *GaussNewtonIterations LevMarIterations track_step = False track_gradient = False log = None max_iterations = None } target { implementation = *basic XY rmsd_cutoff = *fraction_of_bin_size absolute bin_size_fraction = 0.33333 absolute_cutoffs = None } reflections { implementation = *rotation stills reflections_per_degree = 50 maximum_number_of_reflections = None use_all_reflections = False random_seed = 42 minimum_number_of_reflections = 20 inclusion_cutoff = 0.1 } }