[CCP14 Home: (Frames | No Frames)]
CCP14 Mirrors: [UK] | [CA] | [US] | [AU]

(This Webpage Page in No Frames Mode)


Tutorials and Examples

CRYSFIRE Powder Indexing System for DOS/Windows by Robin Shirley et al

For those who "work on the edge of the abyss of impossibility"

Using CRYSFIRE Powder Indexing System with less than 10 peaks (7 peaks)

The CCP14 Homepage is at http://www.ccp14.ac.uk

[Tutorials page] | [CRYSFIRE Tutorial Index] | [Crysfire What's New] | [LMGP Suite Chekcell Index] | [Powder Diffraction Indexing Resources]

Remember: "99 out of a 100 people who do indexing on less than 20 peaks are chasing rainbows"

Before any reader goes into a rant about the dangers of indexing based on such a small number of peaks; in some areas of research, this can be all you get. Unfortunately, the real data could not be used (has not been published yet) so the following uses some quickly obtained "contrived" peak profile data.

Obtaining and installing CRYSFIRE

NOTE: A graphical program for MS-Windows that links into CRYSFIRE to help check trial cells and determine spacegroups is the Chekcell software - part of the LMGP suite for Windows by Jean Laugier and Bernard Bochu.

This run through will use the peak list file obtained from high pressure experiments - using XFIT to profile the peaks. XFIT is not that easy to use by default and thus there is a tutorial at the CCP14 site.

Click here for XFIT Tutorial and Download Page

There is also an XFIT tutorial on saving an XFIT peak result file in a Crysfire, Chekcell, etc export happy format

Note: The following is just a single example of using CRYSFIRE. There are other methods of interacting with the program and doing the following.

Indexing strategy of indexing with less than 20 peaks

  1. First index on the native 15 peaks using the programs that work with less than 20 peaks: Dicvol, Taup, Kohl and Treor

  2. Then use Crysfire's Pattern Extension to extend the number of peaks out to 20, then run All the programs again.

    As noted by Robin:

    From: Robin Shirley [R.Shirley@surrey.ac.uk]
    Date: Wed, 10 Jul 2002 16:31:23 GMT
    Jon and fellow Rietvelders/sdpd-ers
    > Does this just mean dividing the observed d-spacings by 2 (or 3,4..)
    > to get more "observed" values, or am I missing a more cunning trick?
    In essence that's exactly what lies behind it, though perhaps a bit more
    systematically than most humans would consider worth grinding through.
    For example, it works iteratively, making overlap-avoidance tests at each
    step, and produces the minimum extension set using the lowest available
    But the bottom line is that no more information is injected into the
    pattern by this process - it would be impossible for things to be
    otherwise, since to win more degrees of freedom you have to make more
    actual observations (which is sometimes not experimentally possible).
    At least it would be impossible to conjure up more information (i.e.
    degrees of freedom) just through working from a fixed set of observed
    peak positions - in principle there might be more information to be
    found buried beneath the profile, though in practice it is usually very
    In fact, not only does pattern extension *not* add more information, but
    if the original data contained systematic errors, then the extra
    higher-order lines will not reproduce these in a self-consistent way -
    all available correction and calibration should always be done *before*
    pattern extension.
    Having said all that, it is still a great convenience to be able to
    extend unavoidably sparse patterns from High-P/High-T experiments in a
    few seconds to give a format that none of the indexing programs will
    object to.  For good (though sparse) data, this can open the door to
    getting cell (or at least sub-cell) information that can otherwise be
    hard to lock onto.
    The authentic pattern that Lachlan supplied me for testing these issues
    (yes, it was Lachlan's turbo-charged lobbying on behalf of his
    High-P/High-T clientele that lay behind this) originally contained only
    7 lines.  As you can imagine, it was tough to interpret in that form,
    but becomes significantly more stable after pattern-extension, yielding
    some quite interesting possible solutions (or partial solutions).
    But it's certainly a case of caveat emptor, and is intended specifically
    for folk who know what they're doing.
    I'll try to put together a short paper on this when a bit more experience
    has been gained on how it usefully it performs.
    Robin Shirley

Note: The following is just a single example of using CRYSFIRE. There are other methods of interacting with the program and doing the following.

Refer to the following tutorials on how to load peak positions into Crysfire;

A comment from Robin Shirley about filenames and descriptive text

From: Robin Shirley [R.Shirley@surrey.ac.uk]
Organization: Psychology Dept, Surrey Univ. U.K.
To: Lachlan Cranswick [l.m.d.cranswick@dl.ac.uk]
Date: Mon, 22 Jul 2002 18:43:55 GMT

Incidentally, in this context, could you please emphasise in your
tutorials the importance of spending the few seconds that it takes to
give each new dataset a well-chosen name and some helpful brief
descriptive text in its description field, seeing that whatever is used
there will remain the default throughout the rest of the analysis?

Careful dataset naming really is important for keeping track of progress
in any serious study that can involve several dataset variants, and
such distinctive names have been assumed throughout Crysfire as the basis 
of its data organisation.

Users shouldn't rely just on having kept each problem separate within
its own data directory (folder).

While that's important, it's *not* sufficient, because (a) doing that
only identifies the directory, not the files within it, and (b) as the
study progresses, it's likely that several datasets and dataset variants
will be required, for example after recalibration, applying estimated
Z2theta or specimen-displacement corrections, rescaling, etc.

These will all need to be kept in the same directory so that, for
example, their trial cells can easily be loaded and examined (LC, M1,
etc), but if they aren't given different names (and preferably also
different description fields - see below) then complete confusion will
quickly result.

