4 - The JdlPX Java Class Documentation

  John W. Campbell

4.1 Introduction

This section of the Java Development Library is with classes which are specifically written for use in programs associated with Protein Crystallography.

List of sections:

Data Storage Classes
Diffraction Data Module (DDM)
Space Group Symmetry
Diffraction Image Classes
Image Reader Classes
Crystallographic Calculations
Reflection Lists
Orientation Refinement
JdlPXImage User Defined Options

4.2 Data Storage Classes

4.2.1 Introduction

These classes are for storing some basics sets of crystallographic parameters, in particular those required for the prediction of diffraction patterns.

List of subsections in this section:

Cell Parameters
Reciprocal Cell Parameters
Unique Cell Parameters
Unique ReciprocalCell Parameters
X-ray Source
Detector Basics
Positioned Detector
Positioned Crystal
Detector Limits

4.2.2 Cell Parameters

The JdlCell class stores a real cell and has methods to determine the corresponding reciprocal cell if required.

Document Link: Cell - JdlCell

4.2.3 Reciprocal Cell Parameters

The JdlReciprocalCell class stores a reciprocal cell and has methods to determine the corresponding real cell if required.

Document Link: Reciprocal Cell - JdlReciprocalCell

4.2.4 Unique Cell Parameters

The JdlUniqueCell class stores a real cell as the unique cell parameters appropriate to its crystal system and has methods to return that data or re-generate a full set of cell parameters.

Document Link: Unique Cell - JdlUniqueCell

4.2.5 Unique ReciprocalCell Parameters

The JdlUniqueReciprocalCell class stores a reciprocal cell as the unique reciprocal cell parameters appropriate to its crystal system and has methods to return that data or re-generate a full set of reciprocal cell parameters.

Document Link: Unique Reciprocal Cell - JdlUniqueReciprocalCell

4.2.6 X-ray Source

The JdlXraySource class stores parameters related to the X-ray source.

Document Link: X-ray Source Parameters - JdlXraySource

4.2.7 Detector Basics

The JdlDetectorBasics class stores the basic set of parameters defining a detector system for collecting protein crystallographic data with a flat detector.

Document Link: Detector Object - JdlDetectorBasics

4.2.8 Positioned Detector

The JdlPositionedDetector class stores details of a set (positioned) detector. This includes references to a JdlXraySource and a JdlDetectorBasics object and has additional parameters (e.g. the crystal to detector distance and detector rotation angles) to define the current position of the detector setup.

Document Link: Positioned Detector Object - JdlPositionedDetector

4.2.9 Positioned Crystal

The JdlPositionedCrystal class stores details of a set crystal with one or two additional parameters directly relevant to the prediction of diffraction images.

Document Link: Positioned Crystal Object - JdlPositionedCrystal

4.2.10 Detector Limits

The JdlDetectorLimits class stores some limits which may be used to select parts of a detector image for processing. Note that the maximum radius 'rmax' is not stored here but is stored in a JdlPositionedDetector object.

Document Link: Detector Limits - JdlDetectorLimits

4.3 Diffraction Data Module (DDM)

4.3.1 Introduction

The Diffraction Data Module (DDM) defines a set of parameters for use in the initial stages of processing or predicting sets of protein crystallographic X-ray diffraction images.

List of subsections in this section:

DDM Class

4.3.2 DDM Class

The JdlDiffractionDataModule class implements the Diffraction Data Module, defining the DDM keyworded parameters, and having a range of methods including those to set and get parameter values, to read and parse DDM files and to write DDM data files.

Document Link: Diffraction Data Module Class - JdlDiffractionDataModule

4.4 Space Group Symmetry

4.4.1 Introduction

These classes handle the space group symmetry.

List of subsections in this section:

Symmetry
Symmetry Operators

4.4.2 Symmetry

The JdlSymmetry class stores and processes space group symmetry.

Document Link: Space Group Symmetry - JdlSymmetry

4.4.3 Symmetry Operators

The JdlSymops class contains a built in list of symmetry operators for most of the space groups used in Protein Crystallography. It is based on the data from a CCP4 symops.lib file and an updated version of the object can be prepared from such a file using the MakeJdlSymops program.

Document Link: Symmetry Operators - JdlSymops

