You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm encountering an issue where the reflection_table.extract_shoeboxes method is unexpectedly returning a large number of empty shoeboxes when processing rotation method data (1439 images). This issue does not occur if I process a smaller subset of the dataset.
I am using the following script to extract the shoeboxes: make_shoeboxes.py.
Then, I use the following Python script to check the shoebox sizes and to count how many shoeboxes of each size there are:
fromdials.array_familyimportfleximportnumpyasnp# reflection tabletable=flex.reflection_table.from_file("./shoeboxes.refl")
# shoebox sizes based off number of pixels in each shoeboxshoebox_sizes=list(
map(lambdax: x.values().as_numpy_array().shape, table["shoebox"])
)
# count unique shoebox sizessizes, counts=np.unique(shoebox_sizes, return_counts=True)
print(f'shoebox sizes: {sizes}\n counts: {counts}')
To process half the dataset, I remove images 301_helical_1_0701.cbf through 301_helical_1_1439.cbf from the $START_DIR/816 directory, and I change the geometry.scan.image_range in the processing script with the following:
I suspect that the fundamental issue is not that we are not extracting all the shoeboxes, it is that the shoebox array is too large to save in a messagepack dataset file 🤦♂️
I add a check to the shape in memory before write:
Hello DIALS developers,
I'm encountering an issue where the
reflection_table.extract_shoeboxes
method is unexpectedly returning a large number of empty shoeboxes when processing rotation method data (1439 images). This issue does not occur if I process a smaller subset of the dataset.I am using the following script to extract the shoeboxes: make_shoeboxes.py.
Steps to reproduce the issue
DIALS Version: DIALS 3.16.1-gf88b4b963-release
Dataset:
Rotation Data
0.5 degree oscillations
1439 images
Images: https://data.sbgrid.org/dataset/816/
I use the following script to download the data and its corresponding pixel mask, and to process the data using DIALS:
I then use the following command to extract the shoeboxes:
Then, I use the following Python script to check the shoebox sizes and to count how many shoeboxes of each size there are:
I get the following output:
To process half the dataset, I remove images
301_helical_1_0701.cbf
through301_helical_1_1439.cbf
from the$START_DIR/816
directory, and I change thegeometry.scan.image_range
in the processing script with the following:I then use the following command to extract the shoeboxes:
and I get the following output from the Python script to check the shoebox sizes:
The text was updated successfully, but these errors were encountered: