diff --git a/developHw.pro b/developHw.pro index bffcaa1..9df9338 100644 --- a/developHw.pro +++ b/developHw.pro @@ -23,13 +23,15 @@ SOURCES += \ api.cpp \ $$files(src/*.cpp, true) \ $$files(hdf5Scenario/*.cpp, true) \ + $$files(kernelParams/*.cpp, true) \ HEADERS += \ mainwindow.h \ qcustomplot.h \ api.h \ - $$files(include/*.h, true) - $$files(hdf5Scenario/*.h, true) + $$files(include/*.h, true) \ + $$files(hdf5Scenario/*.h, true) \ + $$files(kernelParams/*.h, true) \ INCLUDEPATH += \ "$$PWD/include" \ diff --git a/developHw.pro.user b/developHw.pro.user index 795a694..e5e9519 100644 --- a/developHw.pro.user +++ b/developHw.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/kernelParams/DynContrCurves.csv b/kernelParams/DynContrCurves.csv new file mode 100644 index 0000000..cabebc3 --- /dev/null +++ b/kernelParams/DynContrCurves.csv @@ -0,0 +1,12 @@ +0,0.159884254,1.169178248,2.17867424,3.188376224,4.198467718,5.209261387,6.221047205,7.233940506,8.247831302,9.262637641,10.27825461,11.29450321,12.3113833,13.32902222,14.34752198,15.36680628,16.38656879,17.40652557,18.42636322,19.44568695,20.4642729,21.48201634,22.49877857,23.51433535,24.52862964,25.54172041,26.55363012,27.5642939,28.57381299,29.58240428,30.59024853,31.59744015,32.60424137,33.61103217,34.61815898,35.62578332,36.63383182,37.64225035,38.65095394,39.65977658,40.66872518,41.67792941,42.68748998,43.69742833,44.70794055,45.71934691,46.73193998,47.74583262,48.7609071,49.7770684,50.79419296,51.81207739,52.83069118,53.85012509,54.87043806,55.89150396,56.91295961,57.93445694,58.95561087,59.97594716,60.99515452,62.01303271,63.02933928,64.043738,65.05605172,66.0662113,67.07410344,68.07952023,69.08241328,70.08284401,71.08083288,72.07631038,73.06937272,74.06023351,75.04907451,76.0359981,77.02128425,78.00534355,78.9885691,79.97118861,80.95321795,81.93471911,82.91575397,83.89633815,84.87669917,85.85723048,86.83834402,87.8203229,88.80327525,89.78739227,90.77290186,91.75992067,92.7484074,93.73842002,94.73006859,95.72336645,96.71818257,97.71449785,98.71235697,99.71171867,100.7124071,101.7143673,102.7176161,103.7220916,104.7276037,105.7340887,106.7415596,107.7499549,108.7590884,109.7689035,110.7794226,111.7905953,112.8022485,113.8143391,114.8269041,115.8399081,116.8531926,117.8667294,118.8805696,119.8946911,120.9089479,121.9233233,122.9378785,123.9526005,124.9673505,125.9821178,126.9969678,128.0118901,129.0267468,130.0415261,131.056291,132.0710265,133.0855886,134.0999576,135.1141867,136.1282498,137.1419902,138.155374,139.1684388,140.1811418,141.1933087,142.204887,143.2158953,144.2262717,145.2358224,146.244476,147.2522333,148.2590152,149.2646128,150.2689418,151.2719928,152.2736801,153.2737925,154.2722482,155.269046,156.2641153,157.2572675,158.2484521,159.2377086,160.2250182,161.2102556,162.1934469,163.1747224,164.1541693,165.1317853,166.107737,167.0823143,168.0557838,169.028344,170.0003839,170.9724386,171.9450433,172.918587,173.8932676,174.8693513,175.8471275,176.8267621,177.8082518,178.7916825,179.7771832,180.7647782,181.7543403,182.7458479,183.739338,184.7347566,185.7319114,186.7307273,187.7311979,188.733236,189.7366237,190.7412682,191.747152,192.7541817,193.7621387,194.7709331,195.7805536,196.7909161,197.801813,198.8131674,199.8249819,200.8371874,201.8495917,202.8621332,203.8748303,204.8876291,205.9003524,206.9129535,207.9254646,208.9378457,209.9499328,210.9616918,211.9731677,212.9843328,213.9950354,215.0052541,216.0150468,217.0243991,218.0331741,219.0413657,220.0490488,221.0562279,222.0627865,223.0687419,224.0741948,225.0791786,226.0836089,227.0875392,228.09111,229.094399,230.097371,231.1001329,232.1028844,233.1057672,234.1087747,235.1118689,236.1150151,237.1181825,238.1213437,239.1244745,240.1275541,241.1305647,242.1334915,243.1363228,244.1390495,245.1416653,246.1441669,247.1465534,248.1488266,249.150991,250.1530538,251.1550248,252.1569168,253.1587452,254.1605284,255 +0,0.156204411,1.119881995,2.083750759,3.047817502,4.012282812,4.977497556,5.943817892,6.911460174,7.880457101,8.850917873,9.822983938,10.79678452,11.7726961,12.75129746,13.73322293,14.71901532,15.70897827,16.70312951,17.7014576,18.70387396,19.71016419,20.72024299,21.73410435,22.75166965,23.77273673,24.79723254,25.82516104,26.85644921,27.89089396,28.9284127,29.96898928,31.01251803,32.05874872,33.10753537,34.15878035,35.21227678,36.26765187,37.3246142,38.38289651,39.44219824,40.50243201,41.56366589,42.62596395,43.68932818,44.75394442,45.82012391,46.88814325,47.95808416,49.02977429,50.10303207,51.17760696,52.2531196,53.32930586,54.40595658,55.48275586,56.55922058,57.63494417,58.70953626,59.78256236,60.85378793,61.92311856,62.99043891,64.05555338,65.11843131,66.17914826,67.23772626,68.29407576,69.34824214,70.40034831,71.45043623,72.49841022,73.54428468,74.58812799,75.62990531,76.66942304,77.70657786,78.74130191,79.77350824,80.80334094,81.83112136,82.85719329,83.88186989,84.90568505,85.92934074,86.95355312,87.97889865,89.00576151,90.03458507,91.06581896,92.09976438,93.13652053,94.17623472,95.21904803,96.26493893,97.31366802,98.36502635,99.41877924,100.4746097,101.5323654,102.5920019,103.653423,104.7164234,105.7809344,106.8469658,107.9144458,108.9831619,110.0530066,111.1239175,112.1957172,113.2680531,114.3406424,115.4132118,116.4854383,117.5571931,118.6284822,119.6992849,120.7694945,121.8391629,122.9084411,123.9774181,125.0460623,126.1144657,127.1827851,128.2510812,129.3192597,130.3873162,131.4552771,132.5230388,133.5903091,134.6568517,135.7224277,136.7867362,137.8496603,138.9112082,139.9713533,141.0299763,142.0871115,143.1428887,144.1973746,145.2505157,146.3023848,147.3531245,148.4027893,149.4511871,150.4978232,151.5421482,152.5836037,153.6218706,154.6568142,155.6883283,156.7162805,157.7407632,158.7620406,159.7803942,160.7959697,161.808725,162.8186836,163.8258833,164.8303261,165.8322322,166.8319908,167.8300088,168.8266626,169.8225535,170.8184588,171.8151829,172.813407,173.8135393,174.8156665,175.8198092,176.8258723,177.8335957,178.8428088,179.8533802,180.865066,181.8774596,182.8902448,183.9031455,184.9158747,185.9283875,186.9408309,187.9533912,188.9661419,189.9789928,190.9919438,192.0050335,193.0182885,194.031977,195.0465577,196.0625273,197.0802681,198.099997,199.1220172,200.1466675,201.1741678,202.2045667,203.2379929,204.2746014,205.3144185,206.3572868,207.4031153,208.4518235,209.5031841,210.5567675,211.6121883,212.6690495,213.7268844,214.7854037,215.844438,216.9037784,217.9631189,219.022303,220.0812653,221.139873,222.1978674,223.255111,224.3115295,225.3669531,226.421059,227.4736184,228.5244393,229.5732088,230.6194358,231.6626996,232.7025939,233.7385697,234.7698808,235.7958336,236.8157331,237.8287295,238.8337654,239.82983,240.8159088,241.7908958,242.7537163,243.7033728,244.6389567,245.5596625,246.4648035,247.3538306,248.2263526,249.0821593,249.9212474,250.743848,251.5504577,252.3418711,253.1192169,253.8839736,254.637898,255,255,255,255,255,255 +0,0,0.63196801,1.583515363,2.53569815,3.489006807,4.444159004,5.401956333,6.363140716,7.32825041,8.29757692,9.271425532,10.250071,11.23361117,12.22192125,13.21491161,14.21248061,15.21436536,16.22009315,17.22923652,18.24136345,19.25598711,20.27281937,21.29171964,22.31254207,23.33508378,24.35933707,25.38543705,26.41350774,27.44360922,28.47598868,29.51102699,30.54908352,31.59044192,32.63555975,33.68501327,34.73934037,35.79888279,36.86372907,37.93396083,39.00959416,40.09052013,41.17674874,42.2683478,43.36527973,44.46733877,45.57439182,46.68631412,47.80282289,48.92341155,50.04758757,51.17480542,52.304399,53.43581785,54.56855875,55.70209708,56.83612218,57.97046836,59.10494445,60.23926471,61.37328389,62.50692817,63.64002467,64.77223248,65.90327791,67.03288579,68.1607108,69.28657332,70.41039131,71.53201106,72.6511397,73.7675822,74.88117456,75.99171741,77.09921422,78.20380579,79.30560376,80.40462596,81.50103645,82.59508168,83.68702709,84.77739826,85.86691818,86.95634332,88.04629983,89.13722119,90.22958997,91.32387523,92.42036831,93.51911976,94.62018009,95.72353604,96.82904649,97.9366822,99.04646104,100.1582815,101.2718573,102.3869559,103.5033323,104.6206633,105.7387849,106.8576259,107.9770397,109.0967379,110.2165272,111.3362427,112.4556811,113.574838,114.6938405,115.81278,116.9316443,118.0505557,119.1697041,120.2891787,121.4089012,122.5288632,123.6490591,124.7694194,125.890048,127.0111549,128.1328877,129.255265,130.3784128,131.5024975,132.6275571,133.7534336,134.8800092,136.0071389,137.134481,138.2614291,139.387348,140.5116078,141.6338195,142.7537678,143.8712426,144.9859717,146.0978586,147.2069164,148.3131006,149.4162438,150.5162951,151.6132555,152.707013,153.7972783,154.883827,155.9664362,157.0448234,158.1188888,159.1886549,160.2541048,161.3151232,162.3717414,163.4240795,164.4721878,165.5159892,166.5555283,167.5909152,168.6222707,169.6499766,170.674622,171.6968483,172.717196,173.7360516,174.7539006,175.771275,176.7886008,177.8061464,178.8242751,179.8433936,180.863799,181.8856272,182.9091047,183.9344967,184.961953,185.9914558,187.0230703,188.0568914,189.0928892,190.1308542,191.1706478,192.2121475,193.2551918,194.2998297,195.3462648,196.3946987,197.4451735,198.4975156,199.5515835,200.607211,201.6641501,202.7223179,203.7817394,204.8423882,205.9041285,206.9669618,208.0309683,209.0961471,210.162358,211.2295667,212.2977862,213.366916,214.4366833,215.5068878,216.5773423,217.647813,218.7182648,219.7888011,220.8595035,221.9302704,223.0007578,224.0706238,225.139469,226.2067775,227.2721613,228.3353019,229.3957896,230.4530655,231.5066673,232.5561725,233.6010391,234.6404487,235.6732504,236.6982104,237.713958,238.718933,239.711639,240.6905934,241.6541782,242.6005947,243.5281238,244.4350856,245.3196999,246.1799496,247.0135498,247.8182887,248.5922923,249.3341038,250.0427308,250.717696,251.3590937,251.9676263,252.5445422,253.0915466,253.6107144,254.104408,254.5751994,255,255,255,255,255,255,255,255,255,255 +0,0,0.278331969,1.179779922,2.082131942,2.986077214,3.892600322,4.802845354,5.717979607,6.639056732,7.56687915,8.501960984,9.444794194,10.39580941,11.35523419,12.32305148,13.299261,14.28383519,15.27657243,16.2770505,17.28488294,18.2996701,19.32094905,20.34844667,21.38202754,22.42153952,23.46675975,24.51764405,25.5742712,26.63668496,27.70483668,28.77883118,29.85886762,30.94507802,32.03746636,33.13615088,34.24130131,35.35297369,36.47104565,37.59545496,38.72613283,39.86293632,41.005884,42.15508644,43.31057448,44.4722278,45.6400069,46.8138799,47.99364697,49.17886529,50.36907737,51.56373429,52.76211819,53.96356836,55.16740249,56.37283753,57.57921434,58.78591791,59.99229749,61.19789077,62.40234398,63.60523072,64.80597225,66.00406237,67.19908973,68.39096334,69.57983438,70.76591701,71.94930966,73.12991817,74.30768352,75.48250573,76.65416828,77.8225671,78.98763588,80.14927182,81.30756615,82.46273091,83.61502621,84.76499223,85.9133774,87.06096549,88.20840302,89.35612811,90.50460363,91.65424603,92.80535416,93.95834201,95.11366711,96.27165718,97.43243788,98.59616438,99.76294819,100.9327838,102.1057786,103.2820788,104.461693,105.6444165,106.8300601,108.0183731,109.2089672,110.4015429,111.5958123,112.7914211,113.9881747,115.1859601,116.3845655,117.5836023,118.7827303,119.9815786,121.179667,122.3766317,123.5721462,124.7658428,125.9575387,127.1471581,128.3346542,129.520236,130.7042914,131.8872088,133.0691994,134.2502202,135.4302026,136.608976,137.7861917,138.9615514,140.1347319,141.3053097,142.47299,143.6375325,144.7986773,145.9563752,147.1107147,148.2617482,149.4094193,150.5537963,151.6950001,152.8330328,153.9677076,155.0988828,156.2263934,157.3499818,158.4695342,159.5850135,160.6962902,161.8030769,162.9051664,164.002367,165.0944379,166.1813306,167.2631253,168.3399694,169.4123206,170.480886,171.5464612,172.6097697,173.6713026,174.7312599,175.7897971,176.8470683,177.9034726,178.959597,180.0160571,181.0733388,182.1317405,183.1916199,184.2533364,185.3170917,186.3828717,187.450692,188.5205392,189.5923121,190.6660658,191.7419527,192.8200609,193.9003535,194.9829127,196.0678784,197.1552858,198.2450034,199.3369755,200.4311593,201.5273615,202.6251746,203.7242178,204.8240739,205.9242249,207.0242927,208.123975,209.22288,210.3204624,211.4162639,212.5098497,213.6007452,214.6886771,215.773511,216.8550877,217.9331619,219.0076445,220.0785429,221.1457988,222.2092289,223.2687699,224.3244205,225.3760815,226.4234992,227.4665122,228.5049961,229.5387063,230.5672233,231.5902031,232.6073239,233.6181325,234.6218912,235.6175273,236.6038883,237.5796928,238.5434847,239.4938912,240.4295803,241.3491171,242.2509251,243.1335537,243.9956437,244.8357949,245.6524365,246.4438025,247.208214,247.9440623,248.6496938,249.3234008,249.9637211,250.5694381,251.1395864,251.6737657,252.1721572,252.6354427,253.0647301,253.4614836,253.827459,254.1646442,254.4752042,254.76143,255,255,255,255,255,255,255,255,255,255,255,255,255 +0,0,0.038246456,0.894447573,1.751721918,2.610890514,3.473119448,4.339790688,5.21237245,6.092288884,6.980788875,7.878813747,8.786965089,9.705775367,10.6356728,11.57694465,12.53000303,13.49534483,14.47340845,15.46442866,16.46828959,17.48447717,18.51233384,19.55110868,20.60020847,21.65914301,22.72736742,23.80422438,24.88918921,25.98180937,27.08164286,28.18849954,29.30237725,30.42329542,31.55122905,32.68634583,33.82893797,34.97925163,36.13731507,37.30286723,38.47558923,39.65513199,40.84134558,42.03420333,43.23362349,44.43939138,45.65138469,46.86949362,48.09343875,49.32268933,50.55668489,51.79485335,53.0368311,54.28237836,55.53119243,56.78282191,58.03688463,59.29298087,60.55060631,61.80936883,63.06890089,64.32877172,65.58870364,66.84848404,68.10787747,69.36684184,70.62544055,71.88365324,73.14128798,74.39819782,75.65419307,76.90895386,78.1622469,79.41383834,80.66340671,81.91076051,83.15585309,84.39900082,85.64079736,86.88192669,88.12297651,89.36435307,90.60650014,91.8498139,93.09455758,94.34108016,95.58973068,96.84077228,98.09460007,99.35165452,100.6122329,101.8764019,103.1442136,104.4156167,105.6903678,106.9682454,108.2489603,109.5320641,110.817163,112.1038263,113.3914942,114.6796904,115.9679298,117.2556263,118.5423049,119.8275094,121.1107105,122.3915181,123.6695903,124.9445414,126.2161563,127.4842998,128.7488269,130.009798,131.26739,132.5217068,133.7726917,135.0203445,136.2646348,137.5054161,138.7426438,139.9762907,141.2062622,142.4326165,143.6554809,144.8748679,146.0905924,147.3024943,148.5103567,149.7138259,150.9126348,152.1065236,153.2951612,154.4783711,155.6560544,156.828113,157.9946786,159.1560375,160.3124557,161.4641053,162.6112964,163.7544058,164.8937039,166.0292845,167.1612995,168.2898892,169.4151135,170.5371884,171.6564177,172.7730243,173.887084,174.9987627,176.1082502,177.2156953,178.3214437,179.4259735,180.5297289,181.632954,182.7356285,183.8377071,184.939157,186.0401978,187.1412368,188.2427043,189.3448875,190.4478665,191.5517542,192.6566321,193.7624854,194.869443,195.9777121,197.0874125,198.1985107,199.3110593,200.4251309,201.5406513,202.6573331,203.7749138,204.8930894,206.0114477,207.129706,208.2476441,209.3649365,210.4810858,211.5956602,212.7082271,213.8182873,214.9255128,216.0296822,217.1305134,218.2275996,219.3206494,220.4094228,221.4935677,222.5725571,223.6459317,224.7132397,225.7739762,226.8278289,227.8746196,228.9141463,229.9460255,230.9696375,231.9843768,232.9895999,233.9844724,234.9679198,235.9388831,236.8962729,237.8389243,238.7658594,239.6762461,240.5692596,241.4439452,242.2991855,243.1339745,243.9473909,244.7384721,245.5060921,246.2489442,246.9658312,247.6556552,248.3173096,248.9496771,249.5519359,250.1235659,250.6642584,251.1738299,251.6521411,252.0990201,252.5142922,252.8981179,253.2510323,253.5738872,253.867798,254.1340951,254.37428,254.5899849,254.7829366,254.9549243,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 +0,0,0.052819176,0.858378802,1.664938582,2.473296847,3.284610035,4.100271158,4.921787808,5.750659517,6.588254231,7.435683686,8.293778878,9.163368272,10.0452502,10.94006214,11.84824952,12.77033683,13.70689251,14.65839029,15.62506846,16.60688819,17.60379385,18.61566686,19.64227721,20.683537,21.73944751,22.80994273,23.89483198,24.99404465,26.10756853,27.2352846,28.376901,29.53218919,30.70091375,31.8827601,33.07756447,34.28523766,35.50558541,36.73822835,37.98282408,39.2389834,40.50618458,41.78399018,43.07195797,44.36955032,45.67634617,46.99194742,48.3157825,49.64701004,50.98472553,52.327964,53.6759046,55.02777014,56.38272585,57.74008184,59.09919085,60.4593456,61.81998019,63.18056701,64.54051365,65.89936401,67.25669531,68.61201522,69.96496348,71.31520958,72.66235078,74.00611482,75.34625879,76.68246856,78.01456297,79.34239438,80.66574983,81.98455709,83.29888852,84.60916845,85.91607703,87.22035323,88.52269981,89.82399281,91.12518722,92.42712133,93.73042252,95.03571716,96.3435361,97.65421984,98.96812755,100.2855415,101.6065708,102.9313592,104.2599877,105.5923771,106.9284936,108.2682501,109.6114066,110.9577747,112.3071169,113.6590458,115.0132265,116.3692754,117.7266577,119.084889,120.4434331,121.801599,123.1587426,124.5142648,125.8678137,127.219182,128.568205,129.9149632,131.2596804,132.6025222,133.9434943,135.2826469,136.6199742,137.9553146,139.2885556,140.6195339,141.9479368,143.2735077,144.5959477,145.914818,147.2297465,148.5403311,149.8460432,151.146437,152.4410536,153.729328,155.0107995,156.2850196,157.5514608,158.8097307,160.0594832,161.3003305,162.5320609,163.754554,164.9676966,166.1716048,167.3665428,168.5528436,169.7311347,170.9022617,172.0671103,173.2264311,174.3807654,175.5306766,176.6766782,177.8191623,178.9586329,180.0956355,181.230586,182.3637009,183.4952327,184.6254005,185.7543218,186.8822478,188.0094953,189.1362771,190.2626343,191.3886718,192.514491,193.6401219,194.7657591,195.8916943,197.0181473,198.1451975,199.2730208,200.4018213,201.5316619,202.6623958,203.7939025,204.9260193,206.0584723,207.1911123,208.3238454,209.4564633,210.5885742,211.7198381,212.8498982,213.9783122,215.1047881,216.2291157,217.3509978,218.4699822,219.5856989,220.6977931,221.8057578,222.9088677,224.0064186,225.0976628,226.1817457,227.2579473,228.3256206,229.38403,230.4322921,231.4696226,232.4952794,233.5084075,234.5079858,235.4930804,236.4627964,237.4161287,238.351919,239.269117,240.1667419,241.0437443,241.8989726,242.731447,243.5403323,244.3248127,245.0840718,245.8175803,246.525083,247.206489,247.8617651,248.4908332,249.0934722,249.6692232,250.2174004,250.7374102,251.2287699,251.6910303,252.123701,252.5262829,252.8986086,253.2408831,253.5536283,253.8376312,254.0938967,254.3236054,254.5280746,254.7087239,254.8670447,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 +0,0,0,0.648052596,1.400663217,2.155232602,2.913035978,3.675632944,4.444753526,5.222183501,6.00964874,6.808698312,7.62058607,8.446251916,9.286605351,10.14250275,11.01462101,11.90343029,12.80946852,13.73330921,14.67542518,15.63604976,16.61513651,17.61262047,18.62837241,19.66215024,20.713852,21.78346185,22.87089199,23.97592329,25.09844742,26.23840222,27.39560289,28.56967209,29.76027163,30.96712877,32.19026287,33.42990544,34.6863162,35.95959681,37.24960335,38.5561606,39.87896949,41.21751214,42.57125865,43.93956732,45.32158254,46.71643478,48.12313429,49.54046283,50.96716788,52.4019524,53.84366609,55.29119109,56.74332671,58.1989775,59.65713782,61.11707863,62.57822976,64.03996046,65.50146121,66.96192958,68.42055343,69.87669696,71.32988432,72.77998634,74.22710349,75.6713479,77.11272728,78.55133338,79.98722678,81.42032201,82.85057736,84.27798224,85.70274784,87.12519392,88.54563608,89.96457755,91.38259703,92.80023684,94.21819531,95.63721513,97.05787016,98.48045352,99.90516965,101.3321233,102.7615109,104.1935077,105.6281538,107.0655453,108.5057191,109.9485393,111.3938852,112.8415368,114.2910584,115.7419869,117.1938164,118.6461861,120.0987632,121.5511263,123.0029523,124.4538997,125.903492,127.3513048,128.7969508,130.2402681,131.6812043,133.1195988,134.5550688,135.9871977,137.4155227,138.8397248,140.2595159,141.6745259,143.0844947,144.4891615,145.8881537,147.2811816,148.6679295,150.0479479,151.4208503,152.7862075,154.1434425,155.4920309,156.8314998,158.1616304,159.4823587,160.7935748,162.0950264,163.3865269,164.6679628,165.9395053,167.2015186,168.4544707,169.6991491,170.9365736,172.1678097,173.3937821,174.6151912,175.8327343,177.0470237,178.2585047,179.4676789,180.6750234,181.880809,183.0850201,184.2875793,185.488369,186.6874562,187.8850134,189.0811386,190.2757764,191.4689441,192.6606532,193.8508317,195.0395506,196.226946,197.4130411,198.5976686,199.780698,200.9619592,202.1411662,203.3181447,204.4927566,205.6648243,206.8343599,208.0014904,209.1662818,210.3285639,211.4878561,212.643599,213.7951824,214.9421776,216.0842655,217.221064,218.3520583,219.4768352,220.5950146,221.7060804,222.8093141,223.9040331,224.9895264,226.0649915,227.1297769,228.1833217,229.2249959,230.2540429,231.2698291,232.2717904,233.2592794,234.2315165,235.1878469,236.1276958,237.050425,237.9552928,238.8417208,239.7092595,240.5574552,241.3857193,242.1933024,242.9795755,243.7440096,244.4860581,245.2050418,245.9001382,246.5706798,247.2161507,247.8360858,248.4299738,248.9972654,249.5376899,250.0512711,250.538246,250.9989879,251.4339329,251.8435106,252.2280792,252.5878634,252.9228965,253.2330685,253.5184805,253.7794998,254.0167171,254.2309073,254.4229933,254.5940146,254.7450977,254.8774306,254.9922403,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 +0,0,0,0.451940485,1.15306893,1.856302083,2.563025076,3.274952341,3.994021338,4.722285492,5.461806053,6.214542578,6.982241718,7.766324026,8.567869931,9.387907462,10.22739314,11.08708869,11.96753624,12.8693347,13.79310878,14.73937345,15.70839507,16.70015051,17.71458716,18.75157521,19.8108566,20.89229476,21.99581676,23.12125081,24.26826175,25.43658751,26.62596812,27.83607148,29.06672021,30.31781117,31.58923188,32.88107804,34.19356388,35.5268279,36.88083706,38.25559192,39.65102452,41.0667918,42.50216716,43.95623337,45.42786957,46.91593839,48.41916615,49.93602061,51.46489068,53.00406126,54.55188907,56.10677414,57.6673328,59.23236682,60.80103443,62.37271656,63.94678099,65.52244758,67.09895725,68.67553801,70.25157356,71.82656918,73.40032042,74.97277776,76.54381009,78.11306971,79.68016182,81.24461145,82.80603352,84.36410053,85.91871342,87.4698688,89.0175267,90.56178297,92.10283948,93.64117759,95.17742791,96.71224044,98.24645924,99.78099311,101.316585,102.8536826,104.3926132,105.9335556,107.4767141,109.0221883,110.569843,112.1194808,113.6708128,115.223631,116.7776768,118.3325087,119.8876745,121.4426804,122.9971627,124.5507558,126.1029596,127.6533116,129.2013569,130.7468201,132.2894744,133.8290108,135.3652115,136.8978201,138.4264122,139.9505702,141.469857,142.9839919,144.4927241,145.9957063,147.4926734,148.9833184,150.4671683,151.9437661,153.4126502,154.8735383,156.3262081,157.7703787,159.2058984,160.6326287,162.0503298,163.458852,164.8580243,166.2475432,167.6271688,168.9967187,170.3562655,171.7060334,173.046193,174.37676,175.6977998,177.0094297,178.3120263,179.6061296,180.8922472,182.1707614,183.4421411,184.7068511,185.9652626,187.2178686,188.465196,189.7076175,190.9452652,192.1782499,193.4066774,194.6308693,195.8512791,197.0683087,198.2822262,199.4933883,200.7021597,201.9087306,203.1130368,204.3149835,205.5143661,206.7107907,207.9038993,209.0932919,210.278448,211.4589537,212.634425,213.8044317,214.9687263,216.1271696,217.2795557,218.4255391,219.5648675,220.6973104,221.8224884,222.9398039,224.0486781,225.148484,226.2384813,227.318057,228.3866624,229.4436514,230.488221,231.519658,232.5372836,233.5402983,234.5277303,235.4986904,236.4523251,237.3876706,238.3036106,239.1991419,240.0733377,240.9252133,241.753696,242.5579024,243.3371159,244.0906653,244.8179095,245.5185295,246.1925206,246.8400873,247.4615417,248.0572064,248.6273209,249.171952,249.6910097,250.1845709,250.6529028,251.0963885,251.5154567,251.9105152,252.2818879,252.6297548,252.9540972,253.2547458,253.5317384,253.7853754,254.0161787,254.2248532,254.4122525,254.5793469,254.7271957,254.8569222,254.9696906,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 +0,0,0,0.321039731,0.979130441,1.639397486,2.30329308,2.972631335,3.649488428,4.336101933,5.034769026,5.747743217,6.477129275,7.224776001,7.992166549,8.780407402,9.590518615,10.4234167,11.27979284,12.16008906,13.06477513,13.99431762,14.94904387,15.92900232,16.93392035,17.96346262,19.01728284,20.09527458,21.19751435,22.32409951,23.475084,24.65071459,25.8513593,27.07733065,28.3288066,29.60605185,30.90933113,32.23881864,33.5948077,34.97761234,36.38736346,37.82390237,39.28697449,40.77611485,42.29052957,43.82927762,45.39124608,46.97532443,48.58027119,50.20457729,51.84663041,53.50467373,55.17696471,56.86172876,58.55731346,60.26213825,61.97484512,63.69414384,65.41865595,67.14706194,68.87804489,70.61043631,72.34315878,74.07537118,75.80641106,77.53593989,79.26378432,80.9896761,82.71309389,84.43351078,86.1506423,87.8642892,89.57418078,91.28012288,92.98194372,94.67964304,96.37333913,98.06341921,99.75038628,101.4347065,103.116961,104.7976944,106.4772632,108.1559886,109.834107,111.5119233,113.1896599,114.8673061,116.5447711,118.2218352,119.8983029,121.5739538,123.2486961,124.922416,126.5948278,128.2656275,129.9344445,131.6009959,133.2649371,134.9257128,136.5827125,138.2352236,139.8825878,141.5241559,143.1594456,144.7879962,146.4092241,148.0225837,149.6275267,151.2236649,152.8106305,154.3879378,155.9551499,157.5118446,159.0577847,160.5927849,162.1165813,163.6290058,165.1299606,166.6195956,168.0981848,169.5660037,171.0235122,172.471236,173.9095471,175.3385476,176.7582593,178.1686116,179.5696335,180.9613435,182.3436398,183.7164973,185.0799622,186.4343515,187.7801493,189.1178032,190.4476236,191.769988,193.0852426,194.3936048,195.6953716,196.9908235,198.2801308,199.5635646,200.8414038,202.1137428,203.3804002,204.6411339,205.8956528,207.1438335,208.3856326,209.6208995,210.849291,212.0704912,213.2841283,214.4896924,215.6867587,216.874908,218.0536476,219.2226388,220.3816211,221.530236,222.6679549,223.7943117,224.908833,226.0109706,227.1003396,228.1766536,229.2395618,230.2885876,231.3233756,232.3436343,233.3489813,234.3387895,235.3121376,236.268067,237.2055365,238.1233809,239.0205747,239.8961963,240.7492929,241.5788503,242.3840703,243.1643475,243.9191482,244.6478931,245.3499455,246.024907,246.6726138,247.2930349,247.886175,248.4519808,248.990354,249.5014711,249.9858044,250.4440449,250.8770296,251.2856724,251.6708992,252.0335866,252.3745033,252.6942565,252.99324,253.271586,253.5292223,253.7662354,253.9829334,254.1798103,254.3575137,254.5168147,254.6585817,254.7837559,254.8933304,254.9883311,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 +0,0,0,0.200220078,0.797068617,1.396095637,1.998799684,2.607077779,3.223134772,3.849391853,4.488393888,5.142715222,5.81486356,6.507181552,7.221745697,7.960262228,8.72406106,9.514390363,10.33240312,11.17903829,12.05499926,12.96103213,13.89789548,14.86622411,15.86638824,16.89844931,17.96241529,19.05818694,20.18549926,21.34416241,22.5339937,23.75474476,25.0063284,26.28873643,27.601953,28.9461674,30.32167809,31.72869064,33.16721232,34.63724629,36.13867672,37.67114922,39.23425084,40.82738104,42.44961821,44.09988584,45.77691144,47.47938422,49.20580434,50.95432854,52.72291623,54.50926951,56.31107447,58.12623965,59.95282815,61.78919038,63.63389237,65.4858454,67.34413009,69.20781952,71.07610549,72.94822122,74.82356613,76.70162731,78.58210317,80.46472263,82.34906381,84.23467669,86.12100268,88.00749681,89.893547,91.77859613,93.66206135,95.54345636,97.42231111,99.29829462,101.1711354,103.040745,104.9071395,106.7705637,108.6313126,110.4895519,112.3454446,114.1990741,116.0505711,117.9000373,119.7476734,121.5936018,123.4376909,125.2796826,127.1191186,128.9554685,130.7880566,132.6161912,134.4390922,136.2560219,138.0662133,139.8690036,141.663764,143.4500349,145.2273571,146.9951054,148.7526262,150.4991752,152.2340588,153.956574,155.6661538,157.3623107,159.0447854,160.7133934,162.3678735,164.0080424,165.633749,167.2450334,168.8420856,170.4254082,171.9956786,173.5535103,175.0993189,176.6334927,178.156364,179.6683835,181.169993,182.6614996,184.1432553,185.6155347,187.0784129,188.5319508,189.9760755,191.4104642,192.8348335,194.2492311,195.6539232,197.0491815,198.4351737,199.8121596,201.1803835,202.5399695,203.8911206,205.2340162,206.5687106,207.895336,209.2140041,210.5246061,211.8267163,213.1198003,214.4032225,215.6764572,216.938997,218.1902628,219.4298201,220.6572916,221.8721716,223.0737423,224.2612973,225.434062,226.5911171,227.7316271,228.8547686,229.9596599,231.0455976,232.1119927,233.1582064,234.183492,235.1872429,236.16894,237.1280008,238.0637333,238.9755974,239.8631657,240.7259865,241.5635517,242.3755727,243.1619563,243.9226818,244.6576839,245.3667373,246.0494485,246.7055541,247.3349201,247.9374431,248.5129558,249.0612376,249.582334,250.0765752,250.5444984,250.9867728,251.4041296,251.7972955,252.1669301,252.5135661,252.8375547,253.1390128,253.4178758,253.6742581,253.9085126,254.1211917,254.3130128,254.4848257,254.6375839,254.772319,254.8901174,254.9921003,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 +0,0,0,0.127904073,0.66742221,1.209058654,1.75432472,2.305158311,2.863841909,3.432919716,4.015113615,4.613237558,5.230109985,5.868463844,6.530853799,7.219560212,7.936489516,8.683172048,9.461059862,10.27151585,11.11569679,11.99453289,12.90900647,13.86012128,14.84876497,15.87556611,16.94084699,18.04487488,19.18780327,20.36960734,21.59031776,22.84994447,24.14839457,25.4856886,26.86186679,28.27688939,29.73083548,31.22379165,32.75573483,34.32671354,35.93671896,37.58544882,39.27216682,40.99586037,42.75518995,44.54863562,46.37443542,48.23072144,50.11544825,52.02651949,53.96170748,55.91877158,57.89537019,59.88927364,61.89857416,63.92158899,65.95696404,68.00347121,70.0598039,72.12467502,74.19671073,76.27454572,78.35671456,80.44184645,82.52885929,84.61684908,86.70518182,88.79328112,90.88041567,92.96579101,95.04843864,97.12740957,99.20196836,101.2714833,103.3355205,105.3937353,107.4459677,109.492136,111.5323338,113.566725,115.5956433,117.6193872,119.6380167,121.6514548,123.6593866,125.6614641,127.6575108,129.6474241,131.6312808,133.609139,135.5808417,137.546125,139.5045245,141.4554855,143.3982715,145.332178,147.2567474,149.1715797,151.0761448,152.9699001,154.8522073,156.722453,158.5799688,160.4241558,162.2544083,164.070242,165.8712217,167.6570944,169.4277206,171.1832125,172.9237683,174.6495102,176.3606285,178.0573245,179.7399595,181.4089006,183.0643695,184.7065973,186.3357781,187.9522281,189.5562419,191.1479511,192.7274886,194.2949523,195.8505732,197.3945813,198.9270728,200.4481843,201.9579631,203.4562404,204.94281,206.4174055,207.8798829,209.3301002,210.7677989,212.1927917,213.6048477,215.0035799,216.3886382,217.7596008,219.1158672,220.4568581,221.7819126,223.0901883,224.3808676,225.6530625,226.905722,228.1378466,229.3484015,230.5362325,231.7002899,232.8395516,233.952949,235.0396019,236.0987523,237.1296012,238.1312506,239.1029545,240.0440697,240.9540108,241.8325148,242.6796055,243.4954616,244.2802891,245.034199,245.7571903,246.449443,247.1113099,247.7432132,248.3455448,248.9185714,249.4624451,249.9775231,250.4643872,250.9237668,251.3564648,251.7632895,252.1449889,252.5021898,252.8353404,253.1446564,253.4301725,253.6921017,253.9308932,254.1471936,254.3418108,254.5156812,254.6698411,254.8053995,254.923516,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 +0,0,0,0.100740916,0.595144071,1.091572833,1.591526244,2.096947595,2.610149227,3.133736503,3.670530599,4.223489733,4.795628397,5.389934168,6.009281631,6.656342971,7.333494813,8.042720896,8.785611641,9.563663118,10.37826674,11.23059228,12.12156679,13.05215209,14.02331219,15.03587342,16.09047981,17.18784647,18.3287025,19.51372737,20.74378506,22.01984731,23.34280868,24.71339616,26.13237584,27.60044835,29.11813687,30.68597214,32.30436565,33.97347539,35.6933682,37.46387025,39.28440996,41.15415745,43.07185235,45.03562415,47.04321103,49.09217173,51.17978664,53.30315552,55.45908655,57.64428429,59.85553263,62.0895693,64.34326054,66.61387377,68.89924595,71.1975437,73.50702124,75.82608056,78.15312713,80.48662697,82.82495967,85.16657473,87.51014711,89.85442806,92.19829853,94.54061962,96.88028586,99.21607601,101.5468084,103.8714968,106.1892031,108.4990933,110.8002921,113.0920424,115.3738671,117.6454266,119.9065823,122.1572571,124.3975018,126.6273592,128.8469332,131.0562562,133.2553612,135.4441527,137.6224813,139.7900181,141.9463321,144.0907681,146.2226289,148.3413604,150.4464335,152.5374321,154.6139385,156.6756254,158.7221462,160.7532311,162.7685819,164.7679725,166.7511489,168.7179339,170.6681321,172.6016401,174.5183556,176.4182927,178.3014967,180.1681639,182.01846,183.8523409,185.6697817,187.4710079,189.2563238,191.0259427,192.7801248,194.5191135,196.2432776,197.9529511,199.6482754,201.3293483,202.9961716,204.648804,206.2872121,207.9111237,209.5201863,211.1139267,212.6919143,214.2536228,215.7982951,217.3251133,218.8331699,220.3216441,221.7896758,223.2362441,224.6603516,226.0610103,227.4374329,228.7889237,230.114672,231.4136497,232.6848185,233.9270355,235.1389637,236.3192911,237.4666496,238.5795394,239.656562,240.6964556,241.6983393,242.6616578,243.5860308,244.4711086,245.3165342,246.122216,246.8883023,247.6150597,248.3027586,248.9516648,249.5623419,250.1356555,250.6726807,251.1746166,251.642705,252.0781552,252.4820736,252.8553981,253.1988376,253.5129168,253.7983308,254.0559987,254.2870211,254.492641,254.6742093,254.8331538,254.9709518,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 diff --git a/kernelParams/KernelParams.cpp b/kernelParams/KernelParams.cpp new file mode 100644 index 0000000..bc40a3f --- /dev/null +++ b/kernelParams/KernelParams.cpp @@ -0,0 +1,41 @@ +#include "KernelParams.h" + +float linear_interpolate(float output, QList x, QList y, qint32 num) +{ + float slop = 0.0f; + if(output <= x[0]) + { + output = y[0]; + } + else if(output >= x[num - 1]) + { + output = y[num - 1]; + } + else + { + for(qint32 i = 1; i < num; i++) + { + if(output < x[i]) + { + slop = (y[i] - y[i - 1]) / (x[i] - x[i - 1]); + output = y[i - 1] + ((output - x[i - 1]) * slop); + break; + } + } + } + return output; +} + +float DynamicContrast(float input, DynamicContrastParameters ¶ms) +{ + float output = input + params.gain; + + QList log_input_level = {0, params.app_min_log_input_level, params.app_max_log_input_level, params.max_log_input_level}; + QList output_level = {0, params.min_output_level, params.max_output_level, 255}; + + output = linear_interpolate(output, log_input_level, output_level, ARRAY_SIZE(output_level)); + + output = linear_interpolate(output, params.const_piecewise_x, params.const_piecewise_y, ARRAY_SIZE(params.const_piecewise_x)); + + return output; +} diff --git a/kernelParams/KernelParams.h b/kernelParams/KernelParams.h new file mode 100644 index 0000000..644596b --- /dev/null +++ b/kernelParams/KernelParams.h @@ -0,0 +1,37 @@ +#ifndef KERNELPARAMS_H +#define KERNELPARAMS_H + +#include +#include +#include +#include + +#define ARRAY_SIZE(X) X.length() +#define DYN_CNTR_CONST_PIECE_NO 256U + +#define MIN_OUTPUT_LEVEL 3U +#define MAX_OUTPUT_LEVEL 252U +#define MAX_LOG_INPUT_LEVEL 24*2048 + +#define MIN_LOG_INPUT_DEFAULT 6U +#define MAX_LOG_INPUT_DEFAULT 21 +#define GAIN_DEFAULT 4 +#define CONTRAST_NUM_DEFAULT 1U + +struct DynamicContrastParameters +{ + float gain; + float min_output_level; + float max_output_level; + QList const_piecewise_x; + QList const_piecewise_y; + float max_log_input_level; + float app_min_log_input_level; + float app_max_log_input_level; +}; + +float linear_interpolate (float output, QList x, QList y, quint32 num); + +float DynamicContrast(float input, DynamicContrastParameters ¶ms); + +#endif // KERNELPARAMS_H diff --git a/mainwindow.cpp b/mainwindow.cpp index 6b48be2..0f8925e 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -91,6 +91,11 @@ MainWindow::MainWindow(QWidget* parent) ui->tb_scenInfo->setPlaceholderText("Scenario Information"); + ui->tb_minLogInput->setPlaceholderText(QString::number(MIN_LOG_INPUT_DEFAULT)); + ui->tb_maxLogInput->setPlaceholderText(QString::number(MAX_LOG_INPUT_DEFAULT)); + ui->tb_dynamicGain->setPlaceholderText(QString::number(GAIN_DEFAULT)); + ui->tb_contrastNum->setPlaceholderText(QString::number(CONTRAST_NUM_DEFAULT)); + trxIdWrEn = false; trxPidWrEn = false; trxPcbVesionWrEn = false; @@ -200,6 +205,7 @@ MainWindow::MainWindow(QWidget* parent) _firstFrameEn = false; _discardTempTest = false; _discardAdcLog = false; + _isDynamicContrast = false; _programFlag = true; _frameCount = 0; @@ -207,6 +213,13 @@ MainWindow::MainWindow(QWidget* parent) lcdStyle(ui->lcd_biteCounter); lcdStyle(ui->lcd_adcCounter); + dynamicContrastMinLogInput = MIN_LOG_INPUT_DEFAULT; + dynamicContrastMaxLogInput = MAX_LOG_INPUT_DEFAULT; + dynamicContrastGain = GAIN_DEFAULT; + contrastNumber = CONTRAST_NUM_DEFAULT; + + readDynamicContrastParameters(dynamicContrastParams); + try { _trx.init(); @@ -1471,6 +1484,113 @@ const QString MainWindow::enum2String(ePg state) const return pg; } +/*************************************************************************************************/ +void MainWindow::dynamicContrastCsvRead(const QString &path) +{ + QFile csvReadFile(path); + + if(!csvReadFile.open(QFile::ReadOnly)) + { + return; + } + + qint64 readSize = 0; + QString line; + QList data; + + auto size = csvReadFile.size(); + while(readSize < size) + { + data.clear(); + line = csvReadFile.readLine(); + auto sl = line.split(','); + foreach(auto &str, sl) + { + data.push_back(str.toFloat()); + } + + dynamicTotalData.push_back(data); + + readSize += static_cast(line.length()); + } + + csvReadFile.close(); +} + +/*************************************************************************************************/ +void MainWindow::on_btn_dynConSetParams_clicked() +{ + try + { + if(ui->tb_minLogInput->text().length() > 0) + { + dynamicContrastMinLogInput = ui->tb_minLogInput->text().toFloat(); + } + else + { + dynamicContrastMinLogInput = MIN_LOG_INPUT_DEFAULT; + } + + if(ui->tb_maxLogInput->text().length() > 0) + { + dynamicContrastMaxLogInput = ui->tb_maxLogInput->text().toFloat(); + } + else + { + dynamicContrastMaxLogInput = MAX_LOG_INPUT_DEFAULT; + } + + if(ui->tb_dynamicGain->text().length() > 0) + { + dynamicContrastGain = ui->tb_dynamicGain->text().toFloat(); + } + else + { + dynamicContrastGain = GAIN_DEFAULT; + } + + if(ui->tb_contrastNum->text().length() > 0) + { + contrastNumber = static_cast(ui->tb_contrastNum->text().toUShort()); + } + else + { + contrastNumber = CONTRAST_NUM_DEFAULT; + } + + readDynamicContrastParameters(dynamicContrastParams); + } + catch(SonoException &e) + { + qDebug() << e.what(); + } +} + +/*************************************************************************************************/ +void MainWindow::on_chk_dynamicContrast_clicked(bool checked) +{ + _isDynamicContrast = checked; +} + +/*************************************************************************************************/ +void MainWindow::readDynamicContrastParameters(DynamicContrastParameters ¶ms) +{ + params.gain = log2(pow(10.0f, (dynamicContrastGain / 20.0f))) * pow(2.0f, 11.0f); + params.max_output_level = MAX_OUTPUT_LEVEL; + params.min_output_level = MIN_OUTPUT_LEVEL; + params.max_log_input_level = MAX_LOG_INPUT_LEVEL; + params.app_max_log_input_level = dynamicContrastMaxLogInput * pow(2.0f, 11.0f); + params.app_min_log_input_level = dynamicContrastMinLogInput * pow(2.0f, 11.0f); + + params.const_piecewise_y = dynamicTotalData.at(contrastNumber - 1); + QList piecewise_x; + for (auto i = 0; i < 256; i++) + { + piecewise_x.push_back(i); + } + params.const_piecewise_x = piecewise_x; +} + /*************************************************************************************************/ /*********************************************DMA*************************************************/ /*************************************************************************************************/ @@ -2124,6 +2244,12 @@ void MainWindow::show3d() { max = val; } + + if(_isDynamicContrast) + { + val = static_cast(DynamicContrast(val, dynamicContrastParams)); + } + _colorMap->data()->setCell(lnSum + ln, pnt, double(val)); } } diff --git a/mainwindow.h b/mainwindow.h index bd234bb..520a0b6 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -22,10 +22,12 @@ #include #include #include +#include #include "qcustomplot.h" #include "include/model/hardware/core/lowLevelApi/TrxBoard.h" #include "hdf5Scenario/hdf5Scenario.h" +#include "kernelParams/KernelParams.h" #include "api.h" #define MESSAGE_BOX(M) \ @@ -240,6 +242,10 @@ private: bool hvPermission(); + void readDynamicContrastParameters(DynamicContrastParameters ¶ms); + + void dynamicContrastCsvRead(const QString &path); + QString _fpgaProgramFolder = "/home/hasis/Desktop/hardware/hwCode"; QString _mcsProgramFolder = "/home/hasis/Desktop/hardware/hwCode"; QString _mcsVerifyFolder = "/home/hasis/Desktop/hardware/hwCode"; @@ -264,8 +270,15 @@ private: quint32 _dmaLogCount; quint16 _frameCount; quint16 _batchIdBuff; + + float dynamicContrastMinLogInput; + float dynamicContrastMaxLogInput; + float dynamicContrastGain; + quint8 contrastNumber; + double_t fps; double_t fpsBuf; + bool _dmaLog; bool _dmaRun; bool _dmaShow; @@ -277,6 +290,10 @@ private: bool _programFlag; bool _discardTempTest; bool _discardAdcLog; + bool _isDynamicContrast; + + DynamicContrastParameters dynamicContrastParams; + QList> dynamicTotalData; // uncrustify off private slots: @@ -555,6 +572,10 @@ private slots: void on_chk_sysCompatibilityCheck_clicked(bool checked); + void on_btn_dynConSetParams_clicked(); + + void on_chk_dynamicContrast_clicked(bool checked); + signals: void showMessage(QString message); void threeDReady(); diff --git a/mainwindow.ui b/mainwindow.ui index 7807206..ae781e1 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -42,7 +42,7 @@ - 4 + 2 @@ -1659,14 +1659,233 @@ 180 20 - 331 - 241 + 271 + 311 true + + + + 520 + 20 + 241 + 331 + + + + Dynamic Contrast + + + + + 10 + 30 + 221 + 51 + + + + + + + + 50 + false + + + + Min Log Input: + + + + + + + + + + + 10 + 50 + false + + + + * 2 ^ 11 + + + + + + + + + 10 + 80 + 221 + 51 + + + + + + + + 50 + false + + + + Max Log Input: + + + + + + + + + + + 10 + 50 + false + + + + * 2 ^ 11 + + + + + + + + + 10 + 130 + 221 + 51 + + + + + + + + 50 + false + + + + Gain: + + + + + + + + + + + 7 + 50 + false + + + + dB (log2(2^(gain/20))*2^11) + + + + + + + + + 10 + 240 + 221 + 41 + + + + + + + + 0 + 0 + + + + Set Parameters + + + + + + + + + 10 + 180 + 221 + 51 + + + + + + + + 50 + false + + + + Contrast Num: + + + + + + + + + + + 9 + 50 + false + + + + [1 - 12] + + + + + + + + + 50 + 290 + 181 + 23 + + + + Dynamic Contrast + + +