Comments (4)
makemap.py should now output map files with the number of uniq peaks in from commit f957c28
Still need to put this into indexing (either as merge before indexing or checking afterwards).
from imaged11.
Note from #81": To deal better with overlaps, and try to overcome a few recurring problems:
- Can we convert columnfile.py into a pandas dataframe ?
- Raw peak data in one table (x,y,omega,intensity etc)
- Detector geometry applied -> XL, YL, ZL : adds a new table depending on geometry
- Depending on (UB)+Diffractometer -> OmegaCalc : adds a new table for each grain
- Depending on (translation+omega) or (translation+OmegaCalc) -> tth/eta/k/gv/hr/drlv
- A peak to grain assignment matrix should be very sparse. Currently only one grain per peak. It would help for twins and duplicates to store the N grains per peak which might be able to index.
The rest of the this would imply a bit of reorganisation to update the geometry to pull out detector versus diffractometer + grain computations.
Note the cImageD11 function score_gvec_z (needs testing for omega error effect)
from imaged11.
Some thoughts on this (might be nonsense):
Let's assume we have a UBI, and some peaks that the indexer knows about.
Let's also assume we have the power to determine the gve and omega angle for each hkl given a list of hkls
Therefore for each UBI, we have a list of theoretical peaks each with [hkl, omega, gve, xl, yl, zl]
We should therefore be able to determine where (in detector space) each peak hits the detector, so we have [fc, sc] for each theoretical peak
We then have three types of coverage to consider:
- The coverage in two-theta. We probably filtered the peaks given to the indexer. Maybe just take min to max in tth column?
- The coverage in omega. Did we rotate the sample to that angle during the scan?
- The coverage on the detector. Did we hit a masked region? We should be able to spatially correct the mask to work out the mask co-ordinates in the lab frame. We could round to the nearest integer pixel and see if the forward-projected pixel for the theoretical peak hits (or is close to) a mask position
I feel that it should then be possible to, given a set of rings, compute the number of expected peaks on the detector with those rings, taking into account the multiplicity, two-theta coverage, omega coverage, and mask coverage.
That gives us the completeness for a given range of hkls comparing the observed vs expected peaks for a given UBI.
Are there any important other terms I haven't considered? There may be edge cases like peak overlap, but I feel that a semi-working solution is better than no solution
from imaged11.
@jadball The forward projector is here : https://github.com/FABLE-3DXRD/ImageD11/blob/master/sandbox/forwards_project.py
I think it just misses a refresh and testcase and to add the mask function from #241? And to return a columfile rather than ascii !!!
from imaged11.
Related Issues (20)
- mlem output_size fails for even output size
- Concurrent Futures style multiprocessing context manager
- Sinogram class HOT 2
- Peakselect module HOT 2
- Make sandbox importable
- Grain recon class HOT 2
- mask argument for mlem is not used internally HOT 5
- Get rid of the shared memory arrays : add a colfile mmap option HOT 2
- sinograms.geometry module HOT 2
- Module based spatial distortions HOT 1
- GrainMap class HOT 3
- notebooks are not in the install HOT 1
- makemap.py introduces a rotation to grain positions in the lab frame for hexagonal systems HOT 1
- Left handed grains from index_unknown
- `ImageD11.columnfile.columnfile` fails to synchronize across `__setattr__` and `__getitem__` calls HOT 5
- Allow no mask to be used with lima_segmenter
- Default values with update_path() in dataset.py HOT 5
- PBP Code seems flipped in horizontal axis HOT 1
- get_ring_current_per_scan does not work for fscan2d data HOT 1
- Saving processing parameters & Nexus output, etc HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from imaged11.