From f0fa5830bd88b374be88e4b0c9c82d821d4e05d2 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Mon, 10 Jul 2023 21:38:50 +0900 Subject: [PATCH] moving hosek datasets to assets dir --- assets/clut/hosek/datasetXYZ1.bin | Bin 0 -> 8640 bytes assets/clut/hosek/datasetXYZ2.bin | Bin 0 -> 8640 bytes assets/clut/hosek/datasetXYZ3.bin | Bin 0 -> 8640 bytes assets/clut/hosek/datasetXYZRad1.bin | Bin 0 -> 960 bytes assets/clut/hosek/datasetXYZRad2.bin | Bin 0 -> 960 bytes assets/clut/hosek/datasetXYZRad3.bin | Bin 0 -> 960 bytes .../parametricsky/datasets/DatasetCIEXYZ.kt | 12 ++-- .../parametricsky/datasets/DatasetRGB.kt | 12 ++-- .../parametricsky/datasets/DatasetSpectral.kt | 66 +++++++++--------- 9 files changed, 45 insertions(+), 45 deletions(-) create mode 100644 assets/clut/hosek/datasetXYZ1.bin create mode 100644 assets/clut/hosek/datasetXYZ2.bin create mode 100644 assets/clut/hosek/datasetXYZ3.bin create mode 100644 assets/clut/hosek/datasetXYZRad1.bin create mode 100644 assets/clut/hosek/datasetXYZRad2.bin create mode 100644 assets/clut/hosek/datasetXYZRad3.bin diff --git a/assets/clut/hosek/datasetXYZ1.bin b/assets/clut/hosek/datasetXYZ1.bin new file mode 100644 index 0000000000000000000000000000000000000000..819912ce573e5da977e4dd4beaccf422981eb682 GIT binary patch literal 8640 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 literal 0 HcmV?d00001 diff --git a/assets/clut/hosek/datasetXYZ2.bin b/assets/clut/hosek/datasetXYZ2.bin new file mode 100644 index 0000000000000000000000000000000000000000..c15de128ee18b07764b6053127c9508f054307aa GIT binary patch literal 8640 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 literal 0 HcmV?d00001 diff --git a/assets/clut/hosek/datasetXYZ3.bin b/assets/clut/hosek/datasetXYZ3.bin new file mode 100644 index 0000000000000000000000000000000000000000..fc448abd6ac974288c21871a076a006a2fcf5124 GIT binary patch literal 8640 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 UhK5rKE(ROW{prJp-l8%1AH5}Uvj6}9 literal 0 HcmV?d00001 diff --git a/assets/clut/hosek/datasetXYZRad1.bin b/assets/clut/hosek/datasetXYZRad1.bin new file mode 100644 index 0000000000000000000000000000000000000000..0f8e5d170ffc1e04a89be6647eb73b5f920545b2 GIT binary patch literal 960 zcmV;x13&z*khwCb_V_=w;u{K|t@c0PjGC{KPxC*5|E*-l)+Io3;;S9SxfeiQ+HhDJ zI2}OfrD9`Vhxk92$OUKc_xL~6gE+;RmDfMgZ(j$_87n~E=8coWEEYib0Ns}}D<44F zCxBvPiT6K00)P1V@B2S^tN74Q!tKAn&$w_PG%-MR%z4JX+?UI z*hBkRVFW-~Ol&@`T^GQ%O0YPbkvl*SVf-}iO%_1Q*7_o$-6TM6Y<8sj&hkGeqslPu zMg~9(lc|DH*&M)Pgz#wNz&$|trGDO2Ap#De@*qG7rv)$idM7|?ymXTo1n)mrK@4>5%L+h<^xM~g z6C}W3JcEY*c|Sn&0_>wx$0|Tib;!+db16XQ>9-2KS?fPr&k&ATHVHsiCub<`Fe1Qd zZ}5f5j5$D0b;!+dyEZ^f;MUzdH7r1_G3bQQLFhjgYq-cgeF8wZ%YNPIt`xwz8E(Mm zmnc9c$DPu_ZbCrrLUWx)`Y%9P+NrtRp!z?OlZjgeG5J3P$7S5q!1g~6fVityi6cNY zDFxkL@+?5!AMaHwb1*=IG-J_pHu^szjS8G>gZn=*LU^=sgyKIyhxzgX%qT#Rz25!t zPAouE1*4KWNijg6{~o+{DfvJ5S!JfQzWzUlUXVWbujs!kFl2SB7cf9xXs**pYb-!D z3?C6wLNY)*!fC;ae)m6a-OW=SvH?I3nqBu+#0J2CE7`FTz%)P}Z5*){e=b1d88q}y zU^76(uUNxHuJu0<=ivmVa|A#RN|ZdOupIX#s@&uU$3y>E*-$a7ba5$>pDQIK37|@KQ%x<9gi8P1U5j9=$>_rR`EYR z&B=>QUaXUaWGcz+Y>o!2zK0oKl5br-o!oHnE z9I~l-vSg1A4n=wF3o-97AN0o$aO*$0i0{O#*Zn_g i`s{$~>H@%8MSp1KSrI^AMzP$|c1b{a%s^%QJ2^nP(8;a< literal 0 HcmV?d00001 diff --git a/assets/clut/hosek/datasetXYZRad2.bin b/assets/clut/hosek/datasetXYZRad2.bin new file mode 100644 index 0000000000000000000000000000000000000000..c7d2bdc77547886560e1b2b006add52bf565b7a6 GIT binary patch literal 960 zcmV;x13&x^xUQHH9{N9tUPiIpQuaS7KorcF0`@=pxHeRb!ze)O9@$(quNOd0eIR+~ z5FbExH&1oQjrl*`<4hB_-}pZgZ6c1)D%n3?*Du%&8!kWq%HO@C<`zKIWihe&P#{36 zX4XRT;TFp!xcbpxR2bLtRXYv2kdI{l=MFh zisk_t@g+dT90VP$YV$v*vy;J5 zQV2kbKZ-hYFCf4pz7w-v+&@6Q;M1JEC>ubNSLYazEhj)>QhaupeR7O-ZoPq9`HW^SRFaiSqwmKqXE1H z5+%Sw2{Uc~GC)9*A~LMvtt~+O!Q{_rwiCdF^?wfY z)h0kfTh67p&O<=LGz=dR(=b3DjYIt|?E62F@V&o5JNiFNaOwled-Xr3A{E9KQYS#K zu}f5M%`HIM=En4dy)i%sU;`q=Rr^00Z!5hv8~s14YB(F=Bho*h{YViR_AEeo|E1;mNGzkszYvu8~Q&?jAi;I!T>Sbe36!f&)N%`JE;+{tUqQ{4hdz{5C-5mR3XJ{x3kYUJT_# zvot`^fO<1(e)d0x=nyy(NCrUh*w11q(iXtaprL<)b2>m*Td}|Ft}#IR3et>4>oq`X z`GKoEf%QMT)Cm1dod-bsSix^Yyc)o_oJ(<4aXUb>wZ2Gb+cQ9x1gNQHOEy5Kl-Ek= z?(;ueeRWl!b_qZxs<#HVN*}=BEs&u2={rCY+Hx+%MK?ex%Mi!9C^tZLjse;09r8af zFe?=4o(Vt4Q}93NN(8EZ zkOn}KvPIHv^ccW^V2&QY7coHjEYE|xV?;o2M>s8b896{c=|qC5=IlScRo9`K()~XV iw%F~nO8>uY$`#(_LI^-I=B_2=D@#DoMA-23YC1q+_q(qE literal 0 HcmV?d00001 diff --git a/assets/clut/hosek/datasetXYZRad3.bin b/assets/clut/hosek/datasetXYZRad3.bin new file mode 100644 index 0000000000000000000000000000000000000000..bc30e27c1f218197b29abf3bfc81ca1b39ed7675 GIT binary patch literal 960 zcmV;x13&zpu`k(pu<}2RU7~txKmkC|e9qmj*AKvktZwz3S zwk$x_0T6ffD)K+L$*3}nTLM6?yySoKR}#Q2U;?-9<}^SQ&_vkq^eRAKL7K5>S}j1L zLUnWTxA8x6ZKxRM4+B6Q=%Ka^a}>Z)_W?+4dNn|I)^5Ad+$}&WO-ezxH!VO3!K!-s z-S9u`z4)R%z63z_C|r-ibr`@#2#+?7ur@$J)O`R_TQERVB8gr`VJ<*}Xsu{-9PmH* zjjuhkqy<3h#ZXSP%NoG5>T|Uf>o!2vt)7$KS292gn82;OX)i!P-*M$fSMNU@@cChc z@C86!8B`mbI2*u5UqPC&KsG>NS!q%Vf;2$-?d!lfLoYxU&+0CkAMQV3SCgl##sxrR zTARl93LC()?~34m`!qm41;BU)Z8t#MGfM*03@|`TV`>4AiR?dh$jxvAz63yA=5$$1 zoEX4o?Y0Zey)i%&xOF#Al{`Qd9m(ZClrTV}tb~)OPVB#Lzt?Nk zN$5Y(bapa0CPzSXORFJqH#0zr93pN`rS(4{BcQ?&WB@?Gt|m`eZ2-U^?^P=k9xOn> zveKj!bUr}foDrqHaXvs>(dIa}N%cQJR`A;p0|7vQ3$kVTx&y#q0=MqwSuH?g3qcM_ z=srNv1@$d+vOYjTel~L5l=MGHhlenJngKw26&W3n1P8!EAp#De+ATn>FA~~vE;N8By9B%sxO8 zpF6?+Yw|x}JcEY*sRBS*+<#;`)D6IfRlJdTL@Pj#HjY?}heJS2Y(B0H?LI(T3P}4O zpz%MDpN(8MWdcC|1FTiMh77>S2R)lr?w9gu1!F0G=R528b3hFuCIOo literal 0 HcmV?d00001 diff --git a/src/net/torvald/parametricsky/datasets/DatasetCIEXYZ.kt b/src/net/torvald/parametricsky/datasets/DatasetCIEXYZ.kt index 993b2348d..0d7da948d 100644 --- a/src/net/torvald/parametricsky/datasets/DatasetCIEXYZ.kt +++ b/src/net/torvald/parametricsky/datasets/DatasetCIEXYZ.kt @@ -107,13 +107,13 @@ import kotlin.test.assertEquals object DatasetCIEXYZ { - val datasetXYZ1 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetXYZ1.bin") - val datasetXYZ2 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetXYZ2.bin") - val datasetXYZ3 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetXYZ3.bin") + val datasetXYZ1 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetXYZ1.bin") + val datasetXYZ2 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetXYZ2.bin") + val datasetXYZ3 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetXYZ3.bin") - val datasetXYZRad1 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetXYZRad1.bin") - val datasetXYZRad2 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetXYZRad2.bin") - val datasetXYZRad3 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetXYZRad3.bin") + val datasetXYZRad1 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetXYZRad1.bin") + val datasetXYZRad2 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetXYZRad2.bin") + val datasetXYZRad3 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetXYZRad3.bin") init { assertEquals(1080, datasetXYZ2.size, "Dataset size mismatch: expected 1080, got ${datasetXYZ2.size}") diff --git a/src/net/torvald/parametricsky/datasets/DatasetRGB.kt b/src/net/torvald/parametricsky/datasets/DatasetRGB.kt index e2d6bf07a..92a704aa5 100644 --- a/src/net/torvald/parametricsky/datasets/DatasetRGB.kt +++ b/src/net/torvald/parametricsky/datasets/DatasetRGB.kt @@ -107,13 +107,13 @@ import kotlin.test.assertEquals object DatasetRGB { - val datasetRGB1 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRGB1.bin") - val datasetRGB2 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRGB2.bin") - val datasetRGB3 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRGB3.bin") + val datasetRGB1 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetRGB1.bin") + val datasetRGB2 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetRGB2.bin") + val datasetRGB3 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetRGB3.bin") - val datasetRGBRad1 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRGBRad1.bin") - val datasetRGBRad2 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRGBRad2.bin") - val datasetRGBRad3 = DatasetOp.readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRGBRad3.bin") + val datasetRGBRad1 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetRGBRad1.bin") + val datasetRGBRad2 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetRGBRad2.bin") + val datasetRGBRad3 = DatasetOp.readDatasetFromFile("./assets/clut/hosek/datasetRGBRad3.bin") init { assertEquals(1080, datasetRGB2.size, "Dataset size mismatch: expected 1080, got ${datasetRGB2.size}") diff --git a/src/net/torvald/parametricsky/datasets/DatasetSpectral.kt b/src/net/torvald/parametricsky/datasets/DatasetSpectral.kt index 1a39e2dd5..d5cba8ef6 100644 --- a/src/net/torvald/parametricsky/datasets/DatasetSpectral.kt +++ b/src/net/torvald/parametricsky/datasets/DatasetSpectral.kt @@ -108,41 +108,41 @@ import kotlin.test.assertEquals object DatasetSpectral { - val dataset320 = readDatasetFromFile("./work_files/skylight/hosek_model_source/dataset320.bin") - val dataset360 = readDatasetFromFile("./work_files/skylight/hosek_model_source/dataset360.bin") - val dataset400 = readDatasetFromFile("./work_files/skylight/hosek_model_source/dataset400.bin") - val dataset440 = readDatasetFromFile("./work_files/skylight/hosek_model_source/dataset440.bin") - val dataset480 = readDatasetFromFile("./work_files/skylight/hosek_model_source/dataset480.bin") - val dataset520 = readDatasetFromFile("./work_files/skylight/hosek_model_source/dataset520.bin") - val dataset560 = readDatasetFromFile("./work_files/skylight/hosek_model_source/dataset560.bin") - val dataset600 = readDatasetFromFile("./work_files/skylight/hosek_model_source/dataset600.bin") - val dataset640 = readDatasetFromFile("./work_files/skylight/hosek_model_source/dataset640.bin") - val dataset680 = readDatasetFromFile("./work_files/skylight/hosek_model_source/dataset680.bin") - val dataset720 = readDatasetFromFile("./work_files/skylight/hosek_model_source/dataset720.bin") + val dataset320 = readDatasetFromFile("./assets/clut/hosek/dataset320.bin") + val dataset360 = readDatasetFromFile("./assets/clut/hosek/dataset360.bin") + val dataset400 = readDatasetFromFile("./assets/clut/hosek/dataset400.bin") + val dataset440 = readDatasetFromFile("./assets/clut/hosek/dataset440.bin") + val dataset480 = readDatasetFromFile("./assets/clut/hosek/dataset480.bin") + val dataset520 = readDatasetFromFile("./assets/clut/hosek/dataset520.bin") + val dataset560 = readDatasetFromFile("./assets/clut/hosek/dataset560.bin") + val dataset600 = readDatasetFromFile("./assets/clut/hosek/dataset600.bin") + val dataset640 = readDatasetFromFile("./assets/clut/hosek/dataset640.bin") + val dataset680 = readDatasetFromFile("./assets/clut/hosek/dataset680.bin") + val dataset720 = readDatasetFromFile("./assets/clut/hosek/dataset720.bin") - val datasetRad320 = readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRad320.bin") - val datasetRad360 = readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRad360.bin") - val datasetRad400 = readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRad400.bin") - val datasetRad440 = readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRad440.bin") - val datasetRad480 = readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRad480.bin") - val datasetRad520 = readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRad520.bin") - val datasetRad560 = readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRad560.bin") - val datasetRad600 = readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRad600.bin") - val datasetRad640 = readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRad640.bin") - val datasetRad680 = readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRad680.bin") - val datasetRad720 = readDatasetFromFile("./work_files/skylight/hosek_model_source/datasetRad720.bin") + val datasetRad320 = readDatasetFromFile("./assets/clut/hosek/datasetRad320.bin") + val datasetRad360 = readDatasetFromFile("./assets/clut/hosek/datasetRad360.bin") + val datasetRad400 = readDatasetFromFile("./assets/clut/hosek/datasetRad400.bin") + val datasetRad440 = readDatasetFromFile("./assets/clut/hosek/datasetRad440.bin") + val datasetRad480 = readDatasetFromFile("./assets/clut/hosek/datasetRad480.bin") + val datasetRad520 = readDatasetFromFile("./assets/clut/hosek/datasetRad520.bin") + val datasetRad560 = readDatasetFromFile("./assets/clut/hosek/datasetRad560.bin") + val datasetRad600 = readDatasetFromFile("./assets/clut/hosek/datasetRad600.bin") + val datasetRad640 = readDatasetFromFile("./assets/clut/hosek/datasetRad640.bin") + val datasetRad680 = readDatasetFromFile("./assets/clut/hosek/datasetRad680.bin") + val datasetRad720 = readDatasetFromFile("./assets/clut/hosek/datasetRad720.bin") - val solarDataset320 = readDatasetFromFile("./work_files/skylight/hosek_model_source/solarDataset320.bin") - val solarDataset360 = readDatasetFromFile("./work_files/skylight/hosek_model_source/solarDataset360.bin") - val solarDataset400 = readDatasetFromFile("./work_files/skylight/hosek_model_source/solarDataset400.bin") - val solarDataset440 = readDatasetFromFile("./work_files/skylight/hosek_model_source/solarDataset440.bin") - val solarDataset480 = readDatasetFromFile("./work_files/skylight/hosek_model_source/solarDataset480.bin") - val solarDataset520 = readDatasetFromFile("./work_files/skylight/hosek_model_source/solarDataset520.bin") - val solarDataset560 = readDatasetFromFile("./work_files/skylight/hosek_model_source/solarDataset560.bin") - val solarDataset600 = readDatasetFromFile("./work_files/skylight/hosek_model_source/solarDataset600.bin") - val solarDataset640 = readDatasetFromFile("./work_files/skylight/hosek_model_source/solarDataset640.bin") - val solarDataset680 = readDatasetFromFile("./work_files/skylight/hosek_model_source/solarDataset680.bin") - val solarDataset720 = readDatasetFromFile("./work_files/skylight/hosek_model_source/solarDataset720.bin") + val solarDataset320 = readDatasetFromFile("./assets/clut/hosek/solarDataset320.bin") + val solarDataset360 = readDatasetFromFile("./assets/clut/hosek/solarDataset360.bin") + val solarDataset400 = readDatasetFromFile("./assets/clut/hosek/solarDataset400.bin") + val solarDataset440 = readDatasetFromFile("./assets/clut/hosek/solarDataset440.bin") + val solarDataset480 = readDatasetFromFile("./assets/clut/hosek/solarDataset480.bin") + val solarDataset520 = readDatasetFromFile("./assets/clut/hosek/solarDataset520.bin") + val solarDataset560 = readDatasetFromFile("./assets/clut/hosek/solarDataset560.bin") + val solarDataset600 = readDatasetFromFile("./assets/clut/hosek/solarDataset600.bin") + val solarDataset640 = readDatasetFromFile("./assets/clut/hosek/solarDataset640.bin") + val solarDataset680 = readDatasetFromFile("./assets/clut/hosek/solarDataset680.bin") + val solarDataset720 = readDatasetFromFile("./assets/clut/hosek/solarDataset720.bin") init { assertEquals(1080, dataset600.size, "Dataset size mismatch - expected 1080, got ${dataset600.size}")