4.5 Diffraction Image Classes

4.5.1 Introduction

This class provides a means for reading and storing X-ray diffraction images. It supports a range of currently used image file formats which could be extended as needed in the future.

List of subsections in this section:

Diffraction Image
Image Data Class
Collect Images
Axis Order

4.5.2 Diffraction Image

The JdlDiffractionImage class reads in, stores and manipulates the data of an X-ray diffraction image.

Document Link: Diffraction Image - JdlDiffractionImage

4.5.3 Image Data Class

The JdlImageData class provides an object to hold details of an image to be passed between image handling objects such as the JdlPXImage display object. Such an object may be returned from a JdlDiffractionImage object in the JdlPX section of the package if this was used. The object may also, optionally, hold a background image associated with the stored image.

Document Link: Image Data - JdlImageData

4.5.4 Collect Images

The JdlImageCollector class collects together a set of images, either adding (and averaging) them or overlaying them by taking the maximum of the values at each pixel.

Document Link: Image Collector - JdlImageCollector

4.5.5 Axis Order

The JdlAxisOrder class sets up image axis order data based on an axis order string (e.g. +xd-yd). The methods available return an order code based on the MOSFLM program coordinate axes convention as used in other JDL classes.

Document Link: Axis Order - JdlAxisOrder

4.6 Image Reader Classes

4.6.1 Introduction

These classes provide an Interface used by the JdlDiffractionImage and JdlImageData classes to read image files and varios classes implementing this interface to read a selection of X-ray diffraction image file types.

List of subsections in this section:

Image Reader Interface
Basic Image Reader
ADSC Image Reader
MAR Image Reader
WI Image Reader
Picture Image Reader

4.6.2 Image Reader Interface

An interface for classes which can read in an image from a file and store the data and related parameters as defined in a JdlImageData object.

Document Link: Image Reader Interface - JdlImageReader

4.6.3 Basic Image Reader

Image reader to read a variety of image file formats which can be defined by a small selection of parameters.

Document Link: Basic Image Reader - JdlBasicImageReader

4.6.4 ADSC Image Reader

Image reader to read ADSC images in their original format or in imgCIF/CBF format.

Document Link: ADSC Image Reader - JdlADSCImageReader

4.6.5 MAR Image Reader

Image reader to read MAR format image files (raw or compressed).

Document Link: Mar Image Reader - JdlMarImageReader

4.6.6 WI Image Reader

Image reader to read image files as written by the 'Write Image' (WI) option of the PXImage program.

Document Link: WI Image Reader - JdlWIReader

4.6.7 Picture Image Reader

Image reader to read picture files supported by Java e.g. JPEG/PNG/GIF files. These can then be displayed with the PXImage program though that is not its primary purpose.

Document Link: Picture Image Reader - JdlPictureImageReader

4.7 Crystallographic Calculations

4.7.1 Introduction

This section contains classes with methods to carry out some basic crystallographic calculations.

List of subsections in this section:

Crystal Calculations Class
Resolution
Distortion Corrections
Re-assign Rotation Reflection Flags
Re-assign Laue Spot Flags
Predict Laue Harmonic Deconvolution
Test Lambda Curve
IPDISP Options

4.7.2 Crystal Calculations Class

The JdlCrystalCalculations class provides some static methods to perform selected crystallographic calculations. These include methods for converting between detector and reciprocal lattice coordinates, setting up crystallographic matrices and predicting reflections for Rotation and Laue images and Unique data sets. In the latter cases, the output format for the reflection/spot/unique lists is not fixed by the methods but is carried out by a class implementing an appropriate output handler method; this allows for their use in a wider context than within the use of the JDL classes where specific classes for handling reflection/spot lists are used (see also the Reflection Lists section).

Document Link: Crystallographic Calculations - JdlCrystalCalculations

4.7.3 Resolution

The JdlResolution class calculates, from the cell constants, coefficients which are then used to determine the resolution of individual reflections as required.

Document Link: Resolution Calculation - JdlResolution

4.7.4 Distortion Corrections

The JdlDistortionCorrections class stores the parameters required for making distortion corrections to image spot positions for X-ray diffraction images and provides methods to apply/remove these corrections.

Document Link: Image Distortion Corrections - JdlDistortionCorrections

