dials.image_viewer

Introduction

This program can be used for viewing diffraction images, optionally overlayed with the results of spot finding, indexing or integration.

Examples:

dials.image_viewer image.cbf

dials.image_viewer datablock.json

dials.image_viewer datablock.json strong.pickle

dials.image_viewer datablock.json integrated.pickle

dials.image_viewer experiments.json

Basic parameters

brightness = 100
color_scheme = *grayscale rainbow heatmap invert
show_beam_center = True
show_resolution_rings = False
show_ice_rings = False
show_ctr_mass = True
show_max_pix = True
show_all_pix = True
show_shoebox = True
show_predictions = True
show_miller_indices = False
show_indexed = False
show_integrated = False
show_mask = False
show_mask2 = False
show_basis_vectors = True
display = *image mean variance dispersion sigma_b sigma_s threshold \
          global_threshold
nsigma_b = 6
nsigma_s = 3
global_threshold = 0
kernel_size = 3,3
min_local = 2
gain = 1
d_min = None
mask = None
powder_arcs {
  show = False
  code = None
}
calibrate_silver = False
calibrate_pdb {
  code = None
  d_min = 20.
}
calibrate_unitcell {
  unitcell = None
  d_min = 20.
  spacegroup = None
}
masking {
  border = 0
  use_trusted_range = True
  d_min = None
  d_max = None
  resolution_range = None
  untrusted {
    panel = 0
    circle = None
    rectangle = None
    polygon = None
    pixel = None
  }
  ice_rings {
    filter = False
    d_min = None
  }
}
output {
  mask = mask.pickle
  mask_params = mask.phil
}
predict_reflections = False
profile {
  algorithm = gaussian_rs *gaussian_rs
  gaussian_rs {
    scan_varying = False
    min_spots {
      overall = 50
      per_degree = 20
    }
    sigma_m_algorithm = basic *extended
    parameters {
      sigma_b = None
      sigma_m = None
    }
    filter {
      min_zeta = 0.05
    }
    fitting {
      scan_step = 5
      grid_size = 5
      threshold = 0.02
      grid_method = single *regular_grid circular_grid spherical_grid
      fit_method = *reciprocal_space detector_space
      detector_space {
        deconvolution = False
      }
    }
  }
  gaussian_rs {
    scan_varying = False
    min_spots {
      overall = 50
      per_degree = 20
    }
    sigma_m_algorithm = basic *extended
    parameters {
      sigma_b = None
      sigma_m = None
    }
    filter {
      min_zeta = 0.05
    }
    fitting {
      scan_step = 5
      grid_size = 5
      threshold = 0.02
      grid_method = single *regular_grid circular_grid spherical_grid
      fit_method = *reciprocal_space detector_space
      detector_space {
        deconvolution = False
      }
    }
  }
}
prediction {
  d_min = None
  d_max = None
  margin = 1
  force_static = False
  padding = 1.0
}

Full parameter definitions

brightness = 100
  .type = int
color_scheme = *grayscale rainbow heatmap invert
  .type = choice
show_beam_center = True
  .type = bool
show_resolution_rings = False
  .type = bool
show_ice_rings = False
  .type = bool
show_ctr_mass = True
  .type = bool
show_max_pix = True
  .type = bool
show_all_pix = True
  .type = bool
show_shoebox = True
  .type = bool
show_predictions = True
  .type = bool
show_miller_indices = False
  .type = bool
show_indexed = False
  .type = bool
show_integrated = False
  .type = bool
show_mask = False
  .type = bool
show_mask2 = False
  .type = bool
show_basis_vectors = True
  .type = bool
display = *image mean variance dispersion sigma_b sigma_s threshold \
          global_threshold
  .type = choice
nsigma_b = 6
  .type = float(value_min=0)
nsigma_s = 3
  .type = float(value_min=0)
global_threshold = 0
  .type = float(value_min=0)
kernel_size = 3,3
  .type = ints(size=2, value_min=1)
min_local = 2
  .type = int
gain = 1
  .help = "Set gain for the thresholding algorithm. This does not override the"
          "detector's panel gain, but acts as a multiplier for it."
  .type = float(value_min=0)
sum_images = 1
  .type = int(value_min=1)
  .expert_level = 2
d_min = None
  .type = float(value_min=0)
mask = None
  .help = "path to mask pickle file"
  .type = path
powder_arcs {
  show = False
    .help = "show powder arcs calculated from PDB file."
    .type = bool
  code = None
    .help = "PDB code (4 characters) for file; fetch it from the Internet."
    .type = str
}
calibrate_silver = False
  .help = "Open special GUI for distance/metrology from silver behenate."
  .type = bool
