|
| 1 | +/* Lopora is an open-source weak signal spectrogram by Onno Hoekstra (PA2OHH) |
| 2 | + * This colormap was created to mimic the default colors used by Lopora. |
| 3 | + * https://www.qsl.net/pa2ohh/11lop.htm |
| 4 | + * https://github.com/swharden/Lopora/blob/20afe72416579f8b7d3c8861532c71a95b904066/src/LOPORA-v5a.py#L828-L872 |
| 5 | + */ |
| 6 | + |
| 7 | +using System; |
| 8 | + |
| 9 | +namespace Spectrogram.Colormaps |
| 10 | +{ |
| 11 | + class Lopora : IColormap |
| 12 | + { |
| 13 | + public (byte r, byte g, byte b) GetRGB(byte value) |
| 14 | + { |
| 15 | + byte[] bytes = BitConverter.GetBytes(rgb[value]); |
| 16 | + return (bytes[2], bytes[1], bytes[0]); |
| 17 | + } |
| 18 | + |
| 19 | + private readonly int[] rgb = |
| 20 | + { |
| 21 | + 0000000000, 0000069696, 0000137036, 0000203860, 0000270426, 0000336991, 0000403300, 0000469608, |
| 22 | + 0000535915, 0000602222, 0000668273, 0000734580, 0000800631, 0000866681, 0000932987, 0000999037, |
| 23 | + 0001065088, 0001131137, 0001197187, 0001262981, 0001329031, 0001395080, 0001461130, 0001526924, |
| 24 | + 0001592973, 0001659023, 0001724816, 0001790865, 0001856659, 0001922708, 0001988501, 0002054550, |
| 25 | + 0002120344, 0002186393, 0002252186, 0002317979, 0002384028, 0002449821, 0002515614, 0002581663, |
| 26 | + 0002647456, 0002713249, 0002779042, 0002845091, 0002910884, 0002976677, 0003042470, 0003108263, |
| 27 | + 0003174056, 0003240105, 0003305898, 0003371690, 0003437483, 0003503276, 0003569069, 0003634862, |
| 28 | + 0003700654, 0003766447, 0003832240, 0003898033, 0003963825, 0004029618, 0004095411, 0004161204, |
| 29 | + 0004227252, 0004292789, 0004358582, 0004424374, 0004490167, 0004555960, 0004621752, 0004687545, |
| 30 | + 0004753338, 0004819130, 0004884923, 0004950716, 0005016508, 0005082301, 0005148093, 0005213886, |
| 31 | + 0005279679, 0005345215, 0005411008, 0005476800, 0005542593, 0005608386, 0005674178, 0005739971, |
| 32 | + 0005805763, 0005871300, 0005937092, 0006002885, 0006068677, 0006134470, 0006200263, 0006265799, |
| 33 | + 0006331592, 0006397384, 0006463177, 0006528969, 0006594506, 0006660298, 0006726091, 0006791883, |
| 34 | + 0006857676, 0006923212, 0006989005, 0007054797, 0007120590, 0007186126, 0007251918, 0007317711, |
| 35 | + 0007383503, 0007449040, 0007514832, 0007580625, 0007646417, 0007711954, 0007777746, 0007843539, |
| 36 | + 0007909331, 0007974867, 0008040660, 0008106452, 0008171989, 0008237781, 0008303574, 0008369366, |
| 37 | + 0008434902, 0008435159, 0008500951, 0008566488, 0008632280, 0008698072, 0008763609, 0008829401, |
| 38 | + 0008895194, 0008960986, 0009026522, 0009092315, 0009158107, 0009223644, 0009289436, 0009355228, |
| 39 | + 0009420765, 0009486557, 0009552350, 0009617886, 0009683678, 0009749471, 0009815007, 0009880799, |
| 40 | + 0009946336, 0010012128, 0010077921, 0010143457, 0010209249, 0010275042, 0010340578, 0010406370, |
| 41 | + 0010472163, 0010537699, 0010603491, 0010669028, 0010734820, 0010800612, 0010866149, 0010931941, |
| 42 | + 0010997734, 0011063270, 0011129062, 0011194599, 0011260391, 0011326183, 0011391720, 0011457512, |
| 43 | + 0011523048, 0011588841, 0011654633, 0011720169, 0011785962, 0011851498, 0011917290, 0011983082, |
| 44 | + 0012048619, 0012114411, 0012179947, 0012245740, 0012311532, 0012377068, 0012442861, 0012508397, |
| 45 | + 0012574189, 0012639726, 0012705518, 0012771310, 0012836847, 0012902639, 0012968175, 0013033967, |
| 46 | + 0013099504, 0013165296, 0013231088, 0013296625, 0013362417, 0013427953, 0013493746, 0013559282, |
| 47 | + 0013625074, 0013690610, 0013756403, 0013822195, 0013887731, 0013953524, 0014019060, 0014084852, |
| 48 | + 0014150388, 0014216181, 0014281717, 0014347509, 0014413046, 0014478838, 0014544374, 0014610166, |
| 49 | + 0014675959, 0014741495, 0014807287, 0014872823, 0014938616, 0015004152, 0015069944, 0015135481, |
| 50 | + 0015201273, 0015266809, 0015332601, 0015398138, 0015463930, 0015529466, 0015595258, 0015660795, |
| 51 | + 0015726587, 0015792123, 0015857915, 0015923452, 0015989244, 0016054780, 0016120572, 0016186109, |
| 52 | + 0016251901, 0016317437, 0016383229, 0016448766, 0016514558, 0016580350, 0016645887, 0016711679, |
| 53 | + }; |
| 54 | + } |
| 55 | +} |
0 commit comments