4.7.5 Re-assign Rotation Reflection Flags

The JdlReflectionReflag class is used by a JdlView JdlPXSimulations object to reassign some reflection flags when using the interactive Rotation plots option.

Document Link: Re-flag Reflection - JdlReflectionReflag

4.7.6 Re-assign Laue Spot Flags

The JdlLaueSpotReflag class is used by a JdlView JdlPXSimulations object to reassign some spot flags when using the interactive Laue plots option.

Document Link: Re-flag Laue Spot - JdlLaueSpotReflag

4.7.7 Predict Laue Harmonic Deconvolution

The JdlLaueDeconvPredictor class predicts the potential deconvolution of Laue reflections from multiple spots recorded at different wavelengths.

Document Link: Laue Deconvolution Predictor - JdlLaueDeconvPredictor

4.7.8 Test Lambda Curve

The JdlTestLambdaCurve class provides a test wavelength normalisation curve for use in test predictions of Laue harmonics deconvolution.

Document Link: Lambda Curve - JdlTestLambdaCurve

4.7.9 IPDISP Options

The JdlIPDispOptions class provides some user options for a JdlPXImage object based on options which were available in the CCP4 image display program IPDISP (Phil Evans). Options are available to measure the image centre, display resolution circles, calculate the resolution of a spot, calculate a cell spacing and fit a circle to a set of selected points.

Document Link: IPDISP Calculations - JdlIPDispOptions

4.8 Reflection Lists

4.8.1 Introduction

This section contains classes to store and manipulate lists of predicted Rotation, Laue or Unique reflections. Interface classes for the output of predicted reflections to be used in conjunction with the prediction methods in the JdlCrystalCalculations class (see above).

List of subsections in this section:

Predicted Reflection List
Predicted Reflection
Reflection Output Handler
Predicted Laue Spots List
Generated Laue Spot
Predicted Laue Spot
Laue Spot Output Handler
Unique Reflections List
Unique Reflection
Unique Reflection Output Handler
Search Image Spots List
Search Image Spot

4.8.2 Predicted Reflection List

The JdlPredictedReflectionsList class stores a list of predicted reflections for a Rotation image and manipulate reflections in that list. It has a method to predict the list using a method from the JdlCrystalCalculations class. A method is also available to determine the spatially overlapped spots.

Document Link: Predicted Reflections List - JdlPredictedReflectionsList

4.8.3 Predicted Reflection

The JdlPredictedReflection class stores details of a predicted reflection (indices, detector position other parameters) as stored in the predicted relections list described above. Most of the item values are accessible via public fields.

Document Link: Predicted Reflection - JdlPredictedReflection

4.8.4 Reflection Output Handler

The JdlRotReflOutputHandler class provides an interface for outputting predicted reflection details (Rotation method) for the reflection prediction methods in the JdlCrystalCalculations class.

Document Link: Output Rotation Reflections - JdlRotReflOutputHandler

4.8.5 Predicted Laue Spots List

The JdlPredictedLaueSpotsList class stores a list of predicted spots for a Laue image and manipulate spotss in that list. It has a method to predict the list using a method from the JdlCrystalCalculations class. A method is also available to determine the spatially overlapped spots.

Document Link: Predicted Laue Spots List - JdlPredictedLaueSpotsList

4.8.6 Generated Laue Spot

The JdlGeneratedLaueSpot class stores details of a predicted Laue spot as it is generated. It is used by the Laue prediction methods in the JdlCrystalCalculations class and is passed to the the spot output method of a class implementing the JdlLaueSpotOutputHandler interface.

Document Link: Generated Laue Spot - JdlGeneratedLaueSpot

4.8.7 Predicted Laue Spot

The JdlPredictedLaueSpot class stores details of a predicted Laue spot (indices, multiplicity, wavelength, detector position other parameters) as stored in the predicted Laue spots list described above. Most of the item values are accessible via public fields.

Document Link: Predicted Laue Spot - JdlPredictedLaueSpot

4.8.8 Laue Spot Output Handler

The JdlLaueSpotOutputHandler class provides an interface for outputting predicted spot details (Laue method) for the spot prediction methods in the JdlCrystalCalculations class.

Document Link: Output Laue Spots - JdlLaueSpotsOutputHandler

