Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Sample Composition Registry and Unknown Element Detection

Open
#70 0 comments 0 reactions 2 assignees View on GitHub

@KedoKudo is already working on this.

Since Apr 7, 2025.

Assessment

This issue has not been assessed yet.

Description

v2.2

As a scientist, I need to specify known elements/isotopes in my sample and identify unknown components for accurate analysis.

EWM: 10636

Description

This user story creates a system for users to define the composition of their experimental samples. Users can specify known elements/isotopes with their abundances for use as initial fitting parameters and baseline comparisons. The system also supports partially or completely unknown samples, with PLEIADES providing routines to identify these unknown components during analysis.

Tasks

1. Create Sample Composition Registry
  • Develop a sample composition specification system
        - [ ] Element selection interface with periodic table integration
        - [ ] Isotope selection for each element with natural abundance defaults
        - [ ] Custom abundance specification with uncertainty handling
        - [ ] Sample thickness, density, and physical state inputs
  • Implement registry storage and retrieval system
        - [ ] Save/load sample compositions
        - [ ] Version tracking for composition changes
  • Build validation system for physically plausible compositions
        - [ ] Check for total abundance normalization
        - [ ] Validate physical parameters (density, thickness, etc.)
        - [ ] Flag unlikely or incompatible combinations
2. Implement Unknown Component Handling
  • Create system for marking unknown or partially unknown samples
        - [ ] Specify known components while marking others as unknown
        - [ ] Define confidence levels for partially known compositions
        - [ ] Set constraints on possible unknown elements (e.g., heavy metals, light elements)
  • Build analysis pipeline for unknown component detection
        - [ ] Resonance pattern matching algorithms
        - [ ] Statistical techniques for element identification
        - [ ] Confidence scoring for identified elements
  • Implement iterative refinement workflow
        - [ ] Update sample composition based on analysis results
        - [ ] Track changes between initial guess and refined composition
        - [ ] Document evidence for identified components
3. Develop Interactive Sample Definition Interface
  • Create interactive Jupyter widget for sample definition
        - [ ] Visual periodic table for element selection
        - [ ] Isotope dropdown with abundance sliders
        - [ ] Unknown component specification options
  • Implement visualization of sample composition
        - [ ] Abundance pie charts and bar graphs
        - [ ] Expected resonance feature preview
        - [ ] Uncertainty visualization
  • Build export mechanism for analysis pipelines
        - [ ] Generate initial parameter files for fitting
        - [ ] Create configuration for unknown element detection
        - [ ] Export composition reports for documentation

Acceptance Criteria

  1. Users can define sample compositions with known elements and isotopes
  2. System supports specification of unknown or partially unknown components
  3. Registry provides good initial guesses for fitting procedures
  4. Interactive interface makes sample definition intuitive for users
  5. Unknown element detection provides reasonable suggestions during analysis
  6. Sample compositions can be saved, loaded, and versioned throughout analysis

Dependencies

#57 #64

Dominant language
Python
Stars
7
Forks
5
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from lanl/PLEIADES

All issues in lanl/PLEIADES

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.