calibrate_pdb {
  code = None
    .help = "Option is mutually exclusive with calibrate silver, unit cell and"
            "powder arcs options."
    .type = str
  d_min = 20.
    .help = "Limiting resolution to calculate powder rings"
    .type = float
}
calibrate_unitcell {
  unitcell = None
    .help = "Option is mutually exclusive with calibrate silver, pdb and"
            "powder arcs options."
    .type = unit_cell
  d_min = 20.
    .help = "Limiting resolution to calculate powder rings"
    .type = float
  spacegroup = None
    .help = "Specify spacegroup for the unit cell"
    .type = str
}
masking {
  border = 0
    .help = "The border around the edge of the image."
    .type = int
  use_trusted_range = True
    .help = "Use the trusted range to mask bad pixels."
    .type = bool
  d_min = None
    .help = "The high resolution limit in Angstrom for a pixel to be accepted"
            "by the filtering algorithm."
    .type = float(value_min=0)
  d_max = None
    .help = "The low resolution limit in Angstrom for a pixel to be accepted"
            "by the filtering algorithm."
    .type = float(value_min=0)
  resolution_range = None
    .help = "an untrusted resolution range"
    .type = floats(size=2)
    .multiple = True
  untrusted
    .multiple = True
  {
    panel = 0
      .help = "The panel number"
      .type = int
    circle = None
      .help = "An untrusted circle (xc, yc, r)"
      .type = ints(size=3)
    rectangle = None
      .help = "An untrusted rectangle (x0, x1, y0, y1)"
      .type = ints(size=4)
    polygon = None
      .help = "The pixel coordinates (fast, slow) that define the corners  of"
              "the untrusted polygon. Spots whose centroids fall within  the"
              "bounds of the untrusted polygon will be rejected."
      .type = ints(value_min=0)
    pixel = None
      .help = "An untrusted pixel (x, y)"
      .type = ints(size=2, value_min=0)
  }
  ice_rings {
    filter = False
      .type = bool
    unit_cell = 4.498,4.498,7.338,90,90,120
      .help = "The unit cell to generate d_spacings for powder rings."
      .type = unit_cell
      .expert_level = 1
    space_group = 194
      .help = "The space group used to generate d_spacings for powder rings."
      .type = space_group
      .expert_level = 1
    width = 0.002
      .help = "The width of an ice ring (in 1/d^2)."
      .type = float(value_min=0)
      .expert_level = 1
    d_min = None
      .help = "The high resolution limit (otherwise use detector d_min)"
      .type = float(value_min=0)
  }
}
output {
  mask = mask.pickle
    .help = "Name of output mask file"
    .type = path
  mask_params = mask.phil
    .help = "Name of output mask parameter file"
    .type = path
}
predict_reflections = False
  .help = "Predict reflections if no reflections provided in input"
  .type = bool
profile
  .help = "
     T h e   i n t e r f a c e   d e f i n i t i o n   f o r   a  "
          "p r o f i l e   m o d e l . 
 
    "
{
  algorithm = gaussian_rs *gaussian_rs
    .help = "The choice of algorithm"
    .type = choice
  gaussian_rs
    .help = "An extension class implementing a reciprocal space gaussian"
            "profile model."
  {
    scan_varying = False
      .help = "Calculate a scan varying model"
      .type = bool
    min_spots
      .help = "if (total_reflections > overall or reflections_per_degree >"
              "per_degree) then do the profile modelling."
    {
      overall = 50
        .help = "The minimum number of spots needed to do the profile"
                "modelling"
        .type = int(value_min=0)
      per_degree = 20
        .help = "The minimum number of spots needed to do the profile"
                "modelling"
        .type = int(value_min=0)
    }
    sigma_m_algorithm = basic *extended
      .help = "The algorithm to compute mosaicity"
      .type = choice
    parameters {
      sigma_b = None
        .help = "Override the sigma_b value (degrees)"
        .type = float(value_min=0)
      sigma_m = None
        .help = "Override the sigma_m value (degrees)"
        .type = float(value_min=0)
    }
    filter {
      min_zeta = 0.05
        .help = "Filter reflections by min zeta"
        .type = float
    }
    fitting {
      scan_step = 5
        .help = "Space between profiles in degrees"
        .type = float
      grid_size = 5
        .help = "The size of the profile grid."
        .type = int
      threshold = 0.02
        .help = "The threshold to use in reference profile"
        .type = float
      grid_method = single *regular_grid circular_grid spherical_grid
        .help = "Select the profile grid method"
        .type = choice
      fit_method = *reciprocal_space detector_space
        .help = "The fitting method"
        .type = choice
      detector_space {
        deconvolution = False
          .help = "Do deconvolution in detector space"
          .type = bool
      }
    }
  }
  gaussian_rs
    .help = "An extension class implementing a reciprocal space gaussian"
            "profile model."
  {
    scan_varying = False
      .help = "Calculate a scan varying model"
      .type = bool
    min_spots
      .help = "if (total_reflections > overall or reflections_per_degree >"
              "per_degree) then do the profile modelling."
    {
      overall = 50
        .help = "The minimum number of spots needed to do the profile"
                "modelling"
        .type = int(value_min=0)
      per_degree = 20
        .help = "The minimum number of spots needed to do the profile"
                "modelling"
        .type = int(value_min=0)
    }
    sigma_m_algorithm = basic *extended
      .help = "The algorithm to compute mosaicity"
      .type = choice
    parameters {
      sigma_b = None
        .help = "Override the sigma_b value (degrees)"
        .type = float(value_min=0)
      sigma_m = None
        .help = "Override the sigma_m value (degrees)"
        .type = float(value_min=0)
    }
    filter {
      min_zeta = 0.05
        .help = "Filter reflections by min zeta"
        .type = float
    }
    fitting {
      scan_step = 5
        .help = "Space between profiles in degrees"
        .type = float
      grid_size = 5
        .help = "The size of the profile grid."
        .type = int
      threshold = 0.02
        .help = "The threshold to use in reference profile"
        .type = float
      grid_method = single *regular_grid circular_grid spherical_grid
        .help = "Select the profile grid method"
        .type = choice
      fit_method = *reciprocal_space detector_space
        .help = "The fitting method"
        .type = choice
      detector_space {
        deconvolution = False
          .help = "Do deconvolution in detector space"
          .type = bool
      }
    }
  }
}
prediction {
  d_min = None
    .help = "The maximum resolution limit"
    .type = float
  d_max = None
    .help = "The minimum resolution limit"
    .type = float
  margin = 1
    .help = "The margin to use to scan varying prediction"
    .type = int
  force_static = False
    .help = "For scan-varying prediction force scan-static prediction"
    .type = bool
  padding = 1.0
    .help = "The padding in degrees"
    .type = float(value_min=0)
}