Since the description field gets appended to every summary-file solution 
line, an important opportunity is lost if its contents can't act as an 
aide memoire of the characteristics of the particular dataset or dataset
variant that was used for that trial solution.

This becomes particularly relevant when datasets are merged and/or
rescaling/unscaling is used, as was discussed above and as is
increasingly likely to happen in response to the new volume estimates
and rescaling prompts in CF2002.

I'm already regretting that I short-sightedly left it far too easy in
WF2crys and XF2crys for users to default to an undistinctive and
meaningless dataset name like Crys.cdt (I've noticed that you are 
yourself a frequent offender in this regard!), and I may well look at 
ways to prevent this in the next revisions of those programs.

As things stand, it's too easy for a moment's impatience on the part of
the user at this basic choice point to handicap all subsequent work on
that sample with a basically null name (and description) - I really
should have had the foresight to protect users from this pitfall.

(A bit of a rant, perhaps, but I do think the point needs making.)

With best wishes


From (in this case) the C:\crysfire\examples\7peak directory, run Crysfire.

Then type IM to go into the IMport area; followed by XF to import the XFIT file, type in the filename (default is xfit.txt), then answer the questions such as the value of the wavelength. When prompted, load the newly created Crysfire CDT file using the LO command. Crysfire will warn that with less than 20 peaks, not all the indexing programs will run - though it does advise the EP Pattern Extension command is available.

Be wary that if you are low on DOS RAM - the last few peaks may not get imported into the CDT file. Check this out after running the importing routine.

Indexing on the 7 peaks

Run all the relevant Crysfire based indexing programs as per the Crysfire Basic tutorial (via the IN (Indexing) command)

Due to there only being 15 peaks, only the following programs can be run.

  • Taup
  • Dicvol - high symmetry
  • Treor
  • Dicvol - low symmetry

Crysfire will explain this in the IN Indexing menu option, as showing in the following screen dump.

Crysfire summary file on the 7 peaks. - Taup, Dicvol - high symmetry, Treor, Dicvol - low symmetry

Performing Pattern Extension in Crysfire

To extend the pattern to 20 peaks, run the EP (Extend Pattern) command.

Crysfire recommends and prompts the saving of the modified data to a CDT file with EP to the filename (e.g., in this case, crys1ep.CDT).

Saving the pattern extended data

CDT file BEFORE pattern extension

"CRYS v9.30c dataset, saved as crys1 by XF2CRYS v1.7b on 27Jul02 at 22:04:33"
"To use with CRYS versions prior to v9.30, delete these first 3 lines"

CDT file AFTER pattern extension

"Crysfire 9.45.15 dataset, saved as crys1EP on 27Jul02 at 22:19:52"
"To use with CRYS versions prior to v9.30, delete these first 3 lines"
 1010.4546292934787,  0,  0,  0, 18.2905470936284,4837.07400000
 2697.3010526759795,  0,  0,  0, 30.1018819434549,1766.65500000
 3711.7534113792990,  0,  0,  0, 35.4707042567356,1277.96200000
 5400.1797717844256,  0,  0,  0, 43.1143594758309,297.03300000
 6421.0603898682257,  0,  0,  0, 47.2385889019994,627.76000000
 8113.2459397443172,  0,  0,  0, 53.5345671495925,497.73600000
 9130.4188302460898,  0,  0,  0, 57.0792110165363,  0
 4041.8185171739146,  0,  0,  0, 37.0691050114265,  0
 9094.0916636413076,  0,  0,  0, 56.9551462930426,  0
10789.2042107039178,  0,  0,  0, 62.5780553697409,  0
14847.0136455171960,  0,  0,  0, 75.0693734135128,  0
16167.2740686956586,  0,  0,  0, 78.9517079662539,  0
21600.7190871377024,  0,  0,  0, 94.5906323740015,  0
24275.7094740838147,  0,  0,  0,102.3442834511437,  0
25261.3657323369662,  0,  0,  0,105.2522015900592,  0
25684.2415594729027,  0,  0,  0,106.5117564386302,  0
32452.9837589772687,  0,  0,  0,128.5098513240440,  0
33405.7807024136928,  0,  0,  0,132.0893765605785,  0
36376.3666545652304,  0,  0,  0,144.9666786397511,  0
36521.6753209843591,  0,  0,  0,145.6985228337022,  0

Indexing on the 20 Pattern Extended peaks

Now run all the Crysfire based indexing programs as per the Crysfire Basic tutorial (via the IN (Indexing) command)

  • Taup
  • Dicvol - high symmetry
  • ITO
  • Fjzn
  • Treor
  • Kohl
  • Dicvol - low symmetry
  • Lzon

As per the example shown in the Crysfire Basic tutorial, it would be good to now run MMap and evaluate the trial solutions for both the raw data, and extended data using Chekcell to obtain the best cell and spacegroup. However:

[Tutorials page] | [CRYSFIRE Tutorial Index] | [Crysfire What's New] | [LMGP Suite Chekcell Index] | [Powder Diffraction Indexing Resources]

[CCP14 Home: (Frames | No Frames)]
CCP14 Mirrors: [UK] | [CA] | [US] | [AU]

(This Webpage Page in No Frames Mode)

If you have any queries or comments, please feel free to contact the CCP14