luox-app / luox

Code base for the luox platform
https://luox.app/
GNU General Public License v3.0
14 stars 11 forks source link

add spdx file parsing #67

Closed austin-dorff-ae closed 3 years ago

austin-dorff-ae commented 3 years ago

Added SPDX File parsing as well as a few other changes to assist in the changing of the different file types.

image

image

image

image

spitschan commented 3 years ago

Example SPDX file (from IES):

<?xml version="1.0"?>
<IESTM2714 xmlns="http://www.ies.org/iestm2714" version="1.0">
    <Header>
        <Manufacturer>Ketra</Manufacturer>
        <CatalogNumber>A20</CatalogNumber>
        <Description>A20 Tunable LED Lamp</Description>
        <DocumentCreator>byHeart Consultants</DocumentCreator>
        <Laboratory>N/A</Laboratory>
        <UniqueIdentifier>C3567553-C75B-4354-961E-35CEB9FEB42C</UniqueIdentifier>
        <ReportNumber>N/A</ReportNumber>
        <ReportDate>N/A</ReportDate>
        <DocumentCreationDate>2015-06-03</DocumentCreationDate>
        <Comments>3000K setting</Comments>
    </Header>
    <SpectralDistribution>
        <SpectralQuantity>relative</SpectralQuantity>
        <BandwidthFWHM>2.0</BandwidthFWHM>
        <BandwidthCorrected>true</BandwidthCorrected>
        <SpectralData wavelength="380">0.00160</SpectralData>
        <SpectralData wavelength="382">0.00148</SpectralData>
        <SpectralData wavelength="384">0.00148</SpectralData>
        <SpectralData wavelength="386">0.00121</SpectralData>
        <SpectralData wavelength="388">0.00133</SpectralData>
        <SpectralData wavelength="390">0.00122</SpectralData>
        <SpectralData wavelength="392">0.00127</SpectralData>
        <SpectralData wavelength="394">0.00134</SpectralData>
        <SpectralData wavelength="396">0.00126</SpectralData>
        <SpectralData wavelength="398">0.00149</SpectralData>
        <SpectralData wavelength="400">0.00172</SpectralData>
        <SpectralData wavelength="402">0.00208</SpectralData>
        <SpectralData wavelength="404">0.00243</SpectralData>
        <SpectralData wavelength="406">0.00283</SpectralData>
        <SpectralData wavelength="408">0.00353</SpectralData>
        <SpectralData wavelength="410">0.00488</SpectralData>
        <SpectralData wavelength="412">0.00641</SpectralData>
        <SpectralData wavelength="414">0.00837</SpectralData>
        <SpectralData wavelength="416">0.01098</SpectralData>
        <SpectralData wavelength="418">0.01444</SpectralData>
        <SpectralData wavelength="420">0.01874</SpectralData>
        <SpectralData wavelength="422">0.02420</SpectralData>
        <SpectralData wavelength="424">0.03063</SpectralData>
        <SpectralData wavelength="426">0.03834</SpectralData>
        <SpectralData wavelength="428">0.04761</SpectralData>
        <SpectralData wavelength="430">0.05810</SpectralData>
        <SpectralData wavelength="432">0.07078</SpectralData>
        <SpectralData wavelength="434">0.08507</SpectralData>
        <SpectralData wavelength="436">0.10246</SpectralData>
        <SpectralData wavelength="438">0.12400</SpectralData>
        <SpectralData wavelength="440">0.14964</SpectralData>
        <SpectralData wavelength="442">0.17854</SpectralData>
        <SpectralData wavelength="444">0.21047</SpectralData>
        <SpectralData wavelength="446">0.24046</SpectralData>
        <SpectralData wavelength="448">0.26609</SpectralData>
        <SpectralData wavelength="450">0.28103</SpectralData>
        <SpectralData wavelength="452">0.28667</SpectralData>
        <SpectralData wavelength="454">0.28176</SpectralData>
        <SpectralData wavelength="456">0.26660</SpectralData>
        <SpectralData wavelength="458">0.24621</SpectralData>
        <SpectralData wavelength="460">0.22162</SpectralData>
        <SpectralData wavelength="462">0.19746</SpectralData>
        <SpectralData wavelength="464">0.17510</SpectralData>
        <SpectralData wavelength="466">0.15546</SpectralData>
        <SpectralData wavelength="468">0.13911</SpectralData>
        <SpectralData wavelength="470">0.12505</SpectralData>
        <SpectralData wavelength="472">0.11264</SpectralData>
        <SpectralData wavelength="474">0.10230</SpectralData>
        <SpectralData wavelength="476">0.09447</SpectralData>
        <SpectralData wavelength="478">0.08884</SpectralData>
        <SpectralData wavelength="480">0.08602</SpectralData>
        <SpectralData wavelength="482">0.08516</SpectralData>
        <SpectralData wavelength="484">0.08654</SpectralData>
        <SpectralData wavelength="486">0.08923</SpectralData>
        <SpectralData wavelength="488">0.09448</SpectralData>
        <SpectralData wavelength="490">0.10182</SpectralData>
        <SpectralData wavelength="492">0.11071</SpectralData>
        <SpectralData wavelength="494">0.12259</SpectralData>
        <SpectralData wavelength="496">0.13674</SpectralData>
        <SpectralData wavelength="498">0.15317</SpectralData>
        <SpectralData wavelength="500">0.17139</SpectralData>
        <SpectralData wavelength="502">0.19315</SpectralData>
        <SpectralData wavelength="504">0.21665</SpectralData>
        <SpectralData wavelength="506">0.24119</SpectralData>
        <SpectralData wavelength="508">0.26814</SpectralData>
        <SpectralData wavelength="510">0.29508</SpectralData>
        <SpectralData wavelength="512">0.32168</SpectralData>
        <SpectralData wavelength="514">0.34653</SpectralData>
        <SpectralData wavelength="516">0.36832</SpectralData>
        <SpectralData wavelength="518">0.38712</SpectralData>
        <SpectralData wavelength="520">0.40033</SpectralData>
        <SpectralData wavelength="522">0.40981</SpectralData>
        <SpectralData wavelength="524">0.41336</SpectralData>
        <SpectralData wavelength="526">0.41343</SpectralData>
        <SpectralData wavelength="528">0.41094</SpectralData>
        <SpectralData wavelength="530">0.40567</SpectralData>
        <SpectralData wavelength="532">0.39866</SpectralData>
        <SpectralData wavelength="534">0.39149</SpectralData>
        <SpectralData wavelength="536">0.38460</SpectralData>
        <SpectralData wavelength="538">0.37803</SpectralData>
        <SpectralData wavelength="540">0.37088</SpectralData>
        <SpectralData wavelength="542">0.36618</SpectralData>
        <SpectralData wavelength="544">0.36033</SpectralData>
        <SpectralData wavelength="546">0.35578</SpectralData>
        <SpectralData wavelength="548">0.35165</SpectralData>
        <SpectralData wavelength="550">0.34859</SpectralData>
        <SpectralData wavelength="552">0.34595</SpectralData>
        <SpectralData wavelength="554">0.34371</SpectralData>
        <SpectralData wavelength="556">0.34352</SpectralData>
        <SpectralData wavelength="558">0.34365</SpectralData>
        <SpectralData wavelength="560">0.34475</SpectralData>
        <SpectralData wavelength="562">0.34667</SpectralData>
        <SpectralData wavelength="564">0.34875</SpectralData>
        <SpectralData wavelength="566">0.35240</SpectralData>
        <SpectralData wavelength="568">0.35580</SpectralData>
        <SpectralData wavelength="570">0.36181</SpectralData>
        <SpectralData wavelength="572">0.36440</SpectralData>
        <SpectralData wavelength="574">0.37007</SpectralData>
        <SpectralData wavelength="576">0.37577</SpectralData>
        <SpectralData wavelength="578">0.38028</SpectralData>
        <SpectralData wavelength="580">0.38702</SpectralData>
        <SpectralData wavelength="582">0.39225</SpectralData>
        <SpectralData wavelength="584">0.39966</SpectralData>
        <SpectralData wavelength="586">0.40379</SpectralData>
        <SpectralData wavelength="588">0.41071</SpectralData>
        <SpectralData wavelength="590">0.41682</SpectralData>
        <SpectralData wavelength="592">0.42321</SpectralData>
        <SpectralData wavelength="594">0.42870</SpectralData>
        <SpectralData wavelength="596">0.43452</SpectralData>
        <SpectralData wavelength="598">0.44061</SpectralData>
        <SpectralData wavelength="600">0.44828</SpectralData>
        <SpectralData wavelength="602">0.45448</SpectralData>
        <SpectralData wavelength="604">0.46223</SpectralData>
        <SpectralData wavelength="606">0.47076</SpectralData>
        <SpectralData wavelength="608">0.48274</SpectralData>
        <SpectralData wavelength="610">0.49496</SpectralData>
        <SpectralData wavelength="612">0.50833</SpectralData>
        <SpectralData wavelength="614">0.52743</SpectralData>
        <SpectralData wavelength="616">0.54795</SpectralData>
        <SpectralData wavelength="618">0.57521</SpectralData>
        <SpectralData wavelength="620">0.61053</SpectralData>
        <SpectralData wavelength="622">0.64886</SpectralData>
        <SpectralData wavelength="624">0.69405</SpectralData>
        <SpectralData wavelength="626">0.74533</SpectralData>
        <SpectralData wavelength="628">0.80906</SpectralData>
        <SpectralData wavelength="630">0.87487</SpectralData>
        <SpectralData wavelength="632">0.94781</SpectralData>
        <SpectralData wavelength="634">1.00000</SpectralData>
        <SpectralData wavelength="636">0.99090</SpectralData>
        <SpectralData wavelength="638">0.90291</SpectralData>
        <SpectralData wavelength="640">0.75887</SpectralData>
        <SpectralData wavelength="642">0.61905</SpectralData>
        <SpectralData wavelength="644">0.50728</SpectralData>
        <SpectralData wavelength="646">0.42644</SpectralData>
        <SpectralData wavelength="648">0.37113</SpectralData>
        <SpectralData wavelength="650">0.32792</SpectralData>
        <SpectralData wavelength="652">0.29497</SpectralData>
        <SpectralData wavelength="654">0.26987</SpectralData>
        <SpectralData wavelength="656">0.24926</SpectralData>
        <SpectralData wavelength="658">0.23245</SpectralData>
        <SpectralData wavelength="660">0.21765</SpectralData>
        <SpectralData wavelength="662">0.20573</SpectralData>
        <SpectralData wavelength="664">0.19430</SpectralData>
        <SpectralData wavelength="666">0.18299</SpectralData>
        <SpectralData wavelength="668">0.17430</SpectralData>
        <SpectralData wavelength="670">0.16492</SpectralData>
        <SpectralData wavelength="672">0.15629</SpectralData>
        <SpectralData wavelength="674">0.14836</SpectralData>
        <SpectralData wavelength="676">0.14045</SpectralData>
        <SpectralData wavelength="678">0.13328</SpectralData>
        <SpectralData wavelength="680">0.12624</SpectralData>
        <SpectralData wavelength="682">0.11964</SpectralData>
        <SpectralData wavelength="684">0.11306</SpectralData>
        <SpectralData wavelength="686">0.10748</SpectralData>
        <SpectralData wavelength="688">0.10178</SpectralData>
        <SpectralData wavelength="690">0.09615</SpectralData>
        <SpectralData wavelength="692">0.09097</SpectralData>
        <SpectralData wavelength="694">0.08682</SpectralData>
        <SpectralData wavelength="696">0.08152</SpectralData>
        <SpectralData wavelength="698">0.07663</SpectralData>
        <SpectralData wavelength="700">0.07259</SpectralData>
        <SpectralData wavelength="702">0.06842</SpectralData>
        <SpectralData wavelength="704">0.06454</SpectralData>
        <SpectralData wavelength="706">0.06082</SpectralData>
        <SpectralData wavelength="708">0.05730</SpectralData>
        <SpectralData wavelength="710">0.05411</SpectralData>
        <SpectralData wavelength="712">0.05116</SpectralData>
        <SpectralData wavelength="714">0.04804</SpectralData>
        <SpectralData wavelength="716">0.04530</SpectralData>
        <SpectralData wavelength="718">0.04265</SpectralData>
        <SpectralData wavelength="720">0.04033</SpectralData>
        <SpectralData wavelength="722">0.03791</SpectralData>
        <SpectralData wavelength="724">0.03580</SpectralData>
        <SpectralData wavelength="726">0.03331</SpectralData>
        <SpectralData wavelength="728">0.03156</SpectralData>
        <SpectralData wavelength="730">0.02977</SpectralData>
    </SpectralDistribution>
</IESTM2714>
spitschan commented 3 years ago

Two additional files to test with:

https://github.com/JGoldstone/EIEIO/blob/962da190f23c38b3cda29833ff4890df2618a038/eieio/data/sample_spectral_radiance_measurement.xml

https://github.com/ksmet1977/luxpy_app/blob/ec5ecfb0787b14caa40a7e9e49297b6da3518ea7/data/cie_d65_5nm.spdx