Skip to content
Snippets Groups Projects
README.md 2.17 KiB
Newer Older
  • Learn to ignore specific revisions
  • BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    # NIRS_Workflow
    
    ## Getting started
    
    DIANE's avatar
    DIANE committed
    This package aims to provide a workflow for users who want to perform chemical analyses and predict characteristics using the NIRS technique.
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    
    
    The process includes:
    - sample selection - you can upload all your NIRS spectra and it'll help to select the samples to analyse chemically.
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    - model creation - the PINARD (https://github.com/GBeurier/pinard) package creates a prediction model with spectra and related chemical analysis.
    More algorythms had been added like LWPLR from Jchemo (https://github.com/mlesnoff/Jchemo.jl), PLSR with wavelength selection, etc.
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    - predictions - the models are used to predict chemical values for unknown samples. We provide information for confidence in the predicted values depending on the samples and the model used.
    
    
    If one wants to use data stored in a SQL database, the config file is in the config/ folder.
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    The SQL script to create the database is in this same folder.
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    ## Installation
    
    Nicolas Barthes's avatar
    Nicolas Barthes committed
    This package is written in python. You can clone the repository: git clone https://src.koda.cnrs.fr/CEFE/PACE/nirs_workflow.git
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    
    
    Nicolas Barthes's avatar
    Nicolas Barthes committed
    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.  
    
    DIANE's avatar
    DIANE committed
    From the CLI: python
    
    > python   
    '>>> import julia  
    '>>> julia.install()  
    '>>> from julia import Pkg  
    '>>> Pkg.add(["Jchemo","DataFrames","Pandas"])
    
    DIANE's avatar
    DIANE committed
    To check if Jchemo is installed without errors:
    
    Nicolas Barthes's avatar
    Nicolas Barthes committed
    > '>>> Pkg.status()
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    
    
    Nicolas Barthes's avatar
    Nicolas Barthes committed
    You can then run (CLI): streamlit run ./app.py from within your src/ folder.
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    
    
    Nicolas Barthes's avatar
    Nicolas Barthes committed
    The app will open in your default browser.
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    The web app allows you to process sample selection, model creation and predictions with a simple interface or the advanced one.
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    
    
    ## Documentation
    The doc is generated with mkDoc and Python DocStrings.
    From CLI, run 
    > mkdocs serve
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    ## Authors and acknowledgment
    
    Contributors:
    - Nicolas Barthes (CNRS)
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    - Abderrahim Diane (Montpellier University)
    - Mouhcine Maimouni 
    - Rémy Beugnon 
    - Alexandre Granier (IRD)
    - Vincent Nègre (CNRS)
    
    We would like to thank Matthieu Lesnoff (CIRAD) for discussions and the Jchemo Toolbox.
    
    BARTHES Nicolas's avatar
    BARTHES Nicolas committed
    
    ## License
    
    DIANE's avatar
    DIANE committed
    CC BY