# NIRS_Workflow

## Getting started
This package aims to provide a workflow for users who want to perform chemical analyses and predict characteristics using the NIRS technique.

The process includes:
- sample selection - you can upload all your NIRS spectra and it'll help to select the samples to analyse chemically.


- model creation - the PINARD (https://github.com/GBeurier/pinard) package creates a prediction model with spectra and related chemical analysis.-


- predictions - the PINARD package uses the model to predict chemical values for unknown samples.

If one wants to use data stored in a SQL database, the config file is in the config/ folder.

## Installation
This package is written in python. You can clone the repository: git clone https://src.koda.cnrs.fr/CEFE/PACE/nirs_workflow.git

Then install the requirements: pip install -r requirements.txt
(OPTIONNAL) To use Locally weighted PLS Regression for creation model, you will need to install Jchemo.jl (https://github.com/mlesnoff/Jchemo.jl), a Julia package.
From the CLI: python
> python   
'>>> import julia  
'>>> julia.install()  
'>>> from julia import Pkg  
'>>> Pkg.add(["Jchemo","DataFrames","Pandas"])

To check if Jchemo is installed without errors:
> '>>> Pkg.status()

You can then run (CLI): streamlit run ./app.py from within your folder.

The app will open in your default browser.

## Usage
The web app allows you to process sample selection, model creation and predictions.

## Documentation
The doc is generated with mkDoc and Python DocStrings.
From CLI, run 
> mkdocs serve
## Authors and acknowledgment
Contributors:
- Nicolas Barthes (CNRS)
- 

## License
CC BY