Non-negative Matrix Factorization for Time-Resolved Raman Spectroscopy Data: Difference between revisions
m Added wiki, sw, doi links |
mNo edit summary |
||
(19 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
PID (if applicable): doi:10.1007/s10910-020-01201-7 | |||
PID (if applicable): doi: | |||
== Problem Statement == | |||
Crystallization of Paracetamol in Ethanol using Raman Spectroscopy | |||
=== Object of Research and Objective === | |||
Determination of Intermediate States and their Kinetics along the Crystallization of Paracetamol in Ethanol using Raman Spectroscopy. | |||
=== Procedure === | |||
<math> \mathbf{ | <b>Data Acquisition:</b><br> Time-resolved Raman Spectroscopy to follow the crystallization of Paracetamol in accoustically-levitated Ethanol droplets. Surface, temperature (22.0 +/- 1.0 °C), and relative humidity (17.5 +/- 2.5 %) of the environment are controlled by Nitrogen stream. <br><br> <b>Data Extraction:</b><br> Extract the spectroscopic measurement matrix <math> \mathbf{M} \in \mathbb{R} _{+}^{n\times m} </math> ( <math>m</math> measurements of <math>n</math> non-negative intensities) from measurement file containing spectroscopic data and metadata. <br><br> <b>Data Analysis:</b><br> Factorize <math> \mathbf{M}</math> such that <math>\mathbf{M} = \mathbf{W} \cdot \mathbf{H}</math> (<math>\mathbf{W} \in \mathbb{R} _{+}^{n\times r},\mathbf{H} \in \mathbb{R} _{+}^{r\times m}</math> with <math>r</math> the rank of factorization or expected number of components) using a novel non-negative matrix factorization (NMF) approach. <br><br> <b>Data Interpretation:</b><br> <math>\mathbf{W_{rec}}</math> contains the spectra of the substances involved in the crystallization process, while <math>\mathbf{H_{rec}}</math> allows an inference on the kinetics. Interpretation of both matrices leads to the identification of intermediate states and the underlying kinetics. | ||
=== Involved Disciplines === | |||
Chemistry (wikidata:Q2329)<br/> Mathematics (wikidata:Q395) | |||
=== Data Streams === | |||
<math> \mathbf{ | Chemistry <math>\Rightarrow</math> Mathematics (.txt File containing measurement matrix <math>\mathbf{M}</math>)<br/> Mathematics <math>\Rightarrow</math> Chemistry (.png Files containing component spectra <math>\mathbf{W}</math> and relative concentration profiles <math>\mathbf {H}</math>) | ||
=== | == Model == | ||
Non-negative Matrix Factorization | |||
A matrix is factorized into a feature matrix and a weight matrix. | |||
<math>\mathbf{M} = \mathbf{WH}</math> | |||
=== Discretization === | |||
(if applicable) | |||
* Time: Time-resolution of Raman Spectroscopy | |||
* Space: No | |||
=== Variables === | |||
===Variables=== | |||
{| class="wikitable" | {| class="wikitable" | ||
! Name | |||
! Unit | |||
! Symbol | |||
! dependent (measured) / independent (controlled) | |||
|- | |- | ||
| Time | |||
| <math>s</math> | |||
| <math>t</math> | |||
| Independent | |||
|- | |- | ||
| | | Wavenumber | ||
| <math>cm^{-1}</math> | |||
| <math>\bar{\nu}</math> | |||
| Independent | |||
|- | |- | ||
| | | Intensity | ||
| - | |||
| <math>I</math> | |||
| Dependent | |||
|- | |- | ||
| | | Measurement Matrix | ||
| - | |||
| <math>\mathbf{M}</math> | |||
| Dependent | |||
|- | |- | ||
|Substance Matrix | | Substance Matrix | ||
| - | |||
| <math>\mathbf{W}</math> | |||
| Dependent | |||
|- | |- | ||
|Kinetic Matrix | | Kinetic Matrix | ||
| - | |||
| <math>\mathbf{H}</math> | |||
| Dependent | |||
|} | |} | ||
===Parameter=== | === Parameter === | ||
{| class="wikitable" | {| class="wikitable" | ||
!Name | ! Name | ||
!Unit | ! Unit | ||
!Symbol | ! Symbol | ||
|- | |- | ||
|Temperature | | Temperature | ||
|°C | | °C | ||
|T | | T | ||
|- | |- | ||
|Relative Humidity | | Relative Humidity | ||
| % | | % | ||
|RH | | RH | ||
|- | |- | ||
| | | rank of factorization | ||
| - | | - | ||
|<math> r </math> | | <math>r</math> | ||
|- | |- | ||
|Number of Singular Values | | Number of Singular Values | ||
| - | | - | ||
|<math> k </math> | | <math>k</math> | ||
|- | |- | ||
|Singular Value Tolerance | | Singular Value Tolerance | ||
| - | | - | ||
|<math> tol </math> | | <math>tol</math> | ||
|- | |- | ||
|Objective Function Parameter | | Objective Function Parameter | ||
| - | | - | ||
|<math> \alpha, \beta, \gamma, \delta, \mu </math> | | <math>\alpha,\beta,\gamma,\delta,\mu</math> | ||
|- | |- | ||
|Maximum Number of Iterations | | Maximum Number of Iterations | ||
| - | | - | ||
| | | MAXITER | ||
|} | |} | ||
===Process Steps=== | == Process Information == | ||
=== Process Steps === | |||
{| class="wikitable" | {| class="wikitable" | ||
!Name | !width="12%"| Name | ||
!Description | !width="12%"| Description | ||
!Input | !width="12%"| Input | ||
!Output | !width="12%"| Output | ||
!Method | !width="12%"| Method | ||
!Parameter | !width="12%"| Parameter | ||
!Environment | !width="12%"| Environment | ||
!Mathematical Area | !width="12%"| Mathematical Area | ||
|- | |- | ||
|Data Acquisition | | Data Acquisition | ||
|Measurement | | Measurement | ||
| - | | - | ||
| | | Time-resolved Raman Spectra | ||
|Time-resolved Raman Spectroscopy | | Time-resolved Raman Spectroscopy | ||
|T, RH | | T, RH | ||
| | | RXN1 | ||
| - | | - | ||
|- | |- | ||
|Data Extraction | | Data Extraction | ||
|Extract Spectroscopic Data | | Extract Spectroscopic Data | ||
|.icraman | | .icraman | ||
|.txt | | .txt | ||
| - | | - | ||
| - | | - | ||
| | | IC Raman | ||
| - | | - | ||
|- | |- | ||
|Data Analysis | | Data Analysis | ||
|Determine Component Spectra & Concentration | | Determine Component Spectra & Concentration Profile | ||
|.txt | | .txt | ||
|.png | | .png | ||
| | | Non-negtaive Matrix Factorization | ||
|<math> r, tol, k | | <math>r,tol,k,MAXITER,\alpha,\beta,\gamma,\delta,\mu</math> | ||
|Matlab | | Matlab | ||
|Numerical Analysis, Linear Algebra | | Numerical Analysis, Mathematical Optimization, Linear Algebra | ||
|- | |- | ||
|Data Interpretation | | Data Interpretation | ||
|Determine | | Determine Intermediates and Kinetics | ||
|.png | | .png | ||
| - | | - | ||
| - | | - | ||
Line 186: | Line 161: | ||
| - | | - | ||
|} | |} | ||
===Applied Methods=== | === Applied Methods === | ||
{| class="wikitable" | {| class="wikitable" | ||
!ID | !width="20%"| ID | ||
!Name | !width="20%"| Name | ||
!Process Step | !width="20%"| Process Step | ||
!Parameter | !width="20%"| Parameter | ||
!realised/implemented by | !width="20%"| realised / implemented by | ||
|- | |- | ||
| | | wikidata:Q420904 | ||
| | | Singular Value Decomposition | ||
|Data Analysis | | Data Analysis - Pre-Processing | ||
|<math> | | <math>k</math> | ||
| | | Matlab R2019a | ||
|- | |- | ||
|wikidata: | | wikidata:Q43219517 | ||
| | | Moore-Penrose inverse | ||
|Data Analysis - | | Data Analysis - Initializing | ||
|<math> | | <math>tol</math> | ||
|Matlab R2019a | | Matlab R2019a | ||
|- | |- | ||
| | | doi:10.1016/j.laa.2004.10.026 | ||
| | | Perron Cluster Cluster Analysis | ||
|Data Analysis - Initializing | | Data Analysis - Initializing | ||
|<math> | | <math>r</math> | ||
|Matlab | | Matlab Script | ||
|- | |- | ||
| wikidata:Q1253278 | |||
| Nelder-Mead method | |||
| Data Analysis - Minimizing | |||
| <math>\alpha,\beta,\gamma,\delta,\mu</math> | |||
| Matlab R2019a | |||
| | |||
|Nelder-Mead | |||
|Data Analysis - Minimizing | |||
|<math> \alpha, \beta, \gamma, \delta, \mu | |||
|Matlab R2019a | |||
|} | |} | ||
===Software used=== | === Software used === | ||
{| class="wikitable" | {| class="wikitable" | ||
!ID | !width="11%"| ID | ||
!Name | !width="11%"| Name | ||
!Description | !width="11%"| Description | ||
!Version | !width="11%"| Version | ||
!Programming Language | !width="11%"| Programming Language | ||
!Dependencies | !width="11%"| Dependencies | ||
!versioned | !width="11%"| versioned | ||
!published | !width="11%"| published | ||
!documented | !width="11%"| documented | ||
|- | |- | ||
| | | | ||
| | | IC Raman | ||
|Data Acquisition | | Data Acquisition and Reaction Analysis | ||
|4.1 | | 4.1 | ||
| | | C++ (wikidata:Q2407)<br/> Java (wikidata:Q251) | ||
|Windows | | Windows | ||
|Yes | | Yes | ||
|Yes | | Yes | ||
| | | Yes | ||
|- | |- | ||
| | | wikidata:Q169478 | ||
|Matlab | | Matlab | ||
| | | Numerical computing environment for the programming language. | ||
|R2019a | | R2019a | ||
| | | C++ (wikidata:Q2407)<br/> C (wikidata:Q15777)<br/> Fortran (wikidata:Q83303)<br/> Java (wikidata:Q251) | ||
|Windows, Mac, Linux | | Windows, Mac, Linux | ||
|Yes | | Yes | ||
|Yes | | Yes | ||
| | | Yes | ||
|} | |} | ||
===Experimental Devices/Instruments and Computer-Hardware=== | === Experimental Devices/Instruments and Computer-Hardware === | ||
{| class="wikitable" | {| class="wikitable" | ||
!ID | ! ID | ||
!Name | ! Name | ||
!Description | ! Description | ||
!Version | ! Version | ||
!Part Nr | ! Part Nr | ||
!Serial Nr | ! Serial Nr | ||
!Location | ! Location | ||
!Software | ! Software | ||
|- | |- | ||
| | | | ||
|Raman RXN1 | | Raman RXN1 | ||
|Spectrometer | | Raman Spectrometer | ||
| | | | ||
| | | | ||
Line 288: | Line 251: | ||
| | | | ||
|- | |- | ||
| | | | ||
| | | GenuineIntel | ||
|Intel(R) Core(TM) i7-9700T CPU @ 2.00 GHz | | Intel(R) Core(TM) i7-9700T CPU @ 2.00 GHz | ||
| | | | ||
| | | | ||
Line 297: | Line 260: | ||
| | | | ||
|} | |} | ||
===Input Data=== | === Input Data === | ||
{| class="wikitable" | {| class="wikitable" | ||
!ID | !width="10%"| ID | ||
!Name | !width="10%"| Name | ||
!Size | !width="10%"| Size | ||
!Data Structure | !width="10%"| Data Structure | ||
!Format Representation | !width="10%"| Format Representation | ||
!Format Exchange | !width="10%"| Format Exchange | ||
!binary/text | !width="10%"| binary/text | ||
!proprietary | !width="10%"| proprietary | ||
!to publish | !width="10%"| to publish | ||
!to archive | !width="10%"| to archive | ||
|- | |- | ||
| | | | ||
| | | Time-Resolved Raman Spectroscopy Data | ||
| MB | |||
| Matlab Array | |||
| dense matrix | |||
| .txt | |||
| text | |||
| | | No | ||
| Yes | |||
| Yes | |||
| | |||
| | |||
| | |||
|text | |||
|No | |||
|Yes | |||
|Yes | |||
|} | |} | ||
===Output Data=== | === Output Data === | ||
{| class="wikitable" | {| class="wikitable" | ||
!ID | !width="10%"| ID | ||
!Name | !width="10%"| Name | ||
!Size | !width="10%"| Size | ||
!Data Structure | !width="10%"| Data Structure | ||
!Format Representation | !width="10%"| Format Representation | ||
!Format Exchange | !width="10%"| Format Exchange | ||
!binary/text | !width="10%"| binary/text | ||
!proprietary | !width="10%"| proprietary | ||
!to publish | !width="10%"| to publish | ||
!to archive | !width="10%"| to archive | ||
|- | |- | ||
| | | | ||
|Component Spectra | | Component Spectra | ||
| | | MB | ||
|Matlab Array | | Matlab Array | ||
| | | Plot | ||
|.png | | .png | ||
|binary | | binary | ||
|No | | No | ||
|Yes | | Yes | ||
|Yes | | Yes | ||
|- | |- | ||
| | | | ||
|Concentration Profile | | Concentration Profile | ||
| | | MB | ||
|Matlab Array | | Matlab Array | ||
| | | Plot | ||
|.png | | .png | ||
|binary | | binary | ||
|No | | No | ||
|Yes | | Yes | ||
|Yes | | Yes | ||
|} | |} | ||
==Reproducibility== | |||
===Reproducibility of | == Reproducibility == | ||
=== Mathematical Reproducibility === | |||
Yes | |||
=== Runtime Reproducibility === | |||
Yes | |||
=== Reproducibility of Results === | |||
Yes | |||
=== Reproducibility on original Hardware === | |||
Yes | Yes | ||
===Reproducibility | === Reproducibility on other Hardware === | ||
Yes | Yes | ||
===Transferability | === Transferability to === | ||
a) other | |||
a) other objects | |||
= Legend = | |||
The following abbreviations are used in the document to indicate/resolve IDs: | The following abbreviations are used in the document to indicate/resolve IDs: | ||
doi: https://dx.doi.org/ | doi: DOI / https://dx.doi.org/ | ||
sw: swmath / https://swmath.org/software/ | |||
wikidata: Wikidata / https://www.wikidata.org/wiki/ | |||
mardi: MaRDI / https://portal.mardi4nfdi.de/wiki/ | |||
[[Category:MaRDMO workflows]] |
Latest revision as of 22:41, 16 March 2024
PID (if applicable): doi:10.1007/s10910-020-01201-7
Problem Statement
Crystallization of Paracetamol in Ethanol using Raman Spectroscopy
Object of Research and Objective
Determination of Intermediate States and their Kinetics along the Crystallization of Paracetamol in Ethanol using Raman Spectroscopy.
Procedure
Data Acquisition:
Time-resolved Raman Spectroscopy to follow the crystallization of Paracetamol in accoustically-levitated Ethanol droplets. Surface, temperature (22.0 +/- 1.0 °C), and relative humidity (17.5 +/- 2.5 %) of the environment are controlled by Nitrogen stream.
Data Extraction:
Extract the spectroscopic measurement matrix ( measurements of non-negative intensities) from measurement file containing spectroscopic data and metadata.
Data Analysis:
Factorize such that ( with the rank of factorization or expected number of components) using a novel non-negative matrix factorization (NMF) approach.
Data Interpretation:
contains the spectra of the substances involved in the crystallization process, while allows an inference on the kinetics. Interpretation of both matrices leads to the identification of intermediate states and the underlying kinetics.
Involved Disciplines
Chemistry (wikidata:Q2329)
Mathematics (wikidata:Q395)
Data Streams
Chemistry Mathematics (.txt File containing measurement matrix )
Mathematics Chemistry (.png Files containing component spectra and relative concentration profiles )
Model
Non-negative Matrix Factorization
A matrix is factorized into a feature matrix and a weight matrix.
Discretization
(if applicable)
- Time: Time-resolution of Raman Spectroscopy
- Space: No
Variables
Parameter
Process Information
Process Steps
Applied Methods
Software used
ID | Name | Description | Version | Programming Language | Dependencies | versioned | published | documented |
---|---|---|---|---|---|---|---|---|
IC Raman | Data Acquisition and Reaction Analysis | 4.1 | C++ (wikidata:Q2407) Java (wikidata:Q251) |
Windows | Yes | Yes | Yes | |
wikidata:Q169478 | Matlab | Numerical computing environment for the programming language. | R2019a | C++ (wikidata:Q2407) C (wikidata:Q15777) Fortran (wikidata:Q83303) Java (wikidata:Q251) |
Windows, Mac, Linux | Yes | Yes | Yes |
Experimental Devices/Instruments and Computer-Hardware
ID | Name | Description | Version | Part Nr | Serial Nr | Location | Software |
---|---|---|---|---|---|---|---|
Raman RXN1 | Raman Spectrometer | ||||||
GenuineIntel | Intel(R) Core(TM) i7-9700T CPU @ 2.00 GHz |
Input Data
ID | Name | Size | Data Structure | Format Representation | Format Exchange | binary/text | proprietary | to publish | to archive |
---|---|---|---|---|---|---|---|---|---|
Time-Resolved Raman Spectroscopy Data | MB | Matlab Array | dense matrix | .txt | text | No | Yes | Yes |
Output Data
ID | Name | Size | Data Structure | Format Representation | Format Exchange | binary/text | proprietary | to publish | to archive |
---|---|---|---|---|---|---|---|---|---|
Component Spectra | MB | Matlab Array | Plot | .png | binary | No | Yes | Yes | |
Concentration Profile | MB | Matlab Array | Plot | .png | binary | No | Yes | Yes |
Reproducibility
Mathematical Reproducibility
Yes
Runtime Reproducibility
Yes
Reproducibility of Results
Yes
Reproducibility on original Hardware
Yes
Reproducibility on other Hardware
Yes
Transferability to
a) other objects
Legend
The following abbreviations are used in the document to indicate/resolve IDs:
doi: DOI / https://dx.doi.org/
sw: swmath / https://swmath.org/software/
wikidata: Wikidata / https://www.wikidata.org/wiki/
mardi: MaRDI / https://portal.mardi4nfdi.de/wiki/