Skip to content

Add support for WebID and Cambio [ENHANCEMENT] #122

@tyronechrisharris

Description

@tyronechrisharris

Enhancement/Feature Request

Description

This request proposes the integration of the Cambio library and the WebID service (Sandia National Laboratory) into the Oscar project. Cambio will be used to standardize spectroscopic files (N42 format), which will then be submitted to the WebID API for advanced spectroscopic analysis and isotope identification. This integration aims to enhance the system's identification capabilities by providing a secondary, high-fidelity analysis source alongside the original instrument's results.

Use Case

  • Secondary Analysis via WebID: A user with internet access has enabled the "WebID analysis option". When they upload an N42 file to an investigation (either via manual upload or QR code capture from a device like a Verifinder), they want the system to automatically send the file to the WebID service for analysis.
  • Standardization: A user uses a non-QR capable spectroscopic device. They upload the file, and the system uses Cambio to convert/standardize the file into a format compliant with the WebID service before submission.
  • Result Comparison: The user views the investigation UI and sees the WebID identified isotopes displayed next to, but distinct from, the original instrument's identification results.

Expected Behavior

  1. File Handling: When an N42 file is uploaded, the system utilizes Cambio to convert/validate the file into a standardized format suitable for the WebID service.
  2. API Submission: The system sends the spectroscopic data to the WebID API endpoint.
    • The system should handle cases where only a "foreground" spectrum is available by using the API option to synthesize the background (e.g., options={"synthesizeBackground": true}).
  3. Data Persistence: The system parses the API response and stores relevant analysis data, specifically:
    • Isotope Name (name)
    • Isotope Type (type e.g., SNM, Medical)
    • Confidence Level (confidence)
    • Estimated Dose (estimated Dose)
    • Diagnostic attributes like chi2 and analysis Error.
  4. User Interface: The UI displays these returned values in the investigation record, clearly marked as WebID results.

Current Behavior

Currently, the system allows for the collection and storage of spectroscopic alarm data (N42 files) but relies solely on the identifications provided by the instrument itself. There is no automated mechanism to normalize these files using Cambio or to send them to an external service for secondary adjudication/analysis.

Additional Information

  • Cambio Repository: https://github.com/sandialabs/cambio
  • WebID API Endpoint: https://full-spectrum.sandia.gov/api/v1/analysis
  • API Usage Examples:
    • Analyze foreground only (synthesize background):
      curl -v -F "options={\"synthesizeBackground\": true}" -F "foreground=@./foreground.n42" https://full-spectrum.sandia.gov/api/v1/analysis
    • Specify Detector Response Function (DRF):
      .../analysis?drf=IdentifINDER-NGH
  • Relevant Response Fields: The developer should look for the following fields in the JSON response: Isotope Info array (containing name, type, confidence, count Rate), estimated Dose, and DRF.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions