{"id":35126028,"url":"https://github.com/advancedphotonsource/laue-analysis","last_synced_at":"2026-05-21T02:33:26.105Z","repository":{"id":287985145,"uuid":"612365615","full_name":"AdvancedPhotonSource/laue-analysis","owner":"AdvancedPhotonSource","description":"A Python package for Laue diffraction data analysis at beamline 34IDE","archived":false,"fork":false,"pushed_at":"2026-03-06T22:34:30.000Z","size":4848,"stargazers_count":0,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-07T01:34:31.088Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdvancedPhotonSource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-03-10T19:32:17.000Z","updated_at":"2026-03-06T22:34:34.000Z","dependencies_parsed_at":"2025-04-15T01:26:51.038Z","dependency_job_id":"8ef561e5-7f46-46d3-a9b8-cac363cb6f48","html_url":"https://github.com/AdvancedPhotonSource/laue-analysis","commit_stats":null,"previous_names":["linked-liszt/laue-indexing","linked-liszt/laue-analysis","advancedphotonsource/laue-analysis"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AdvancedPhotonSource/laue-analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdvancedPhotonSource%2Flaue-analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdvancedPhotonSource%2Flaue-analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdvancedPhotonSource%2Flaue-analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdvancedPhotonSource%2Flaue-analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdvancedPhotonSource","download_url":"https://codeload.github.com/AdvancedPhotonSource/laue-analysis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdvancedPhotonSource%2Flaue-analysis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33286049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-20T15:12:43.734Z","status":"online","status_checked_at":"2026-05-21T02:00:07.181Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-28T02:40:28.673Z","updated_at":"2026-05-21T02:33:26.099Z","avatar_url":"https://github.com/AdvancedPhotonSource.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# laue-analysis\n\nPython package and C binaries for Laue diffraction data analysis at beamline 34IDE, including indexing and wire scan reconstruction.\n\n## Package Structure\n\n```\nsrc/laueanalysis/\n├── indexing/\n│   ├── index.py             # Functional indexing API\n│   ├── parsers.py           # Output file parsers\n│   ├── xml_utils.py         # XML generation utilities\n│   ├── xmlWriter.py         # XML batch writer\n│   ├── mpi_runner.py        # MPI distributed execution\n│   ├── lau_dataclasses/     # Data models (step, detector, pattern, etc.)\n│   ├── bin/                 # Compiled C executables (euler, peaksearch, pix2qs)\n│   └── src/                 # C source trees\n├── reconstruct/\n│   ├── reconstruct.py       # Reconstruction API (CPU + GPU)\n│   ├── bin/                 # Compiled C executable (reconstructN_cpu)\n│   └── source/              # C source code\n└── __init__.py\n```\n\n## Installation\n\nPrerequisites:\n- Python \u003e= 3.12\n- System: `make`, `gcc`, `h5cc`, GNU Scientific Library (GSL), HDF5 dev libraries\n- Linux only (conda packaging)\n\n```bash\ngit clone https://github.com/AdvancedPhotonSource/laue-analysis.git\ncd laue-analysis\npython3 -m pip install .\n```\n\nThe build step compiles C binaries into `indexing/bin/` and `reconstruct/bin/`.\n\n## Usage\n\n### Indexing\n\n```python\nfrom laueanalysis.indexing import index\n\nresult = index(\n    input_image='path/to/image.h5',\n    output_dir='path/to/output',\n    geo_file='path/to/geometry.xml',\n    crystal_file='path/to/crystal.xml',\n)\n\nprint(result.n_peaks_found, result.n_indexed)\n```\n\nThe `index()` function runs the full pipeline (peak search, pixel-to-q conversion, indexing) and returns an `IndexingResult` with output files, statistics, and parsed data. See `index.py` for all available parameters.\n\n### Wire Scan Reconstruction\n\n```python\nfrom laueanalysis.reconstruct import reconstruct\n\nresult = reconstruct(...)\n```\n\nSee test files for detailed usage examples.\n\n## Output Layout\n\nIndexing outputs are written under `output_dir`:\n\n```\nxml/                        # Per-image indexed XML files\npeaks/peaks_\u003cname\u003e.txt      # Peak search results\np2q/p2q_\u003cname\u003e.txt          # Pixel-to-Q space results\nindex/index_\u003cname\u003e.txt      # Indexing results\nerror/                      # Error logs\n```\n\n## Testing\n\n```bash\npython -m pytest tests/ -v\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadvancedphotonsource%2Flaue-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadvancedphotonsource%2Flaue-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadvancedphotonsource%2Flaue-analysis/lists"}