Skip to content

Commit 9397e79

Browse files
committed
Update license and readme
1 parent fde96d8 commit 9397e79

2 files changed

Lines changed: 91 additions & 38 deletions

File tree

LICENSE

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
Copyright (c), UChicago Argonne, LLC. All rights reserved.
2+
3+
Copyright. UChicago Argonne, LLC. This software was produced
4+
under U.S. Government contract DE-AC02-06CH11357 for Argonne National
5+
Laboratory (ANL), which is operated by UChicago Argonne, LLC for the
6+
U.S. Department of Energy. The U.S. Government has rights to use,
7+
reproduce, and distribute this software. NEITHER THE GOVERNMENT NOR
8+
UChicago Argonne, LLC MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR
9+
ASSUMES ANY LIABILITY FOR THE USE OF THIS SOFTWARE. If software is
10+
modified to produce derivative works, such modified software should
11+
be clearly marked, so as not to confuse it with the version available
12+
from ANL.
13+
14+
Additionally, redistribution and use in source and binary forms, with
15+
or without modification, are permitted provided that the following
16+
conditions are met:
17+
18+
* Redistributions of source code must retain the above copyright
19+
notice, this list of conditions and the following disclaimer.
20+
21+
* Redistributions in binary form must reproduce the above copyright
22+
notice, this list of conditions and the following disclaimer in
23+
the documentation and/or other materials provided with the
24+
distribution.
25+
26+
* Neither the name of UChicago Argonne, LLC, Argonne National
27+
Laboratory, ANL, the U.S. Government, nor the names of its
28+
contributors may be used to endorse or promote products derived
29+
from this software without specific prior written permission.
30+
31+
THIS SOFTWARE IS PROVIDED BY UChicago Argonne, LLC AND CONTRIBUTORS
32+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
34+
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UChicago
35+
Argonne, LLC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
36+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
37+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
38+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
39+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
40+
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
41+
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42+
POSSIBILITY OF SUCH DAMAGE.

README.md

Lines changed: 49 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,77 @@
11
# Laue Portal
22

3-
A comprehensive web-based platform for Laue X-ray diffraction data analysis and reconstruction, designed for synchrotron beamline operations at the APS 3DMN beamline: 34-IDE.
3+
A web-based platform for managing Laue X-ray diffraction data processing workflows at APS beamline 34-ID-E.
44

5+
## Overview
56

6-
Laue Portal is a Dash-based web application that provides an integrated workflow for processing and analyzing Laue diffraction patterns. The platform combines data management, peak indexing, and 3D reconstruction capabilities with an intuitive web interface for researchers working with polychromatic X-ray diffraction data.
7+
Laue Portal provides a Dash-based interface for processing and analyzing depth resolved X-ray diffraction data. It manages the workflow from scan metadata collection through peak indexing and 3D reconstruction.
78

9+
## Installation
810

911
### Prerequisites
10-
- Python 3.12
12+
- Python 3.11+
13+
- Redis server
1114
- SQLite
12-
- HDF5 libraries
1315

1416
### Setup
17+
1518
1. Clone the repository:
16-
```bash
17-
git clone <repository-url>
18-
cd laue-portal
19-
```
19+
```bash
20+
git clone https://github.com/Linked-Liszt/laue-portal.git
21+
cd laue-portal
22+
```
2023

2124
2. Install dependencies:
22-
```bash
23-
pip install -r requirements.txt
24-
```
25-
26-
3. Run the application:
27-
```bash
28-
python lau_dash.py
29-
```
25+
```bash
26+
pip install -r requirements.txt
27+
```
3028

31-
4. Access the web interface at `http://localhost:2052`
29+
3. Configure the application by editing `config.py`:
30+
- `db_file`: Database path (default: `Laue_Records.db`)
31+
- `REDIS_CONFIG`: Redis connection settings
32+
- `DASH_CONFIG`: Web server host/port (default: `localhost:2092`)
33+
- `DEFAULT_VARIABLES`: Processing parameters and workspace paths
3234

33-
## Architecture
35+
## Usage
3436

35-
### Core Components
37+
### Start the Web Application Without Processing
3638

37-
- **`lau_dash.py`**: Main Dash application entry point
38-
- **`laue_portal/`**: Core application package
39-
- **`pages/`**: Web interface pages (scans, reconstructions, peak indexing)
40-
- **`components/`**: Reusable UI components and forms
41-
- **`database/`**: Database schema and utilities
42-
- **`recon/`**: Reconstruction algorithms and analysis tools
39+
```bash
40+
python lau_dash.py
41+
```
4342

43+
### Production Deployment with Supervisor
4444

45-
### Workflow Integration
45+
```bash
46+
cd supervisor
47+
./setup_supervisor.sh <conda_env_name_or_path>
48+
./start_supervisor.sh
49+
```
4650

47-
- **`polaris_workflow/`**: Integration with Argonne's Polaris supercomputer
48-
- **`gladier`**: Workflow orchestration for distributed computing
49-
- **Remote Processing**: Automated data transfer and processing on HPC resources
51+
See `supervisor/README.md` for detailed management commands.
5052

53+
## Project Structure
5154

52-
## Configuration
55+
```
56+
laue-portal/
57+
├── lau_dash.py # Main Dash application
58+
├── config.py # Configuration settings
59+
├── laue_portal/
60+
│ ├── components/ # UI components and forms
61+
│ ├── database/ # SQLAlchemy models and utilities
62+
│ ├── pages/ # Page layouts and callbacks
63+
│ ├── processing/ # RQ workers and Redis utilities
64+
│ └── recon/ # Reconstruction analysis tools
65+
├── polaris_workflow/ # HPC workflow integration (Gladier/funcX)
66+
├── supervisor/ # Production deployment scripts
67+
└── tests/ # Test suite
68+
```
5369

54-
Key configuration files:
55-
- **`config.py`**: Database and application settings
56-
- **`polaris_workflow/funcx_launch/laue_conf.json`**: HPC workflow configuration
57-
- **`requirements.txt`**: Python dependencies
5870

71+
## Development
5972

60-
## Testing
73+
### Running Tests
6174

62-
Run the test suite:
6375
```bash
64-
python -m unittest discover -s tests -p 'test_*.py'
76+
pytest tests/
6577
```
66-

0 commit comments

Comments
 (0)