Coder Social home page Coder Social logo

taw10 / crystfel Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 7.0 10.65 MB

Data processing for serial crystallography

Home Page: https://desy.de/~twhite/crystfel/

License: GNU General Public License v3.0

C 89.38% Shell 2.35% Lex 0.06% Yacc 0.17% Python 2.57% Perl 0.49% Gnuplot 0.07% R 0.04% Meson 1.07% GLSL 0.20% Dockerfile 0.06% Ruby 0.09% Julia 3.44%
science science-research crystallography biochemistry xray-crystallography xray-diffraction desy

crystfel's People

Contributors

1ykos avatar andrewvmartin avatar biochem-fan avatar chuckie82 avatar helenginn avatar kbeyerlein avatar keitaroyam avatar ndevenish avatar parkerdewaal avatar phoganlamarre avatar pmiddend avatar taw10 avatar valmar avatar zaqweeeer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

crystfel's Issues

Group definitions must come after panel definitions

If groups are defined before its panels are defined, we get this error:

Unknown panel group 'q1'
Unknown panel group 'q2'
...
Invalid top-level line 'group_all'

Rigid body definitions did not have this order requirement.

Is this by design? If so, it would be nice to document this.

align_detector corrupts bad region definitions

In our SACLA MPCCD geometry file, we have this for the second panel (q2):

data = /%/data

q2/adu_per_eV = 0.000999
q2/min_fs = 0
q2/min_ss = 1024
q2/max_fs = 511
q2/max_ss = 2047
q2/fs = 0.006215x -0.999981y
q2/ss = 0.999981x +0.006215y
q2/corner_x = 36.444600
q2/corner_y = 497.856016

badq2l1/min_fs = 0
badq2l1/max_fs = 4
badq2l1/min_ss = 1024
badq2l1/max_ss = 2047
badq2l1/panel  = q2

Note that eight 512 x 1024 px panels are stacked along the slow (1024 px) axis into a HDF5 dataset.

align_detector rewrites this bad region definition as follows:

bad_badq2l1/panel = q2
bad_badq2l1/min_fs = 0
bad_badq2l1/max_fs = 4
bad_badq2l1/min_ss = 0
bad_badq2l1/max_ss = 1023

It seems that min_ss and max_ss have been rewritten in terms of the panel's local data coordinate.

However, indexamajig still interprets them in terms of the global data coordinate system.

Bad region 'bad_badq2l1' is outside the panel bounds (q2) as presented in data (0 1024, 511 2047 inclusive): Bad region 0,0 to 4, 1023 inclusive

I don't know which is intended. Earlier versions worked in the same way as indexamajig, which I prefer.

indexamajig --input=i to read file lists from STDIN is broken

indexamajig --input=i to read file lists from STDIN is broken. We got Couldn't open '-'.

The following patch will fix this problem.

index aa0db21..0dfc295 100644
--- a/src/indexamajig.c
+++ b/src/indexamajig.c
@@ -1241,7 +1241,7 @@ int main(int argc, char *argv[])
                return 1;
        }
 
-       if ( (args.filename != NULL) && is_hdf5_file(args.filename, &err) ) {
+       if ( (args.filename != NULL) && (strcmp(args.filename, "-") != 0) && is_hdf5_file(args.filename, &err) ) {
                ERROR("Your input file appears to be an HDF5 file.\n");
                ERROR("The input file should be a list of data files, not the "
                      "data file itself.\n");

Ambiguity Error

I was working with SLAC/mfxp17318_0015 data. After all indexing with determined unit cell file, I got Subprocess exited with status 512 error with no message while running Indexing Ambiguity worker.

I couldn't debug it yet for the reason of error, but, there should be a log of exception.

Is there any known possible reason of the error?

Garbage calibration data is written when there is no hierarchy information

When there is no detector hierarchy information in a geometry file, indexamajig --mille rightly complains:

Cannot write calibration data (--mille) because geometry does not contain hierarchy information (group 'all' not found)

However, non zero-byte mille files are actually written. Passing this to align-detector causes a segmentation fault.

If the detector consists of only one panel, CrystFEL will automatically create the all group containing it.
https://gitlab.desy.de/thomas.white/crystfel/-/blob/master/doc/man/crystfel_geometry.5.md

How about assuming all panels belong to the all group if there is no definition?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.