terraref / computing-pipeline

Pipeline to Extract Plant Phenotypes from Reference Data
BSD 3-Clause "New" or "Revised" License
21 stars 13 forks source link

Update pipeline for changes with flirIRCamera #610

Open jdemieville-ua opened 4 years ago

jdemieville-ua commented 4 years ago

Description

Thermal camera (flirIRCamera) relocated to new external frame and enclosure. As part of this change, there are adjustments to the physical position of the sensor as noted in fixed metadata and new calibration coefficients that must be applied to account for the new window. Additional adjustment of instrument may occur. Note that the new x-position is negative. The camera has been moved south of the reference position. 20200603_134419

Old fixed metadata offsets are as follows: `

        <Value type="String" value="0.346" />
        <Unit type="String" value="m" />
    </entry7>
    <entry8 type="KeyValueUnitTriple">
        <Key type="String" value="location in camera box y" />
        <Value type="String" value="2.250" />
        <Unit type="String" value="m" />
    </entry8>
    <entry9 type="KeyValueUnitTriple">
        <Key type="String" value="location in camera box z" />
        <Value type="String" value="0.520" />
        <Unit type="String" value="m" />
    </entry9>`

New fixed metadata offsets (effective 01 June 2020) are as follows: `

        <Value type="String" value="-1.035" />
        <Unit type="String" value="m" />
    </entry7>
    <entry8 type="KeyValueUnitTriple">
        <Key type="String" value="location in camera box y" />
        <Value type="String" value="1.684" />
        <Unit type="String" value="m" />
    </entry8>
    <entry9 type="KeyValueUnitTriple">
        <Key type="String" value="location in camera box z" />
        <Value type="String" value="0.856" />
        <Unit type="String" value="m" />
    </entry9>`

Tasks Remaining for @jdemieville-ua

  • [ ] Compute calibration coefficients from data collected April/May 2020 with new enclosure

  • [ ] Implement changes in gantry operating scripts

Completion Criteria for pipeline implementation

  • [ ] Update fixed metadata for flirIRcamera

  • [ ] Update calibration for flirIRcamera

jdemieville-ua commented 4 years ago

The calibration process draws upon the work previously performed by Andy French with assistance from John Heun, Stuart Marshall, and Maria Newcomb: https://github.com/terraref/reference-data/issues/230#issue-298342945

For this iteration, additional ambient temperature data collections were performed. A plot of the fit curves is attached: Annotation 2020-06-10 133759

The R script developed by Andy French will need updated to reflect the new coefficients and increased ambient temperature points. In particular: #conventional nls regression derived coefficients cubeparmmat[1,] <- c(-138.3187,0.01872808,-6.206219e-7,9.303883e-12) cubeparmmat[2,] <- c(-126.0155,0.01619146,-4.659710e-7,6.282221e-12) cubeparmmat[3,] <- c(-123.7946,0.01550752,-4.207259e-7,5.358188e-12) cubeparmmat[4,] <- c(-135.0648,0.01743997,-5.381814e-7,7.680099e-12) cubeparmmat[5,] <- c(-135.6012,0.01719204,-5.115752e-7,7.001709e-12) cubeparmmat[6,] <- c(-134.4436,0.01696944,-5.052935e-7,7.029535e-12)

A MATLAB script was developed to perform 1000 iterations of curve fitting. For each iteration, 25 random pixels are sampled from each image. The mean DN of these random points is then used. Cubic polynomials (of the form T = P(1)raw^3 + P(2)raw^2 + P(3)*raw + P(4)) are fit to the data to result in the coefficients for each iteration. The average value of the coefficients is then taken to result in the following coefficients:

P_5_outmean =

 1.137440642331793e-11    -7.151963918140453e-07     2.040023288027391e-02    -1.480567234537099e+02

P_15_outmean =

 1.081311914979629e-11    -7.016010881023338e-07     2.054630019627413e-02    -1.521561215301546e+02

P_20_outmean =

 7.884866004076222e-12    -5.627752964123624e-07     1.841833557270094e-02    -1.424489740528044e+02

P_25_outmean =

 9.583147873422692e-12    -6.411047671547955e-07     1.957403307722059e-02    -1.488744387542483e+02

P_30_outmean =

 7.731929583673130e-12    -5.450000399690083e-07     1.788280850465480e-02    -1.397155089900219e+02

P_35_outmean =

 9.979352154351443e-12    -6.638673059086900e-07     2.015587753410061e-02    -1.556220395053390e+02

P_40_outmean =

 1.113388420010232e-11    -7.376131006851630e-07     2.162806444290634e-02    -1.657425341330783e+02

P_45_outmean =

 8.689237696307418e-12    -6.008401296566917e-07     1.914217995514052e-02    -1.514361986681356e+02

Raw data and MATLAB script used for processing will be uploaded.

Tasks Remaining for @jdemieville-ua

Completion Criteria for pipeline implementation

jdemieville-ua commented 4 years ago

Changes to offsets implemented in gantry operating scripts. Raw data and MATLAB script still need made available.

Tasks Remaining for @jdemieville-ua

Completion Criteria for pipeline implementation

jdemieville-ua commented 4 years ago

Raw data and MATLAB script used for generating coefficients is available at https://drive.google.com/file/d/10rtqYVvH_JhVYMtgxZYk_aRJU7uwPN15/view?usp=sharing

Tasks Remaining for @jdemieville-ua

Completion Criteria for pipeline implementation