4.8.9 Unique Reflections List

The JdlUniqueReflectionsList class stores a list of unique reflections with measurement counts. The class has methods for adding/deleting reflections and sorting the reflection list. It has a method for generating the unique reflections (using a method in the JdlCrystalCalculations class) given the appropriate, cell, symmetry, wavelength and resolution parameters. In general, reflections are handled as JdlUniqueReflection objects.

Document Link: Unique Reflections List - JdlUniqueReflectionsList

4.8.10 Unique Reflection

The JdlUniqueReflection class stores details of a unique reflection with a series of items to hold counts of measurements associated with that reflection so that unique data coverage may be analysed.

Document Link: Unique Reflection - JdlUniqueReflection

4.8.11 Unique Reflection Output Handler

The JdlUnqReflOutputHandler class provides an interface for outputting unique reflection details for the unique reflection prediction method in the JdlCrystalCalculations class.

Document Link: Output Unique Reflections - JdlUnqReflOutputHandler

4.8.12 Search Image Spots List

The JdlSearchImageSpotsList class stores a list of spot positions found from a search of an X-ray diffraction image.

Document Link: Search Spots List - JdlSearchImageSpotsList

4.8.13 Search Image Spot

The JdlSearchImageSpot class stores details of a spot position found from a search of an X-ray diffraction image.

Document Link: Spot from Image Search - JdlSearchImageSpot

4.9 Orientation Refinement

4.9.1 Introduction

This section contains classes used in refining a crystal orientation and related parameters using data from an observed diffraction pattern (rotation method).

List of subsections in this section:

Refine Orientation
Refined Parameters
Observed Reflection

4.9.2 Refine Orientation

The JdlRefineOrientation class is used to refine a crystal setting and related parameters using a set of observed reflection positions (rotation method of data collection).

Document Link: Refine orientation - JdlRefineOrientation

4.9.3 Refined Parameters

The JdlRefinedOrientationParameters class stores details of the refined parameters as returned by the JdlRefineOrientation class methods.

Document Link: Refined Orientation Parameters - JdlRefinedOrientationParameters

4.9.4 Observed Reflection

The JdlObservedReflection class stores details of an observed reflection position with assigned indices and a flag indicating whether or not it is to be used in a refinement.

Document Link: Observed Reflection - JdlObservedReflection

4.10 JdlPXImage User Defined Options

4.10.1 Introduction

This section contains classes for additional 'user defined' options which may be passed to the JdlPXImage class (from JdlView) to enhance its functionality. The classes passed to JdlPXImage must implement the JdlPXImageUserOptions interface. Supporting classes specific to these classes are also included in this section.

List of subsections in this section:

Find Spots
Read/Write DDM Data
Find Crystal Setting
Setting Determination
Setting Solution

4.10.2 Find Spots

The JdlFindSpotsOptions class provides 'user defined' options for JdlPXImage for searching for spots on the image and, if required, marking the found spot positions on the image.

Document Link: Find Spots Options - JdlFindSpotsOptions

4.10.3 Read/Write DDM Data

The JdlImgDDM class provides 'user defined' options for JdlPXImage for reading, editing and writing a Diffraction Data Module (DDM) parameters file relating to the image. Such data are also accessible to other JdlPXImageUserOptions implementing classes.

Document Link: Image DDM Options - JdlImgDDM

4.10.4 Find Crystal Setting

The JdlFindSettingOptions class provides 'user defined' options for JdlPXImage for determining a crystal orientation for a known cell using Fourier transform based methods. The class includes options for image background calculation and searching for spots on the image.

Document Link: Find Setting Options - JdlFindSettingOptions

4.10.5 Setting Determination

The JdlSetting3DFT class is used in support of the Find Crystal Setting 'user defined' options for JdlPXImage as implemented in the JdlFindSettingOptions class. It uses 3-D Fourier transform calculations based on a set of observed spot positions found from an image search and peak searches at the appropriate cell vector distances.

Document Link: Crystal Setting Finder - JdlSetting3DFT

4.10.6 Setting Solution

The JdlSettingSolution class is used to store details of a crystal setting determined using the JdlSetting3DFT class methods.

Document Link: Setting Solution - JdlSettingSolution


⇑ Up 1   ⇑ Top of this