Commit 9f0e500fd579367e46e0e5e3c1f27ede10d58a2d

Authored by Erdogan Furkan
2 parents 64ac99fa e80f3785

Merge done

Showing 38 changed files with 2533 additions and 157 deletions   Show diff stats
generic_data/Functions/functions.xml
... ... @@ -7,13 +7,6 @@
7 7 <info_brief>average</info_brief>
8 8 <new_kernel>#sampling_classic</new_kernel>
9 9 </function>
10   - <function name="isinside_(,)" args="1" kind="time" group="stat">
11   - <prompts>
12   - <prompt>ahahah</prompt>
13   - </prompts>
14   - <info_brief>average</info_brief>
15   - <new_kernel>#ttcat_to_param</new_kernel>
16   - </function>
17 10 <function name="median_(,)" args="1" kind="time" group="stat">
18 11 <prompts>
19 12 <prompt>input averaging time in secs</prompt>
... ... @@ -290,7 +283,18 @@
290 283 <info_brief>Magnitude</info_brief>
291 284 <new_kernel>magnitude</new_kernel>
292 285 </function>
293   -
  286 + <function name="planarity(,,,)" args="4" kind="tetrahedron" group="math">
  287 + <info_brief>Planarity calculation from tetrahedron</info_brief>
  288 + <new_kernel>planarity</new_kernel>
  289 + </function>
  290 + <function name="elongation(,,,)" args="4" kind="tetrahedron" group="math">
  291 + <info_brief>Elongation calculation from tetrahedron</info_brief>
  292 + <new_kernel>elongation</new_kernel>
  293 + </function>
  294 + <function name="characteristic(,,,)" args="4" kind="tetrahedron" group="math">
  295 + <info_brief>Characteristic calculation from tetrahedron</info_brief>
  296 + <new_kernel>characteristic</new_kernel>
  297 + </function>
294 298 <function name="abs()" kind="math" group="math">
295 299 <info_brief>Absolute value</info_brief>
296 300 <new_kernel>abs</new_kernel>
... ...
generic_data/colormaps/cmap1_amda_default.svg 0 โ†’ 100644
... ... @@ -0,0 +1,169 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3 + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4 +<svg
  5 + xmlns="http://www.w3.org/2000/svg"
  6 + xmlns:xlink="http://www.w3.org/1999/xlink"
  7 + version="1.1"
  8 + width="300pt"
  9 + height="45pt"
  10 + viewBox="0 0 300 45"
  11 + >
  12 + <rect
  13 + x="0"
  14 + y="0"
  15 + width="300"
  16 + height="45"
  17 + stroke="none"
  18 + fill="#000000"
  19 + fill-opacity="1.000000"
  20 + />
  21 + <g
  22 + transform="matrix(1 0 0 -1 0 45)"
  23 + >
  24 + <g>
  25 + <defs>
  26 + <linearGradient
  27 + id="MyGradient0000000000"
  28 + gradientUnits="userSpaceOnUse"
  29 + x1="0.00"
  30 + y1="0.00"
  31 + x2="299.99"
  32 + y2="0.00"
  33 + >
  34 + <stop offset="0.000" stop-color="#000066" stop-opacity="1.000"/>
  35 + <stop offset="0.008" stop-color="#00006B" stop-opacity="1.000"/>
  36 + <stop offset="0.016" stop-color="#00006F" stop-opacity="1.000"/>
  37 + <stop offset="0.024" stop-color="#000074" stop-opacity="1.000"/>
  38 + <stop offset="0.031" stop-color="#000079" stop-opacity="1.000"/>
  39 + <stop offset="0.039" stop-color="#00007D" stop-opacity="1.000"/>
  40 + <stop offset="0.047" stop-color="#000082" stop-opacity="1.000"/>
  41 + <stop offset="0.055" stop-color="#000087" stop-opacity="1.000"/>
  42 + <stop offset="0.063" stop-color="#00008C" stop-opacity="1.000"/>
  43 + <stop offset="0.071" stop-color="#000090" stop-opacity="1.000"/>
  44 + <stop offset="0.079" stop-color="#000095" stop-opacity="1.000"/>
  45 + <stop offset="0.087" stop-color="#00009A" stop-opacity="1.000"/>
  46 + <stop offset="0.094" stop-color="#00009E" stop-opacity="1.000"/>
  47 + <stop offset="0.102" stop-color="#0000A3" stop-opacity="1.000"/>
  48 + <stop offset="0.110" stop-color="#0000A8" stop-opacity="1.000"/>
  49 + <stop offset="0.118" stop-color="#0000AC" stop-opacity="1.000"/>
  50 + <stop offset="0.126" stop-color="#0000B1" stop-opacity="1.000"/>
  51 + <stop offset="0.134" stop-color="#0000B6" stop-opacity="1.000"/>
  52 + <stop offset="0.142" stop-color="#0000BB" stop-opacity="1.000"/>
  53 + <stop offset="0.150" stop-color="#0000BF" stop-opacity="1.000"/>
  54 + <stop offset="0.157" stop-color="#0005C1" stop-opacity="1.000"/>
  55 + <stop offset="0.165" stop-color="#000AC2" stop-opacity="1.000"/>
  56 + <stop offset="0.173" stop-color="#000FC3" stop-opacity="1.000"/>
  57 + <stop offset="0.181" stop-color="#0015C5" stop-opacity="1.000"/>
  58 + <stop offset="0.189" stop-color="#001AC6" stop-opacity="1.000"/>
  59 + <stop offset="0.197" stop-color="#001FC7" stop-opacity="1.000"/>
  60 + <stop offset="0.205" stop-color="#0025C9" stop-opacity="1.000"/>
  61 + <stop offset="0.213" stop-color="#002ACA" stop-opacity="1.000"/>
  62 + <stop offset="0.220" stop-color="#0030CC" stop-opacity="1.000"/>
  63 + <stop offset="0.228" stop-color="#0035CD" stop-opacity="1.000"/>
  64 + <stop offset="0.236" stop-color="#003ACE" stop-opacity="1.000"/>
  65 + <stop offset="0.244" stop-color="#0040D0" stop-opacity="1.000"/>
  66 + <stop offset="0.252" stop-color="#0045D1" stop-opacity="1.000"/>
  67 + <stop offset="0.260" stop-color="#004AD2" stop-opacity="1.000"/>
  68 + <stop offset="0.268" stop-color="#0050D4" stop-opacity="1.000"/>
  69 + <stop offset="0.276" stop-color="#0055D5" stop-opacity="1.000"/>
  70 + <stop offset="0.283" stop-color="#005BD6" stop-opacity="1.000"/>
  71 + <stop offset="0.291" stop-color="#0060D8" stop-opacity="1.000"/>
  72 + <stop offset="0.299" stop-color="#0065D9" stop-opacity="1.000"/>
  73 + <stop offset="0.307" stop-color="#006ACF" stop-opacity="1.000"/>
  74 + <stop offset="0.315" stop-color="#006EC3" stop-opacity="1.000"/>
  75 + <stop offset="0.323" stop-color="#0072B8" stop-opacity="1.000"/>
  76 + <stop offset="0.331" stop-color="#0076AD" stop-opacity="1.000"/>
  77 + <stop offset="0.339" stop-color="#007AA1" stop-opacity="1.000"/>
  78 + <stop offset="0.346" stop-color="#007E96" stop-opacity="1.000"/>
  79 + <stop offset="0.354" stop-color="#00828A" stop-opacity="1.000"/>
  80 + <stop offset="0.362" stop-color="#00867F" stop-opacity="1.000"/>
  81 + <stop offset="0.370" stop-color="#008A73" stop-opacity="1.000"/>
  82 + <stop offset="0.378" stop-color="#008E68" stop-opacity="1.000"/>
  83 + <stop offset="0.386" stop-color="#00925D" stop-opacity="1.000"/>
  84 + <stop offset="0.394" stop-color="#009651" stop-opacity="1.000"/>
  85 + <stop offset="0.402" stop-color="#009A46" stop-opacity="1.000"/>
  86 + <stop offset="0.409" stop-color="#009E3A" stop-opacity="1.000"/>
  87 + <stop offset="0.417" stop-color="#00A22F" stop-opacity="1.000"/>
  88 + <stop offset="0.425" stop-color="#00A623" stop-opacity="1.000"/>
  89 + <stop offset="0.433" stop-color="#00AA18" stop-opacity="1.000"/>
  90 + <stop offset="0.441" stop-color="#00AE0D" stop-opacity="1.000"/>
  91 + <stop offset="0.449" stop-color="#00B201" stop-opacity="1.000"/>
  92 + <stop offset="0.457" stop-color="#06B400" stop-opacity="1.000"/>
  93 + <stop offset="0.465" stop-color="#0EB400" stop-opacity="1.000"/>
  94 + <stop offset="0.472" stop-color="#15B500" stop-opacity="1.000"/>
  95 + <stop offset="0.480" stop-color="#1DB600" stop-opacity="1.000"/>
  96 + <stop offset="0.488" stop-color="#25B700" stop-opacity="1.000"/>
  97 + <stop offset="0.496" stop-color="#2CB800" stop-opacity="1.000"/>
  98 + <stop offset="0.504" stop-color="#34B900" stop-opacity="1.000"/>
  99 + <stop offset="0.512" stop-color="#3CBA00" stop-opacity="1.000"/>
  100 + <stop offset="0.520" stop-color="#43BB00" stop-opacity="1.000"/>
  101 + <stop offset="0.528" stop-color="#4BBC00" stop-opacity="1.000"/>
  102 + <stop offset="0.535" stop-color="#53BD00" stop-opacity="1.000"/>
  103 + <stop offset="0.543" stop-color="#5ABE00" stop-opacity="1.000"/>
  104 + <stop offset="0.551" stop-color="#62BF00" stop-opacity="1.000"/>
  105 + <stop offset="0.559" stop-color="#6AC000" stop-opacity="1.000"/>
  106 + <stop offset="0.567" stop-color="#72C100" stop-opacity="1.000"/>
  107 + <stop offset="0.575" stop-color="#79C200" stop-opacity="1.000"/>
  108 + <stop offset="0.583" stop-color="#81C300" stop-opacity="1.000"/>
  109 + <stop offset="0.591" stop-color="#89C400" stop-opacity="1.000"/>
  110 + <stop offset="0.598" stop-color="#90C500" stop-opacity="1.000"/>
  111 + <stop offset="0.606" stop-color="#98C600" stop-opacity="1.000"/>
  112 + <stop offset="0.614" stop-color="#A0C700" stop-opacity="1.000"/>
  113 + <stop offset="0.622" stop-color="#A7C800" stop-opacity="1.000"/>
  114 + <stop offset="0.630" stop-color="#AFC900" stop-opacity="1.000"/>
  115 + <stop offset="0.638" stop-color="#B7CA00" stop-opacity="1.000"/>
  116 + <stop offset="0.646" stop-color="#BECB00" stop-opacity="1.000"/>
  117 + <stop offset="0.654" stop-color="#C6CC00" stop-opacity="1.000"/>
  118 + <stop offset="0.661" stop-color="#CDCC00" stop-opacity="1.000"/>
  119 + <stop offset="0.669" stop-color="#CFC800" stop-opacity="1.000"/>
  120 + <stop offset="0.677" stop-color="#D0C500" stop-opacity="1.000"/>
  121 + <stop offset="0.685" stop-color="#D2C200" stop-opacity="1.000"/>
  122 + <stop offset="0.693" stop-color="#D4BE00" stop-opacity="1.000"/>
  123 + <stop offset="0.701" stop-color="#D6BB00" stop-opacity="1.000"/>
  124 + <stop offset="0.709" stop-color="#D8B800" stop-opacity="1.000"/>
  125 + <stop offset="0.717" stop-color="#DAB400" stop-opacity="1.000"/>
  126 + <stop offset="0.724" stop-color="#DCB100" stop-opacity="1.000"/>
  127 + <stop offset="0.732" stop-color="#DEAD00" stop-opacity="1.000"/>
  128 + <stop offset="0.740" stop-color="#E0AA00" stop-opacity="1.000"/>
  129 + <stop offset="0.748" stop-color="#E2A700" stop-opacity="1.000"/>
  130 + <stop offset="0.756" stop-color="#E4A300" stop-opacity="1.000"/>
  131 + <stop offset="0.764" stop-color="#E6A000" stop-opacity="1.000"/>
  132 + <stop offset="0.772" stop-color="#E89D00" stop-opacity="1.000"/>
  133 + <stop offset="0.780" stop-color="#E99900" stop-opacity="1.000"/>
  134 + <stop offset="0.787" stop-color="#EB9600" stop-opacity="1.000"/>
  135 + <stop offset="0.795" stop-color="#ED9300" stop-opacity="1.000"/>
  136 + <stop offset="0.803" stop-color="#EF8F00" stop-opacity="1.000"/>
  137 + <stop offset="0.811" stop-color="#F18C00" stop-opacity="1.000"/>
  138 + <stop offset="0.819" stop-color="#F38900" stop-opacity="1.000"/>
  139 + <stop offset="0.827" stop-color="#F58500" stop-opacity="1.000"/>
  140 + <stop offset="0.835" stop-color="#F78200" stop-opacity="1.000"/>
  141 + <stop offset="0.843" stop-color="#F97E00" stop-opacity="1.000"/>
  142 + <stop offset="0.850" stop-color="#FB7B00" stop-opacity="1.000"/>
  143 + <stop offset="0.858" stop-color="#FD7800" stop-opacity="1.000"/>
  144 + <stop offset="0.866" stop-color="#FF7400" stop-opacity="1.000"/>
  145 + <stop offset="0.874" stop-color="#FE6F00" stop-opacity="1.000"/>
  146 + <stop offset="0.882" stop-color="#FB6800" stop-opacity="1.000"/>
  147 + <stop offset="0.890" stop-color="#F86100" stop-opacity="1.000"/>
  148 + <stop offset="0.898" stop-color="#F55A00" stop-opacity="1.000"/>
  149 + <stop offset="0.906" stop-color="#F25300" stop-opacity="1.000"/>
  150 + <stop offset="0.913" stop-color="#EE4C00" stop-opacity="1.000"/>
  151 + <stop offset="0.921" stop-color="#EB4500" stop-opacity="1.000"/>
  152 + <stop offset="0.929" stop-color="#E83E00" stop-opacity="1.000"/>
  153 + <stop offset="0.937" stop-color="#E53700" stop-opacity="1.000"/>
  154 + <stop offset="0.945" stop-color="#E23000" stop-opacity="1.000"/>
  155 + <stop offset="0.953" stop-color="#DF2900" stop-opacity="1.000"/>
  156 + <stop offset="0.961" stop-color="#DC2200" stop-opacity="1.000"/>
  157 + <stop offset="0.969" stop-color="#D91B00" stop-opacity="1.000"/>
  158 + <stop offset="0.976" stop-color="#D61400" stop-opacity="1.000"/>
  159 + <stop offset="0.984" stop-color="#D30D00" stop-opacity="1.000"/>
  160 + <stop offset="0.992" stop-color="#CF0600" stop-opacity="1.000"/>
  161 + <stop offset="1.000" stop-color="#CC0000" stop-opacity="1.000"/>
  162 + </linearGradient>
  163 + </defs>
  164 + <polyline
  165 + fill="url(#MyGradient0000000000)"
  166 + points="0.00,0.00 299.99,0.00 299.99,45.00 0.00,45.00 0.00,0.00 0.00,0.00 "/>
  167 + </g>
  168 + </g>
  169 +</svg>
... ...
generic_data/colormaps/cmap1_blue_red.svg 0 โ†’ 100644
... ... @@ -0,0 +1,169 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3 + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4 +<svg
  5 + xmlns="http://www.w3.org/2000/svg"
  6 + xmlns:xlink="http://www.w3.org/1999/xlink"
  7 + version="1.1"
  8 + width="300pt"
  9 + height="45pt"
  10 + viewBox="0 0 300 45"
  11 + >
  12 + <rect
  13 + x="0"
  14 + y="0"
  15 + width="300"
  16 + height="45"
  17 + stroke="none"
  18 + fill="#000000"
  19 + fill-opacity="1.000000"
  20 + />
  21 + <g
  22 + transform="matrix(1 0 0 -1 0 45)"
  23 + >
  24 + <g>
  25 + <defs>
  26 + <linearGradient
  27 + id="MyGradient0000000000"
  28 + gradientUnits="userSpaceOnUse"
  29 + x1="0.00"
  30 + y1="0.00"
  31 + x2="299.99"
  32 + y2="0.00"
  33 + >
  34 + <stop offset="0.000" stop-color="#5500FF" stop-opacity="1.000"/>
  35 + <stop offset="0.008" stop-color="#5400FC" stop-opacity="1.000"/>
  36 + <stop offset="0.016" stop-color="#5200F8" stop-opacity="1.000"/>
  37 + <stop offset="0.024" stop-color="#5100F5" stop-opacity="1.000"/>
  38 + <stop offset="0.031" stop-color="#5000F1" stop-opacity="1.000"/>
  39 + <stop offset="0.039" stop-color="#4F00ED" stop-opacity="1.000"/>
  40 + <stop offset="0.047" stop-color="#4E00EA" stop-opacity="1.000"/>
  41 + <stop offset="0.055" stop-color="#4C00E6" stop-opacity="1.000"/>
  42 + <stop offset="0.063" stop-color="#4B00E2" stop-opacity="1.000"/>
  43 + <stop offset="0.071" stop-color="#4A00DF" stop-opacity="1.000"/>
  44 + <stop offset="0.079" stop-color="#4900DB" stop-opacity="1.000"/>
  45 + <stop offset="0.087" stop-color="#4700D7" stop-opacity="1.000"/>
  46 + <stop offset="0.094" stop-color="#4600D4" stop-opacity="1.000"/>
  47 + <stop offset="0.102" stop-color="#4500D0" stop-opacity="1.000"/>
  48 + <stop offset="0.110" stop-color="#4400CC" stop-opacity="1.000"/>
  49 + <stop offset="0.118" stop-color="#4300C9" stop-opacity="1.000"/>
  50 + <stop offset="0.126" stop-color="#4100C5" stop-opacity="1.000"/>
  51 + <stop offset="0.134" stop-color="#4000C1" stop-opacity="1.000"/>
  52 + <stop offset="0.142" stop-color="#3F00BE" stop-opacity="1.000"/>
  53 + <stop offset="0.150" stop-color="#3E00BA" stop-opacity="1.000"/>
  54 + <stop offset="0.157" stop-color="#3C00B6" stop-opacity="1.000"/>
  55 + <stop offset="0.165" stop-color="#3B00B3" stop-opacity="1.000"/>
  56 + <stop offset="0.173" stop-color="#3A00AF" stop-opacity="1.000"/>
  57 + <stop offset="0.181" stop-color="#3900AB" stop-opacity="1.000"/>
  58 + <stop offset="0.189" stop-color="#3800A8" stop-opacity="1.000"/>
  59 + <stop offset="0.197" stop-color="#3600A4" stop-opacity="1.000"/>
  60 + <stop offset="0.205" stop-color="#3500A0" stop-opacity="1.000"/>
  61 + <stop offset="0.213" stop-color="#34009D" stop-opacity="1.000"/>
  62 + <stop offset="0.220" stop-color="#330099" stop-opacity="1.000"/>
  63 + <stop offset="0.228" stop-color="#310095" stop-opacity="1.000"/>
  64 + <stop offset="0.236" stop-color="#300092" stop-opacity="1.000"/>
  65 + <stop offset="0.244" stop-color="#2F008E" stop-opacity="1.000"/>
  66 + <stop offset="0.252" stop-color="#2E008A" stop-opacity="1.000"/>
  67 + <stop offset="0.260" stop-color="#2D0087" stop-opacity="1.000"/>
  68 + <stop offset="0.268" stop-color="#2B0083" stop-opacity="1.000"/>
  69 + <stop offset="0.276" stop-color="#2A007F" stop-opacity="1.000"/>
  70 + <stop offset="0.283" stop-color="#29007C" stop-opacity="1.000"/>
  71 + <stop offset="0.291" stop-color="#280078" stop-opacity="1.000"/>
  72 + <stop offset="0.299" stop-color="#260074" stop-opacity="1.000"/>
  73 + <stop offset="0.307" stop-color="#250071" stop-opacity="1.000"/>
  74 + <stop offset="0.315" stop-color="#24006D" stop-opacity="1.000"/>
  75 + <stop offset="0.323" stop-color="#230069" stop-opacity="1.000"/>
  76 + <stop offset="0.331" stop-color="#220066" stop-opacity="1.000"/>
  77 + <stop offset="0.339" stop-color="#200062" stop-opacity="1.000"/>
  78 + <stop offset="0.346" stop-color="#1F005E" stop-opacity="1.000"/>
  79 + <stop offset="0.354" stop-color="#1E005B" stop-opacity="1.000"/>
  80 + <stop offset="0.362" stop-color="#1D0057" stop-opacity="1.000"/>
  81 + <stop offset="0.370" stop-color="#1B0053" stop-opacity="1.000"/>
  82 + <stop offset="0.378" stop-color="#1A0050" stop-opacity="1.000"/>
  83 + <stop offset="0.386" stop-color="#19004C" stop-opacity="1.000"/>
  84 + <stop offset="0.394" stop-color="#180048" stop-opacity="1.000"/>
  85 + <stop offset="0.402" stop-color="#170045" stop-opacity="1.000"/>
  86 + <stop offset="0.409" stop-color="#150041" stop-opacity="1.000"/>
  87 + <stop offset="0.417" stop-color="#14003D" stop-opacity="1.000"/>
  88 + <stop offset="0.425" stop-color="#13003A" stop-opacity="1.000"/>
  89 + <stop offset="0.433" stop-color="#120036" stop-opacity="1.000"/>
  90 + <stop offset="0.441" stop-color="#100032" stop-opacity="1.000"/>
  91 + <stop offset="0.449" stop-color="#0E002C" stop-opacity="1.000"/>
  92 + <stop offset="0.457" stop-color="#0C0026" stop-opacity="1.000"/>
  93 + <stop offset="0.465" stop-color="#0A0020" stop-opacity="1.000"/>
  94 + <stop offset="0.472" stop-color="#08001A" stop-opacity="1.000"/>
  95 + <stop offset="0.480" stop-color="#060014" stop-opacity="1.000"/>
  96 + <stop offset="0.488" stop-color="#04000E" stop-opacity="1.000"/>
  97 + <stop offset="0.496" stop-color="#020008" stop-opacity="1.000"/>
  98 + <stop offset="0.504" stop-color="#080000" stop-opacity="1.000"/>
  99 + <stop offset="0.512" stop-color="#0E0000" stop-opacity="1.000"/>
  100 + <stop offset="0.520" stop-color="#140000" stop-opacity="1.000"/>
  101 + <stop offset="0.528" stop-color="#1A0000" stop-opacity="1.000"/>
  102 + <stop offset="0.535" stop-color="#200000" stop-opacity="1.000"/>
  103 + <stop offset="0.543" stop-color="#260000" stop-opacity="1.000"/>
  104 + <stop offset="0.551" stop-color="#2C0000" stop-opacity="1.000"/>
  105 + <stop offset="0.559" stop-color="#320000" stop-opacity="1.000"/>
  106 + <stop offset="0.567" stop-color="#360000" stop-opacity="1.000"/>
  107 + <stop offset="0.575" stop-color="#3A0000" stop-opacity="1.000"/>
  108 + <stop offset="0.583" stop-color="#3D0000" stop-opacity="1.000"/>
  109 + <stop offset="0.591" stop-color="#410000" stop-opacity="1.000"/>
  110 + <stop offset="0.598" stop-color="#450000" stop-opacity="1.000"/>
  111 + <stop offset="0.606" stop-color="#480000" stop-opacity="1.000"/>
  112 + <stop offset="0.614" stop-color="#4C0000" stop-opacity="1.000"/>
  113 + <stop offset="0.622" stop-color="#500000" stop-opacity="1.000"/>
  114 + <stop offset="0.630" stop-color="#530000" stop-opacity="1.000"/>
  115 + <stop offset="0.638" stop-color="#570000" stop-opacity="1.000"/>
  116 + <stop offset="0.646" stop-color="#5B0000" stop-opacity="1.000"/>
  117 + <stop offset="0.654" stop-color="#5E0000" stop-opacity="1.000"/>
  118 + <stop offset="0.661" stop-color="#620000" stop-opacity="1.000"/>
  119 + <stop offset="0.669" stop-color="#660000" stop-opacity="1.000"/>
  120 + <stop offset="0.677" stop-color="#690000" stop-opacity="1.000"/>
  121 + <stop offset="0.685" stop-color="#6D0000" stop-opacity="1.000"/>
  122 + <stop offset="0.693" stop-color="#710000" stop-opacity="1.000"/>
  123 + <stop offset="0.701" stop-color="#740000" stop-opacity="1.000"/>
  124 + <stop offset="0.709" stop-color="#780000" stop-opacity="1.000"/>
  125 + <stop offset="0.717" stop-color="#7C0000" stop-opacity="1.000"/>
  126 + <stop offset="0.724" stop-color="#7F0000" stop-opacity="1.000"/>
  127 + <stop offset="0.732" stop-color="#830000" stop-opacity="1.000"/>
  128 + <stop offset="0.740" stop-color="#870000" stop-opacity="1.000"/>
  129 + <stop offset="0.748" stop-color="#8A0000" stop-opacity="1.000"/>
  130 + <stop offset="0.756" stop-color="#8E0000" stop-opacity="1.000"/>
  131 + <stop offset="0.764" stop-color="#920000" stop-opacity="1.000"/>
  132 + <stop offset="0.772" stop-color="#950000" stop-opacity="1.000"/>
  133 + <stop offset="0.780" stop-color="#990000" stop-opacity="1.000"/>
  134 + <stop offset="0.787" stop-color="#9D0000" stop-opacity="1.000"/>
  135 + <stop offset="0.795" stop-color="#A00000" stop-opacity="1.000"/>
  136 + <stop offset="0.803" stop-color="#A40000" stop-opacity="1.000"/>
  137 + <stop offset="0.811" stop-color="#A80000" stop-opacity="1.000"/>
  138 + <stop offset="0.819" stop-color="#AB0000" stop-opacity="1.000"/>
  139 + <stop offset="0.827" stop-color="#AF0000" stop-opacity="1.000"/>
  140 + <stop offset="0.835" stop-color="#B30000" stop-opacity="1.000"/>
  141 + <stop offset="0.843" stop-color="#B60000" stop-opacity="1.000"/>
  142 + <stop offset="0.850" stop-color="#BA0000" stop-opacity="1.000"/>
  143 + <stop offset="0.858" stop-color="#BE0000" stop-opacity="1.000"/>
  144 + <stop offset="0.866" stop-color="#C10000" stop-opacity="1.000"/>
  145 + <stop offset="0.874" stop-color="#C50000" stop-opacity="1.000"/>
  146 + <stop offset="0.882" stop-color="#C90000" stop-opacity="1.000"/>
  147 + <stop offset="0.890" stop-color="#CC0000" stop-opacity="1.000"/>
  148 + <stop offset="0.898" stop-color="#D00000" stop-opacity="1.000"/>
  149 + <stop offset="0.906" stop-color="#D40000" stop-opacity="1.000"/>
  150 + <stop offset="0.913" stop-color="#D70000" stop-opacity="1.000"/>
  151 + <stop offset="0.921" stop-color="#DB0000" stop-opacity="1.000"/>
  152 + <stop offset="0.929" stop-color="#DF0000" stop-opacity="1.000"/>
  153 + <stop offset="0.937" stop-color="#E20000" stop-opacity="1.000"/>
  154 + <stop offset="0.945" stop-color="#E60000" stop-opacity="1.000"/>
  155 + <stop offset="0.953" stop-color="#EA0000" stop-opacity="1.000"/>
  156 + <stop offset="0.961" stop-color="#ED0000" stop-opacity="1.000"/>
  157 + <stop offset="0.969" stop-color="#F10000" stop-opacity="1.000"/>
  158 + <stop offset="0.976" stop-color="#F50000" stop-opacity="1.000"/>
  159 + <stop offset="0.984" stop-color="#F80000" stop-opacity="1.000"/>
  160 + <stop offset="0.992" stop-color="#FC0000" stop-opacity="1.000"/>
  161 + <stop offset="1.000" stop-color="#FF0000" stop-opacity="1.000"/>
  162 + </linearGradient>
  163 + </defs>
  164 + <polyline
  165 + fill="url(#MyGradient0000000000)"
  166 + points="0.00,0.00 299.99,0.00 299.99,45.00 0.00,45.00 0.00,0.00 0.00,0.00 "/>
  167 + </g>
  168 + </g>
  169 +</svg>
... ...
generic_data/colormaps/cmap1_blue_yellow.svg 0 โ†’ 100644
... ... @@ -0,0 +1,169 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3 + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4 +<svg
  5 + xmlns="http://www.w3.org/2000/svg"
  6 + xmlns:xlink="http://www.w3.org/1999/xlink"
  7 + version="1.1"
  8 + width="300pt"
  9 + height="45pt"
  10 + viewBox="0 0 300 45"
  11 + >
  12 + <rect
  13 + x="0"
  14 + y="0"
  15 + width="300"
  16 + height="45"
  17 + stroke="none"
  18 + fill="#000000"
  19 + fill-opacity="1.000000"
  20 + />
  21 + <g
  22 + transform="matrix(1 0 0 -1 0 45)"
  23 + >
  24 + <g>
  25 + <defs>
  26 + <linearGradient
  27 + id="MyGradient0000000000"
  28 + gradientUnits="userSpaceOnUse"
  29 + x1="0.00"
  30 + y1="0.00"
  31 + x2="299.99"
  32 + y2="0.00"
  33 + >
  34 + <stop offset="0.000" stop-color="#FFFFFF" stop-opacity="1.000"/>
  35 + <stop offset="0.008" stop-color="#02FBFF" stop-opacity="1.000"/>
  36 + <stop offset="0.016" stop-color="#04F7FF" stop-opacity="1.000"/>
  37 + <stop offset="0.024" stop-color="#06F3FF" stop-opacity="1.000"/>
  38 + <stop offset="0.031" stop-color="#08EFFF" stop-opacity="1.000"/>
  39 + <stop offset="0.039" stop-color="#0AEBFF" stop-opacity="1.000"/>
  40 + <stop offset="0.047" stop-color="#0CE7FF" stop-opacity="1.000"/>
  41 + <stop offset="0.055" stop-color="#0EE3FF" stop-opacity="1.000"/>
  42 + <stop offset="0.063" stop-color="#10DFFF" stop-opacity="1.000"/>
  43 + <stop offset="0.071" stop-color="#12DBFF" stop-opacity="1.000"/>
  44 + <stop offset="0.079" stop-color="#14D7FF" stop-opacity="1.000"/>
  45 + <stop offset="0.087" stop-color="#16D3FF" stop-opacity="1.000"/>
  46 + <stop offset="0.094" stop-color="#18CFFF" stop-opacity="1.000"/>
  47 + <stop offset="0.102" stop-color="#1ACBFF" stop-opacity="1.000"/>
  48 + <stop offset="0.110" stop-color="#1CC7FF" stop-opacity="1.000"/>
  49 + <stop offset="0.118" stop-color="#1EC3FF" stop-opacity="1.000"/>
  50 + <stop offset="0.126" stop-color="#20BFFF" stop-opacity="1.000"/>
  51 + <stop offset="0.134" stop-color="#22BBFF" stop-opacity="1.000"/>
  52 + <stop offset="0.142" stop-color="#24B7FF" stop-opacity="1.000"/>
  53 + <stop offset="0.150" stop-color="#26B3FF" stop-opacity="1.000"/>
  54 + <stop offset="0.157" stop-color="#28AFFF" stop-opacity="1.000"/>
  55 + <stop offset="0.165" stop-color="#2AABFF" stop-opacity="1.000"/>
  56 + <stop offset="0.173" stop-color="#2CA7FF" stop-opacity="1.000"/>
  57 + <stop offset="0.181" stop-color="#2EA3FF" stop-opacity="1.000"/>
  58 + <stop offset="0.189" stop-color="#309FFF" stop-opacity="1.000"/>
  59 + <stop offset="0.197" stop-color="#329BFF" stop-opacity="1.000"/>
  60 + <stop offset="0.205" stop-color="#3497FF" stop-opacity="1.000"/>
  61 + <stop offset="0.213" stop-color="#3693FF" stop-opacity="1.000"/>
  62 + <stop offset="0.220" stop-color="#388FFF" stop-opacity="1.000"/>
  63 + <stop offset="0.228" stop-color="#3A8BFF" stop-opacity="1.000"/>
  64 + <stop offset="0.236" stop-color="#3C87FF" stop-opacity="1.000"/>
  65 + <stop offset="0.244" stop-color="#3E83FF" stop-opacity="1.000"/>
  66 + <stop offset="0.252" stop-color="#4080FE" stop-opacity="1.000"/>
  67 + <stop offset="0.260" stop-color="#4280FA" stop-opacity="1.000"/>
  68 + <stop offset="0.268" stop-color="#4480F6" stop-opacity="1.000"/>
  69 + <stop offset="0.276" stop-color="#4680F2" stop-opacity="1.000"/>
  70 + <stop offset="0.283" stop-color="#4880EE" stop-opacity="1.000"/>
  71 + <stop offset="0.291" stop-color="#4A80EA" stop-opacity="1.000"/>
  72 + <stop offset="0.299" stop-color="#4C80E6" stop-opacity="1.000"/>
  73 + <stop offset="0.307" stop-color="#4E80E2" stop-opacity="1.000"/>
  74 + <stop offset="0.315" stop-color="#5080DE" stop-opacity="1.000"/>
  75 + <stop offset="0.323" stop-color="#5280DA" stop-opacity="1.000"/>
  76 + <stop offset="0.331" stop-color="#5480D6" stop-opacity="1.000"/>
  77 + <stop offset="0.339" stop-color="#5680D2" stop-opacity="1.000"/>
  78 + <stop offset="0.346" stop-color="#5880CE" stop-opacity="1.000"/>
  79 + <stop offset="0.354" stop-color="#5A80CA" stop-opacity="1.000"/>
  80 + <stop offset="0.362" stop-color="#5C80C6" stop-opacity="1.000"/>
  81 + <stop offset="0.370" stop-color="#5E80C2" stop-opacity="1.000"/>
  82 + <stop offset="0.378" stop-color="#6080BE" stop-opacity="1.000"/>
  83 + <stop offset="0.386" stop-color="#6280BA" stop-opacity="1.000"/>
  84 + <stop offset="0.394" stop-color="#6480B6" stop-opacity="1.000"/>
  85 + <stop offset="0.402" stop-color="#6680B2" stop-opacity="1.000"/>
  86 + <stop offset="0.409" stop-color="#6880AE" stop-opacity="1.000"/>
  87 + <stop offset="0.417" stop-color="#6A80AA" stop-opacity="1.000"/>
  88 + <stop offset="0.425" stop-color="#6C80A6" stop-opacity="1.000"/>
  89 + <stop offset="0.433" stop-color="#6E80A2" stop-opacity="1.000"/>
  90 + <stop offset="0.441" stop-color="#70809E" stop-opacity="1.000"/>
  91 + <stop offset="0.449" stop-color="#72809A" stop-opacity="1.000"/>
  92 + <stop offset="0.457" stop-color="#748096" stop-opacity="1.000"/>
  93 + <stop offset="0.465" stop-color="#768092" stop-opacity="1.000"/>
  94 + <stop offset="0.472" stop-color="#78808E" stop-opacity="1.000"/>
  95 + <stop offset="0.480" stop-color="#7A808A" stop-opacity="1.000"/>
  96 + <stop offset="0.488" stop-color="#7C8086" stop-opacity="1.000"/>
  97 + <stop offset="0.496" stop-color="#7E8082" stop-opacity="1.000"/>
  98 + <stop offset="0.504" stop-color="#82807E" stop-opacity="1.000"/>
  99 + <stop offset="0.512" stop-color="#86807C" stop-opacity="1.000"/>
  100 + <stop offset="0.520" stop-color="#8A807A" stop-opacity="1.000"/>
  101 + <stop offset="0.528" stop-color="#8E8078" stop-opacity="1.000"/>
  102 + <stop offset="0.535" stop-color="#928076" stop-opacity="1.000"/>
  103 + <stop offset="0.543" stop-color="#968074" stop-opacity="1.000"/>
  104 + <stop offset="0.551" stop-color="#9A8072" stop-opacity="1.000"/>
  105 + <stop offset="0.559" stop-color="#9E8070" stop-opacity="1.000"/>
  106 + <stop offset="0.567" stop-color="#A2806E" stop-opacity="1.000"/>
  107 + <stop offset="0.575" stop-color="#A6806C" stop-opacity="1.000"/>
  108 + <stop offset="0.583" stop-color="#AA806A" stop-opacity="1.000"/>
  109 + <stop offset="0.591" stop-color="#AE8068" stop-opacity="1.000"/>
  110 + <stop offset="0.598" stop-color="#B28066" stop-opacity="1.000"/>
  111 + <stop offset="0.606" stop-color="#B68064" stop-opacity="1.000"/>
  112 + <stop offset="0.614" stop-color="#BA8062" stop-opacity="1.000"/>
  113 + <stop offset="0.622" stop-color="#BE8060" stop-opacity="1.000"/>
  114 + <stop offset="0.630" stop-color="#C2805E" stop-opacity="1.000"/>
  115 + <stop offset="0.638" stop-color="#C6805C" stop-opacity="1.000"/>
  116 + <stop offset="0.646" stop-color="#CA805A" stop-opacity="1.000"/>
  117 + <stop offset="0.654" stop-color="#CE8058" stop-opacity="1.000"/>
  118 + <stop offset="0.661" stop-color="#D28056" stop-opacity="1.000"/>
  119 + <stop offset="0.669" stop-color="#D68054" stop-opacity="1.000"/>
  120 + <stop offset="0.677" stop-color="#DA8052" stop-opacity="1.000"/>
  121 + <stop offset="0.685" stop-color="#DE8050" stop-opacity="1.000"/>
  122 + <stop offset="0.693" stop-color="#E2804E" stop-opacity="1.000"/>
  123 + <stop offset="0.701" stop-color="#E6804C" stop-opacity="1.000"/>
  124 + <stop offset="0.709" stop-color="#EA804A" stop-opacity="1.000"/>
  125 + <stop offset="0.717" stop-color="#EE8048" stop-opacity="1.000"/>
  126 + <stop offset="0.724" stop-color="#F28046" stop-opacity="1.000"/>
  127 + <stop offset="0.732" stop-color="#F68044" stop-opacity="1.000"/>
  128 + <stop offset="0.740" stop-color="#FA8042" stop-opacity="1.000"/>
  129 + <stop offset="0.748" stop-color="#FE8040" stop-opacity="1.000"/>
  130 + <stop offset="0.756" stop-color="#FF833E" stop-opacity="1.000"/>
  131 + <stop offset="0.764" stop-color="#FF873C" stop-opacity="1.000"/>
  132 + <stop offset="0.772" stop-color="#FF8B3A" stop-opacity="1.000"/>
  133 + <stop offset="0.780" stop-color="#FF8F38" stop-opacity="1.000"/>
  134 + <stop offset="0.787" stop-color="#FF9336" stop-opacity="1.000"/>
  135 + <stop offset="0.795" stop-color="#FF9734" stop-opacity="1.000"/>
  136 + <stop offset="0.803" stop-color="#FF9B32" stop-opacity="1.000"/>
  137 + <stop offset="0.811" stop-color="#FF9F30" stop-opacity="1.000"/>
  138 + <stop offset="0.819" stop-color="#FFA32E" stop-opacity="1.000"/>
  139 + <stop offset="0.827" stop-color="#FFA72C" stop-opacity="1.000"/>
  140 + <stop offset="0.835" stop-color="#FFAB2A" stop-opacity="1.000"/>
  141 + <stop offset="0.843" stop-color="#FFAF28" stop-opacity="1.000"/>
  142 + <stop offset="0.850" stop-color="#FFB326" stop-opacity="1.000"/>
  143 + <stop offset="0.858" stop-color="#FFB724" stop-opacity="1.000"/>
  144 + <stop offset="0.866" stop-color="#FFBB22" stop-opacity="1.000"/>
  145 + <stop offset="0.874" stop-color="#FFBF20" stop-opacity="1.000"/>
  146 + <stop offset="0.882" stop-color="#FFC31E" stop-opacity="1.000"/>
  147 + <stop offset="0.890" stop-color="#FFC71C" stop-opacity="1.000"/>
  148 + <stop offset="0.898" stop-color="#FFCB1A" stop-opacity="1.000"/>
  149 + <stop offset="0.906" stop-color="#FFCF18" stop-opacity="1.000"/>
  150 + <stop offset="0.913" stop-color="#FFD316" stop-opacity="1.000"/>
  151 + <stop offset="0.921" stop-color="#FFD714" stop-opacity="1.000"/>
  152 + <stop offset="0.929" stop-color="#FFDB12" stop-opacity="1.000"/>
  153 + <stop offset="0.937" stop-color="#FFDF10" stop-opacity="1.000"/>
  154 + <stop offset="0.945" stop-color="#FFE30E" stop-opacity="1.000"/>
  155 + <stop offset="0.953" stop-color="#FFE70C" stop-opacity="1.000"/>
  156 + <stop offset="0.961" stop-color="#FFEB0A" stop-opacity="1.000"/>
  157 + <stop offset="0.969" stop-color="#FFEF08" stop-opacity="1.000"/>
  158 + <stop offset="0.976" stop-color="#FFF306" stop-opacity="1.000"/>
  159 + <stop offset="0.984" stop-color="#FFF704" stop-opacity="1.000"/>
  160 + <stop offset="0.992" stop-color="#FFFB02" stop-opacity="1.000"/>
  161 + <stop offset="1.000" stop-color="#000000" stop-opacity="1.000"/>
  162 + </linearGradient>
  163 + </defs>
  164 + <polyline
  165 + fill="url(#MyGradient0000000000)"
  166 + points="0.00,0.00 299.99,0.00 299.99,45.00 0.00,45.00 0.00,0.00 0.00,0.00 "/>
  167 + </g>
  168 + </g>
  169 +</svg>
... ...
generic_data/colormaps/cmap1_dark_violet_yellow.svg 0 โ†’ 100644
... ... @@ -0,0 +1,169 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3 + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4 +<svg
  5 + xmlns="http://www.w3.org/2000/svg"
  6 + xmlns:xlink="http://www.w3.org/1999/xlink"
  7 + version="1.1"
  8 + width="300pt"
  9 + height="45pt"
  10 + viewBox="0 0 300 45"
  11 + >
  12 + <rect
  13 + x="0"
  14 + y="0"
  15 + width="300"
  16 + height="45"
  17 + stroke="none"
  18 + fill="#000000"
  19 + fill-opacity="1.000000"
  20 + />
  21 + <g
  22 + transform="matrix(1 0 0 -1 0 45)"
  23 + >
  24 + <g>
  25 + <defs>
  26 + <linearGradient
  27 + id="MyGradient0000000000"
  28 + gradientUnits="userSpaceOnUse"
  29 + x1="0.00"
  30 + y1="0.00"
  31 + x2="299.99"
  32 + y2="0.00"
  33 + >
  34 + <stop offset="0.000" stop-color="#00004C" stop-opacity="1.000"/>
  35 + <stop offset="0.008" stop-color="#000053" stop-opacity="1.000"/>
  36 + <stop offset="0.016" stop-color="#00005A" stop-opacity="1.000"/>
  37 + <stop offset="0.024" stop-color="#000061" stop-opacity="1.000"/>
  38 + <stop offset="0.031" stop-color="#000069" stop-opacity="1.000"/>
  39 + <stop offset="0.039" stop-color="#000070" stop-opacity="1.000"/>
  40 + <stop offset="0.047" stop-color="#000077" stop-opacity="1.000"/>
  41 + <stop offset="0.055" stop-color="#00007E" stop-opacity="1.000"/>
  42 + <stop offset="0.063" stop-color="#000085" stop-opacity="1.000"/>
  43 + <stop offset="0.071" stop-color="#00008C" stop-opacity="1.000"/>
  44 + <stop offset="0.079" stop-color="#000093" stop-opacity="1.000"/>
  45 + <stop offset="0.087" stop-color="#00009A" stop-opacity="1.000"/>
  46 + <stop offset="0.094" stop-color="#0000A1" stop-opacity="1.000"/>
  47 + <stop offset="0.102" stop-color="#0000A8" stop-opacity="1.000"/>
  48 + <stop offset="0.110" stop-color="#0000AF" stop-opacity="1.000"/>
  49 + <stop offset="0.118" stop-color="#0000B6" stop-opacity="1.000"/>
  50 + <stop offset="0.126" stop-color="#0000BD" stop-opacity="1.000"/>
  51 + <stop offset="0.134" stop-color="#0000C4" stop-opacity="1.000"/>
  52 + <stop offset="0.142" stop-color="#0000CB" stop-opacity="1.000"/>
  53 + <stop offset="0.150" stop-color="#0000D2" stop-opacity="1.000"/>
  54 + <stop offset="0.157" stop-color="#0000D9" stop-opacity="1.000"/>
  55 + <stop offset="0.165" stop-color="#0000E0" stop-opacity="1.000"/>
  56 + <stop offset="0.173" stop-color="#0000E8" stop-opacity="1.000"/>
  57 + <stop offset="0.181" stop-color="#0000EF" stop-opacity="1.000"/>
  58 + <stop offset="0.189" stop-color="#0000F6" stop-opacity="1.000"/>
  59 + <stop offset="0.197" stop-color="#0000FD" stop-opacity="1.000"/>
  60 + <stop offset="0.205" stop-color="#0500FF" stop-opacity="1.000"/>
  61 + <stop offset="0.213" stop-color="#0D00FF" stop-opacity="1.000"/>
  62 + <stop offset="0.220" stop-color="#1600FF" stop-opacity="1.000"/>
  63 + <stop offset="0.228" stop-color="#1E00FF" stop-opacity="1.000"/>
  64 + <stop offset="0.236" stop-color="#2700FF" stop-opacity="1.000"/>
  65 + <stop offset="0.244" stop-color="#2F00FF" stop-opacity="1.000"/>
  66 + <stop offset="0.252" stop-color="#3800FF" stop-opacity="1.000"/>
  67 + <stop offset="0.260" stop-color="#4100FF" stop-opacity="1.000"/>
  68 + <stop offset="0.268" stop-color="#4900FF" stop-opacity="1.000"/>
  69 + <stop offset="0.276" stop-color="#5200FF" stop-opacity="1.000"/>
  70 + <stop offset="0.283" stop-color="#5A00FF" stop-opacity="1.000"/>
  71 + <stop offset="0.291" stop-color="#6300FF" stop-opacity="1.000"/>
  72 + <stop offset="0.299" stop-color="#6B00FF" stop-opacity="1.000"/>
  73 + <stop offset="0.307" stop-color="#7400FF" stop-opacity="1.000"/>
  74 + <stop offset="0.315" stop-color="#7D00FF" stop-opacity="1.000"/>
  75 + <stop offset="0.323" stop-color="#8500FF" stop-opacity="1.000"/>
  76 + <stop offset="0.331" stop-color="#8E00FF" stop-opacity="1.000"/>
  77 + <stop offset="0.339" stop-color="#9600FF" stop-opacity="1.000"/>
  78 + <stop offset="0.346" stop-color="#9F00FF" stop-opacity="1.000"/>
  79 + <stop offset="0.354" stop-color="#A700FF" stop-opacity="1.000"/>
  80 + <stop offset="0.362" stop-color="#B000FF" stop-opacity="1.000"/>
  81 + <stop offset="0.370" stop-color="#B900FF" stop-opacity="1.000"/>
  82 + <stop offset="0.378" stop-color="#C100FF" stop-opacity="1.000"/>
  83 + <stop offset="0.386" stop-color="#CA00FF" stop-opacity="1.000"/>
  84 + <stop offset="0.394" stop-color="#D200FF" stop-opacity="1.000"/>
  85 + <stop offset="0.402" stop-color="#D901FD" stop-opacity="1.000"/>
  86 + <stop offset="0.409" stop-color="#DB06F3" stop-opacity="1.000"/>
  87 + <stop offset="0.417" stop-color="#DC0BE9" stop-opacity="1.000"/>
  88 + <stop offset="0.425" stop-color="#DE10DF" stop-opacity="1.000"/>
  89 + <stop offset="0.433" stop-color="#DF15D5" stop-opacity="1.000"/>
  90 + <stop offset="0.441" stop-color="#E11ACB" stop-opacity="1.000"/>
  91 + <stop offset="0.449" stop-color="#E21FC1" stop-opacity="1.000"/>
  92 + <stop offset="0.457" stop-color="#E424B7" stop-opacity="1.000"/>
  93 + <stop offset="0.465" stop-color="#E529AD" stop-opacity="1.000"/>
  94 + <stop offset="0.472" stop-color="#E72EA3" stop-opacity="1.000"/>
  95 + <stop offset="0.480" stop-color="#E93399" stop-opacity="1.000"/>
  96 + <stop offset="0.488" stop-color="#EA388F" stop-opacity="1.000"/>
  97 + <stop offset="0.496" stop-color="#EC3D85" stop-opacity="1.000"/>
  98 + <stop offset="0.504" stop-color="#ED427A" stop-opacity="1.000"/>
  99 + <stop offset="0.512" stop-color="#EF4770" stop-opacity="1.000"/>
  100 + <stop offset="0.520" stop-color="#F04C66" stop-opacity="1.000"/>
  101 + <stop offset="0.528" stop-color="#F2515C" stop-opacity="1.000"/>
  102 + <stop offset="0.535" stop-color="#F35652" stop-opacity="1.000"/>
  103 + <stop offset="0.543" stop-color="#F55B48" stop-opacity="1.000"/>
  104 + <stop offset="0.551" stop-color="#F6603E" stop-opacity="1.000"/>
  105 + <stop offset="0.559" stop-color="#F86534" stop-opacity="1.000"/>
  106 + <stop offset="0.567" stop-color="#F96A2A" stop-opacity="1.000"/>
  107 + <stop offset="0.575" stop-color="#FB6F20" stop-opacity="1.000"/>
  108 + <stop offset="0.583" stop-color="#FC7416" stop-opacity="1.000"/>
  109 + <stop offset="0.591" stop-color="#FE790C" stop-opacity="1.000"/>
  110 + <stop offset="0.598" stop-color="#FF7E02" stop-opacity="1.000"/>
  111 + <stop offset="0.606" stop-color="#FF8300" stop-opacity="1.000"/>
  112 + <stop offset="0.614" stop-color="#FF8700" stop-opacity="1.000"/>
  113 + <stop offset="0.622" stop-color="#FF8B00" stop-opacity="1.000"/>
  114 + <stop offset="0.630" stop-color="#FF8F00" stop-opacity="1.000"/>
  115 + <stop offset="0.638" stop-color="#FF9300" stop-opacity="1.000"/>
  116 + <stop offset="0.646" stop-color="#FF9700" stop-opacity="1.000"/>
  117 + <stop offset="0.654" stop-color="#FF9B00" stop-opacity="1.000"/>
  118 + <stop offset="0.661" stop-color="#FF9F00" stop-opacity="1.000"/>
  119 + <stop offset="0.669" stop-color="#FFA300" stop-opacity="1.000"/>
  120 + <stop offset="0.677" stop-color="#FFA700" stop-opacity="1.000"/>
  121 + <stop offset="0.685" stop-color="#FFAB00" stop-opacity="1.000"/>
  122 + <stop offset="0.693" stop-color="#FFAF00" stop-opacity="1.000"/>
  123 + <stop offset="0.701" stop-color="#FFB300" stop-opacity="1.000"/>
  124 + <stop offset="0.709" stop-color="#FFB700" stop-opacity="1.000"/>
  125 + <stop offset="0.717" stop-color="#FFBB00" stop-opacity="1.000"/>
  126 + <stop offset="0.724" stop-color="#FFBF00" stop-opacity="1.000"/>
  127 + <stop offset="0.732" stop-color="#FFC300" stop-opacity="1.000"/>
  128 + <stop offset="0.740" stop-color="#FFC700" stop-opacity="1.000"/>
  129 + <stop offset="0.748" stop-color="#FFCB00" stop-opacity="1.000"/>
  130 + <stop offset="0.756" stop-color="#FFCF00" stop-opacity="1.000"/>
  131 + <stop offset="0.764" stop-color="#FFD300" stop-opacity="1.000"/>
  132 + <stop offset="0.772" stop-color="#FFD700" stop-opacity="1.000"/>
  133 + <stop offset="0.780" stop-color="#FFDB00" stop-opacity="1.000"/>
  134 + <stop offset="0.787" stop-color="#FFDF00" stop-opacity="1.000"/>
  135 + <stop offset="0.795" stop-color="#FFE300" stop-opacity="1.000"/>
  136 + <stop offset="0.803" stop-color="#FFE603" stop-opacity="1.000"/>
  137 + <stop offset="0.811" stop-color="#FFE70C" stop-opacity="1.000"/>
  138 + <stop offset="0.819" stop-color="#FFE815" stop-opacity="1.000"/>
  139 + <stop offset="0.827" stop-color="#FFE91E" stop-opacity="1.000"/>
  140 + <stop offset="0.835" stop-color="#FFEA27" stop-opacity="1.000"/>
  141 + <stop offset="0.843" stop-color="#FFEB30" stop-opacity="1.000"/>
  142 + <stop offset="0.850" stop-color="#FFEC3A" stop-opacity="1.000"/>
  143 + <stop offset="0.858" stop-color="#FFED43" stop-opacity="1.000"/>
  144 + <stop offset="0.866" stop-color="#FFEE4C" stop-opacity="1.000"/>
  145 + <stop offset="0.874" stop-color="#FFEF55" stop-opacity="1.000"/>
  146 + <stop offset="0.882" stop-color="#FFF05E" stop-opacity="1.000"/>
  147 + <stop offset="0.890" stop-color="#FFF167" stop-opacity="1.000"/>
  148 + <stop offset="0.898" stop-color="#FFF270" stop-opacity="1.000"/>
  149 + <stop offset="0.906" stop-color="#FFF379" stop-opacity="1.000"/>
  150 + <stop offset="0.913" stop-color="#FFF482" stop-opacity="1.000"/>
  151 + <stop offset="0.921" stop-color="#FFF58B" stop-opacity="1.000"/>
  152 + <stop offset="0.929" stop-color="#FFF694" stop-opacity="1.000"/>
  153 + <stop offset="0.937" stop-color="#FFF79D" stop-opacity="1.000"/>
  154 + <stop offset="0.945" stop-color="#FFF8A6" stop-opacity="1.000"/>
  155 + <stop offset="0.953" stop-color="#FFF9AF" stop-opacity="1.000"/>
  156 + <stop offset="0.961" stop-color="#FFFAB9" stop-opacity="1.000"/>
  157 + <stop offset="0.969" stop-color="#FFFBC2" stop-opacity="1.000"/>
  158 + <stop offset="0.976" stop-color="#FFFCCB" stop-opacity="1.000"/>
  159 + <stop offset="0.984" stop-color="#FFFDD4" stop-opacity="1.000"/>
  160 + <stop offset="0.992" stop-color="#FFFEDD" stop-opacity="1.000"/>
  161 + <stop offset="1.000" stop-color="#FFFFE6" stop-opacity="1.000"/>
  162 + </linearGradient>
  163 + </defs>
  164 + <polyline
  165 + fill="url(#MyGradient0000000000)"
  166 + points="0.00,0.00 299.99,0.00 299.99,45.00 0.00,45.00 0.00,0.00 0.00,0.00 "/>
  167 + </g>
  168 + </g>
  169 +</svg>
... ...
generic_data/colormaps/cmap1_default.svg 0 โ†’ 100644
... ... @@ -0,0 +1,169 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3 + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4 +<svg
  5 + xmlns="http://www.w3.org/2000/svg"
  6 + xmlns:xlink="http://www.w3.org/1999/xlink"
  7 + version="1.1"
  8 + width="300pt"
  9 + height="45pt"
  10 + viewBox="0 0 300 45"
  11 + >
  12 + <rect
  13 + x="0"
  14 + y="0"
  15 + width="300"
  16 + height="45"
  17 + stroke="none"
  18 + fill="#000000"
  19 + fill-opacity="1.000000"
  20 + />
  21 + <g
  22 + transform="matrix(1 0 0 -1 0 45)"
  23 + >
  24 + <g>
  25 + <defs>
  26 + <linearGradient
  27 + id="MyGradient0000000000"
  28 + gradientUnits="userSpaceOnUse"
  29 + x1="0.00"
  30 + y1="0.00"
  31 + x2="299.99"
  32 + y2="0.00"
  33 + >
  34 + <stop offset="0.000" stop-color="#0000FF" stop-opacity="1.000"/>
  35 + <stop offset="0.008" stop-color="#0008FF" stop-opacity="1.000"/>
  36 + <stop offset="0.016" stop-color="#0010FF" stop-opacity="1.000"/>
  37 + <stop offset="0.024" stop-color="#0018FF" stop-opacity="1.000"/>
  38 + <stop offset="0.031" stop-color="#0020FF" stop-opacity="1.000"/>
  39 + <stop offset="0.039" stop-color="#0028FF" stop-opacity="1.000"/>
  40 + <stop offset="0.047" stop-color="#0030FF" stop-opacity="1.000"/>
  41 + <stop offset="0.055" stop-color="#0038FF" stop-opacity="1.000"/>
  42 + <stop offset="0.063" stop-color="#0040FF" stop-opacity="1.000"/>
  43 + <stop offset="0.071" stop-color="#0048FF" stop-opacity="1.000"/>
  44 + <stop offset="0.079" stop-color="#0050FF" stop-opacity="1.000"/>
  45 + <stop offset="0.087" stop-color="#0058FF" stop-opacity="1.000"/>
  46 + <stop offset="0.094" stop-color="#0060FF" stop-opacity="1.000"/>
  47 + <stop offset="0.102" stop-color="#0068FF" stop-opacity="1.000"/>
  48 + <stop offset="0.110" stop-color="#0070FF" stop-opacity="1.000"/>
  49 + <stop offset="0.118" stop-color="#0078FF" stop-opacity="1.000"/>
  50 + <stop offset="0.126" stop-color="#0081FF" stop-opacity="1.000"/>
  51 + <stop offset="0.134" stop-color="#0089FF" stop-opacity="1.000"/>
  52 + <stop offset="0.142" stop-color="#0091FF" stop-opacity="1.000"/>
  53 + <stop offset="0.150" stop-color="#0099FF" stop-opacity="1.000"/>
  54 + <stop offset="0.157" stop-color="#00A1FF" stop-opacity="1.000"/>
  55 + <stop offset="0.165" stop-color="#00A9FF" stop-opacity="1.000"/>
  56 + <stop offset="0.173" stop-color="#00B1FF" stop-opacity="1.000"/>
  57 + <stop offset="0.181" stop-color="#00B9FF" stop-opacity="1.000"/>
  58 + <stop offset="0.189" stop-color="#00C1FF" stop-opacity="1.000"/>
  59 + <stop offset="0.197" stop-color="#00C9FF" stop-opacity="1.000"/>
  60 + <stop offset="0.205" stop-color="#00D1FF" stop-opacity="1.000"/>
  61 + <stop offset="0.213" stop-color="#00D9FF" stop-opacity="1.000"/>
  62 + <stop offset="0.220" stop-color="#00E1FF" stop-opacity="1.000"/>
  63 + <stop offset="0.228" stop-color="#00E9FF" stop-opacity="1.000"/>
  64 + <stop offset="0.236" stop-color="#00F1FF" stop-opacity="1.000"/>
  65 + <stop offset="0.244" stop-color="#00F9FF" stop-opacity="1.000"/>
  66 + <stop offset="0.252" stop-color="#00FFFD" stop-opacity="1.000"/>
  67 + <stop offset="0.260" stop-color="#00FFF5" stop-opacity="1.000"/>
  68 + <stop offset="0.268" stop-color="#00FFED" stop-opacity="1.000"/>
  69 + <stop offset="0.276" stop-color="#00FFE5" stop-opacity="1.000"/>
  70 + <stop offset="0.283" stop-color="#00FFDD" stop-opacity="1.000"/>
  71 + <stop offset="0.291" stop-color="#00FFD5" stop-opacity="1.000"/>
  72 + <stop offset="0.299" stop-color="#00FFCD" stop-opacity="1.000"/>
  73 + <stop offset="0.307" stop-color="#00FFC5" stop-opacity="1.000"/>
  74 + <stop offset="0.315" stop-color="#00FFBD" stop-opacity="1.000"/>
  75 + <stop offset="0.323" stop-color="#00FFB5" stop-opacity="1.000"/>
  76 + <stop offset="0.331" stop-color="#00FFAD" stop-opacity="1.000"/>
  77 + <stop offset="0.339" stop-color="#00FFA5" stop-opacity="1.000"/>
  78 + <stop offset="0.346" stop-color="#00FF9D" stop-opacity="1.000"/>
  79 + <stop offset="0.354" stop-color="#00FF95" stop-opacity="1.000"/>
  80 + <stop offset="0.362" stop-color="#00FF8D" stop-opacity="1.000"/>
  81 + <stop offset="0.370" stop-color="#00FF85" stop-opacity="1.000"/>
  82 + <stop offset="0.378" stop-color="#00FF7C" stop-opacity="1.000"/>
  83 + <stop offset="0.386" stop-color="#00FF74" stop-opacity="1.000"/>
  84 + <stop offset="0.394" stop-color="#00FF6C" stop-opacity="1.000"/>
  85 + <stop offset="0.402" stop-color="#00FF64" stop-opacity="1.000"/>
  86 + <stop offset="0.409" stop-color="#00FF5C" stop-opacity="1.000"/>
  87 + <stop offset="0.417" stop-color="#00FF54" stop-opacity="1.000"/>
  88 + <stop offset="0.425" stop-color="#00FF4C" stop-opacity="1.000"/>
  89 + <stop offset="0.433" stop-color="#00FF44" stop-opacity="1.000"/>
  90 + <stop offset="0.441" stop-color="#00FF3C" stop-opacity="1.000"/>
  91 + <stop offset="0.449" stop-color="#00FF34" stop-opacity="1.000"/>
  92 + <stop offset="0.457" stop-color="#00FF2C" stop-opacity="1.000"/>
  93 + <stop offset="0.465" stop-color="#00FF24" stop-opacity="1.000"/>
  94 + <stop offset="0.472" stop-color="#00FF1C" stop-opacity="1.000"/>
  95 + <stop offset="0.480" stop-color="#00FF14" stop-opacity="1.000"/>
  96 + <stop offset="0.488" stop-color="#00FF0C" stop-opacity="1.000"/>
  97 + <stop offset="0.496" stop-color="#00FF04" stop-opacity="1.000"/>
  98 + <stop offset="0.504" stop-color="#04FF00" stop-opacity="1.000"/>
  99 + <stop offset="0.512" stop-color="#0CFF00" stop-opacity="1.000"/>
  100 + <stop offset="0.520" stop-color="#14FF00" stop-opacity="1.000"/>
  101 + <stop offset="0.528" stop-color="#1CFF00" stop-opacity="1.000"/>
  102 + <stop offset="0.535" stop-color="#24FF00" stop-opacity="1.000"/>
  103 + <stop offset="0.543" stop-color="#2CFF00" stop-opacity="1.000"/>
  104 + <stop offset="0.551" stop-color="#34FF00" stop-opacity="1.000"/>
  105 + <stop offset="0.559" stop-color="#3CFF00" stop-opacity="1.000"/>
  106 + <stop offset="0.567" stop-color="#44FF00" stop-opacity="1.000"/>
  107 + <stop offset="0.575" stop-color="#4CFF00" stop-opacity="1.000"/>
  108 + <stop offset="0.583" stop-color="#54FF00" stop-opacity="1.000"/>
  109 + <stop offset="0.591" stop-color="#5CFF00" stop-opacity="1.000"/>
  110 + <stop offset="0.598" stop-color="#64FF00" stop-opacity="1.000"/>
  111 + <stop offset="0.606" stop-color="#6CFF00" stop-opacity="1.000"/>
  112 + <stop offset="0.614" stop-color="#74FF00" stop-opacity="1.000"/>
  113 + <stop offset="0.622" stop-color="#7CFF00" stop-opacity="1.000"/>
  114 + <stop offset="0.630" stop-color="#85FF00" stop-opacity="1.000"/>
  115 + <stop offset="0.638" stop-color="#8DFF00" stop-opacity="1.000"/>
  116 + <stop offset="0.646" stop-color="#95FF00" stop-opacity="1.000"/>
  117 + <stop offset="0.654" stop-color="#9DFF00" stop-opacity="1.000"/>
  118 + <stop offset="0.661" stop-color="#A5FF00" stop-opacity="1.000"/>
  119 + <stop offset="0.669" stop-color="#ADFF00" stop-opacity="1.000"/>
  120 + <stop offset="0.677" stop-color="#B5FF00" stop-opacity="1.000"/>
  121 + <stop offset="0.685" stop-color="#BDFF00" stop-opacity="1.000"/>
  122 + <stop offset="0.693" stop-color="#C5FF00" stop-opacity="1.000"/>
  123 + <stop offset="0.701" stop-color="#CDFF00" stop-opacity="1.000"/>
  124 + <stop offset="0.709" stop-color="#D5FF00" stop-opacity="1.000"/>
  125 + <stop offset="0.717" stop-color="#DDFF00" stop-opacity="1.000"/>
  126 + <stop offset="0.724" stop-color="#E5FF00" stop-opacity="1.000"/>
  127 + <stop offset="0.732" stop-color="#EDFF00" stop-opacity="1.000"/>
  128 + <stop offset="0.740" stop-color="#F5FF00" stop-opacity="1.000"/>
  129 + <stop offset="0.748" stop-color="#FDFF00" stop-opacity="1.000"/>
  130 + <stop offset="0.756" stop-color="#FFF900" stop-opacity="1.000"/>
  131 + <stop offset="0.764" stop-color="#FFF100" stop-opacity="1.000"/>
  132 + <stop offset="0.772" stop-color="#FFE900" stop-opacity="1.000"/>
  133 + <stop offset="0.780" stop-color="#FFE100" stop-opacity="1.000"/>
  134 + <stop offset="0.787" stop-color="#FFD900" stop-opacity="1.000"/>
  135 + <stop offset="0.795" stop-color="#FFD100" stop-opacity="1.000"/>
  136 + <stop offset="0.803" stop-color="#FFC900" stop-opacity="1.000"/>
  137 + <stop offset="0.811" stop-color="#FFC100" stop-opacity="1.000"/>
  138 + <stop offset="0.819" stop-color="#FFB900" stop-opacity="1.000"/>
  139 + <stop offset="0.827" stop-color="#FFB100" stop-opacity="1.000"/>
  140 + <stop offset="0.835" stop-color="#FFA900" stop-opacity="1.000"/>
  141 + <stop offset="0.843" stop-color="#FFA100" stop-opacity="1.000"/>
  142 + <stop offset="0.850" stop-color="#FF9900" stop-opacity="1.000"/>
  143 + <stop offset="0.858" stop-color="#FF9100" stop-opacity="1.000"/>
  144 + <stop offset="0.866" stop-color="#FF8900" stop-opacity="1.000"/>
  145 + <stop offset="0.874" stop-color="#FF8100" stop-opacity="1.000"/>
  146 + <stop offset="0.882" stop-color="#FF7800" stop-opacity="1.000"/>
  147 + <stop offset="0.890" stop-color="#FF7000" stop-opacity="1.000"/>
  148 + <stop offset="0.898" stop-color="#FF6800" stop-opacity="1.000"/>
  149 + <stop offset="0.906" stop-color="#FF6000" stop-opacity="1.000"/>
  150 + <stop offset="0.913" stop-color="#FF5800" stop-opacity="1.000"/>
  151 + <stop offset="0.921" stop-color="#FF5000" stop-opacity="1.000"/>
  152 + <stop offset="0.929" stop-color="#FF4800" stop-opacity="1.000"/>
  153 + <stop offset="0.937" stop-color="#FF4000" stop-opacity="1.000"/>
  154 + <stop offset="0.945" stop-color="#FF3800" stop-opacity="1.000"/>
  155 + <stop offset="0.953" stop-color="#FF3000" stop-opacity="1.000"/>
  156 + <stop offset="0.961" stop-color="#FF2800" stop-opacity="1.000"/>
  157 + <stop offset="0.969" stop-color="#FF2000" stop-opacity="1.000"/>
  158 + <stop offset="0.976" stop-color="#FF1800" stop-opacity="1.000"/>
  159 + <stop offset="0.984" stop-color="#FF1000" stop-opacity="1.000"/>
  160 + <stop offset="0.992" stop-color="#FF0800" stop-opacity="1.000"/>
  161 + <stop offset="1.000" stop-color="#FF0000" stop-opacity="1.000"/>
  162 + </linearGradient>
  163 + </defs>
  164 + <polyline
  165 + fill="url(#MyGradient0000000000)"
  166 + points="0.00,0.00 299.99,0.00 299.99,45.00 0.00,45.00 0.00,0.00 0.00,0.00 "/>
  167 + </g>
  168 + </g>
  169 +</svg>
... ...
generic_data/colormaps/cmap1_geoblack.svg 0 โ†’ 100644
... ... @@ -0,0 +1,169 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3 + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4 +<svg
  5 + xmlns="http://www.w3.org/2000/svg"
  6 + xmlns:xlink="http://www.w3.org/1999/xlink"
  7 + version="1.1"
  8 + width="300pt"
  9 + height="45pt"
  10 + viewBox="0 0 300 45"
  11 + >
  12 + <rect
  13 + x="0"
  14 + y="0"
  15 + width="300"
  16 + height="45"
  17 + stroke="none"
  18 + fill="#000000"
  19 + fill-opacity="1.000000"
  20 + />
  21 + <g
  22 + transform="matrix(1 0 0 -1 0 45)"
  23 + >
  24 + <g>
  25 + <defs>
  26 + <linearGradient
  27 + id="MyGradient0000000000"
  28 + gradientUnits="userSpaceOnUse"
  29 + x1="0.00"
  30 + y1="0.00"
  31 + x2="299.99"
  32 + y2="0.00"
  33 + >
  34 + <stop offset="0.000" stop-color="#000000" stop-opacity="1.000"/>
  35 + <stop offset="0.008" stop-color="#F2C3FF" stop-opacity="1.000"/>
  36 + <stop offset="0.016" stop-color="#EBBEFF" stop-opacity="1.000"/>
  37 + <stop offset="0.024" stop-color="#E5B9FF" stop-opacity="1.000"/>
  38 + <stop offset="0.031" stop-color="#DEB4FF" stop-opacity="1.000"/>
  39 + <stop offset="0.039" stop-color="#D7AFFF" stop-opacity="1.000"/>
  40 + <stop offset="0.047" stop-color="#D1AAFF" stop-opacity="1.000"/>
  41 + <stop offset="0.055" stop-color="#CAA5FF" stop-opacity="1.000"/>
  42 + <stop offset="0.063" stop-color="#C3A0FF" stop-opacity="1.000"/>
  43 + <stop offset="0.071" stop-color="#BD9BFF" stop-opacity="1.000"/>
  44 + <stop offset="0.079" stop-color="#B696FF" stop-opacity="1.000"/>
  45 + <stop offset="0.087" stop-color="#AF91FF" stop-opacity="1.000"/>
  46 + <stop offset="0.094" stop-color="#A88CFF" stop-opacity="1.000"/>
  47 + <stop offset="0.102" stop-color="#A287FF" stop-opacity="1.000"/>
  48 + <stop offset="0.110" stop-color="#9B82FF" stop-opacity="1.000"/>
  49 + <stop offset="0.118" stop-color="#947DFF" stop-opacity="1.000"/>
  50 + <stop offset="0.126" stop-color="#8E78FF" stop-opacity="1.000"/>
  51 + <stop offset="0.134" stop-color="#8773FF" stop-opacity="1.000"/>
  52 + <stop offset="0.142" stop-color="#806EFF" stop-opacity="1.000"/>
  53 + <stop offset="0.150" stop-color="#7A69FF" stop-opacity="1.000"/>
  54 + <stop offset="0.157" stop-color="#7364FF" stop-opacity="1.000"/>
  55 + <stop offset="0.165" stop-color="#6C5FFF" stop-opacity="1.000"/>
  56 + <stop offset="0.173" stop-color="#665AFF" stop-opacity="1.000"/>
  57 + <stop offset="0.181" stop-color="#5F55FF" stop-opacity="1.000"/>
  58 + <stop offset="0.189" stop-color="#5850FF" stop-opacity="1.000"/>
  59 + <stop offset="0.197" stop-color="#524BFF" stop-opacity="1.000"/>
  60 + <stop offset="0.205" stop-color="#4B46FF" stop-opacity="1.000"/>
  61 + <stop offset="0.213" stop-color="#4441FF" stop-opacity="1.000"/>
  62 + <stop offset="0.220" stop-color="#3D3CFF" stop-opacity="1.000"/>
  63 + <stop offset="0.228" stop-color="#3737FF" stop-opacity="1.000"/>
  64 + <stop offset="0.236" stop-color="#3134FF" stop-opacity="1.000"/>
  65 + <stop offset="0.244" stop-color="#2F3EFF" stop-opacity="1.000"/>
  66 + <stop offset="0.252" stop-color="#2E47FF" stop-opacity="1.000"/>
  67 + <stop offset="0.260" stop-color="#2C50FF" stop-opacity="1.000"/>
  68 + <stop offset="0.268" stop-color="#2B5AFF" stop-opacity="1.000"/>
  69 + <stop offset="0.276" stop-color="#2963FF" stop-opacity="1.000"/>
  70 + <stop offset="0.283" stop-color="#276DFF" stop-opacity="1.000"/>
  71 + <stop offset="0.291" stop-color="#2676FF" stop-opacity="1.000"/>
  72 + <stop offset="0.299" stop-color="#2480FF" stop-opacity="1.000"/>
  73 + <stop offset="0.307" stop-color="#2389FF" stop-opacity="1.000"/>
  74 + <stop offset="0.315" stop-color="#2193FF" stop-opacity="1.000"/>
  75 + <stop offset="0.323" stop-color="#209CFF" stop-opacity="1.000"/>
  76 + <stop offset="0.331" stop-color="#1EA6FF" stop-opacity="1.000"/>
  77 + <stop offset="0.339" stop-color="#1DAFFF" stop-opacity="1.000"/>
  78 + <stop offset="0.346" stop-color="#1BB9FF" stop-opacity="1.000"/>
  79 + <stop offset="0.354" stop-color="#1AC2FF" stop-opacity="1.000"/>
  80 + <stop offset="0.362" stop-color="#18CCFF" stop-opacity="1.000"/>
  81 + <stop offset="0.370" stop-color="#16D5FF" stop-opacity="1.000"/>
  82 + <stop offset="0.378" stop-color="#15DFFF" stop-opacity="1.000"/>
  83 + <stop offset="0.386" stop-color="#13E8FF" stop-opacity="1.000"/>
  84 + <stop offset="0.394" stop-color="#12F2FF" stop-opacity="1.000"/>
  85 + <stop offset="0.402" stop-color="#10FAFD" stop-opacity="1.000"/>
  86 + <stop offset="0.409" stop-color="#0FFAF2" stop-opacity="1.000"/>
  87 + <stop offset="0.417" stop-color="#0DFBE7" stop-opacity="1.000"/>
  88 + <stop offset="0.425" stop-color="#0CFBDB" stop-opacity="1.000"/>
  89 + <stop offset="0.433" stop-color="#0AFCD0" stop-opacity="1.000"/>
  90 + <stop offset="0.441" stop-color="#09FCC5" stop-opacity="1.000"/>
  91 + <stop offset="0.449" stop-color="#07FDB9" stop-opacity="1.000"/>
  92 + <stop offset="0.457" stop-color="#05FDAE" stop-opacity="1.000"/>
  93 + <stop offset="0.465" stop-color="#04FEA3" stop-opacity="1.000"/>
  94 + <stop offset="0.472" stop-color="#02FF97" stop-opacity="1.000"/>
  95 + <stop offset="0.480" stop-color="#01FF8C" stop-opacity="1.000"/>
  96 + <stop offset="0.488" stop-color="#00FF81" stop-opacity="1.000"/>
  97 + <stop offset="0.496" stop-color="#00FF76" stop-opacity="1.000"/>
  98 + <stop offset="0.504" stop-color="#01FF6A" stop-opacity="1.000"/>
  99 + <stop offset="0.512" stop-color="#01FF5F" stop-opacity="1.000"/>
  100 + <stop offset="0.520" stop-color="#02FF54" stop-opacity="1.000"/>
  101 + <stop offset="0.528" stop-color="#02FF49" stop-opacity="1.000"/>
  102 + <stop offset="0.535" stop-color="#03FF3E" stop-opacity="1.000"/>
  103 + <stop offset="0.543" stop-color="#03FF33" stop-opacity="1.000"/>
  104 + <stop offset="0.551" stop-color="#04FF27" stop-opacity="1.000"/>
  105 + <stop offset="0.559" stop-color="#04FF1C" stop-opacity="1.000"/>
  106 + <stop offset="0.567" stop-color="#05FF11" stop-opacity="1.000"/>
  107 + <stop offset="0.575" stop-color="#05FF06" stop-opacity="1.000"/>
  108 + <stop offset="0.583" stop-color="#13FF04" stop-opacity="1.000"/>
  109 + <stop offset="0.591" stop-color="#25FF04" stop-opacity="1.000"/>
  110 + <stop offset="0.598" stop-color="#36FF04" stop-opacity="1.000"/>
  111 + <stop offset="0.606" stop-color="#47FF04" stop-opacity="1.000"/>
  112 + <stop offset="0.614" stop-color="#59FF04" stop-opacity="1.000"/>
  113 + <stop offset="0.622" stop-color="#6AFF04" stop-opacity="1.000"/>
  114 + <stop offset="0.630" stop-color="#7CFF04" stop-opacity="1.000"/>
  115 + <stop offset="0.638" stop-color="#8DFF04" stop-opacity="1.000"/>
  116 + <stop offset="0.646" stop-color="#9FFF04" stop-opacity="1.000"/>
  117 + <stop offset="0.654" stop-color="#B0FF04" stop-opacity="1.000"/>
  118 + <stop offset="0.661" stop-color="#C1FF04" stop-opacity="1.000"/>
  119 + <stop offset="0.669" stop-color="#D3FF04" stop-opacity="1.000"/>
  120 + <stop offset="0.677" stop-color="#E0FF04" stop-opacity="1.000"/>
  121 + <stop offset="0.685" stop-color="#E4FF04" stop-opacity="1.000"/>
  122 + <stop offset="0.693" stop-color="#E7FF05" stop-opacity="1.000"/>
  123 + <stop offset="0.701" stop-color="#EAFF06" stop-opacity="1.000"/>
  124 + <stop offset="0.709" stop-color="#EDFF06" stop-opacity="1.000"/>
  125 + <stop offset="0.717" stop-color="#F1FE07" stop-opacity="1.000"/>
  126 + <stop offset="0.724" stop-color="#F4FE07" stop-opacity="1.000"/>
  127 + <stop offset="0.732" stop-color="#F7FE08" stop-opacity="1.000"/>
  128 + <stop offset="0.740" stop-color="#FAFE09" stop-opacity="1.000"/>
  129 + <stop offset="0.748" stop-color="#FEFE09" stop-opacity="1.000"/>
  130 + <stop offset="0.756" stop-color="#FFFA0A" stop-opacity="1.000"/>
  131 + <stop offset="0.764" stop-color="#FFF20A" stop-opacity="1.000"/>
  132 + <stop offset="0.772" stop-color="#FFEA0A" stop-opacity="1.000"/>
  133 + <stop offset="0.780" stop-color="#FFE209" stop-opacity="1.000"/>
  134 + <stop offset="0.787" stop-color="#FFDA09" stop-opacity="1.000"/>
  135 + <stop offset="0.795" stop-color="#FFD209" stop-opacity="1.000"/>
  136 + <stop offset="0.803" stop-color="#FFCA09" stop-opacity="1.000"/>
  137 + <stop offset="0.811" stop-color="#FFC209" stop-opacity="1.000"/>
  138 + <stop offset="0.819" stop-color="#FFBA09" stop-opacity="1.000"/>
  139 + <stop offset="0.827" stop-color="#FFB209" stop-opacity="1.000"/>
  140 + <stop offset="0.835" stop-color="#FFA909" stop-opacity="1.000"/>
  141 + <stop offset="0.843" stop-color="#FFA109" stop-opacity="1.000"/>
  142 + <stop offset="0.850" stop-color="#FF9909" stop-opacity="1.000"/>
  143 + <stop offset="0.858" stop-color="#FF9109" stop-opacity="1.000"/>
  144 + <stop offset="0.866" stop-color="#FF8909" stop-opacity="1.000"/>
  145 + <stop offset="0.874" stop-color="#FF8109" stop-opacity="1.000"/>
  146 + <stop offset="0.882" stop-color="#FF7909" stop-opacity="1.000"/>
  147 + <stop offset="0.890" stop-color="#FF7109" stop-opacity="1.000"/>
  148 + <stop offset="0.898" stop-color="#FF6909" stop-opacity="1.000"/>
  149 + <stop offset="0.906" stop-color="#FF6109" stop-opacity="1.000"/>
  150 + <stop offset="0.913" stop-color="#FF5909" stop-opacity="1.000"/>
  151 + <stop offset="0.921" stop-color="#FF5009" stop-opacity="1.000"/>
  152 + <stop offset="0.929" stop-color="#FF4809" stop-opacity="1.000"/>
  153 + <stop offset="0.937" stop-color="#FF4009" stop-opacity="1.000"/>
  154 + <stop offset="0.945" stop-color="#FF3809" stop-opacity="1.000"/>
  155 + <stop offset="0.953" stop-color="#FF3009" stop-opacity="1.000"/>
  156 + <stop offset="0.961" stop-color="#FF2809" stop-opacity="1.000"/>
  157 + <stop offset="0.969" stop-color="#FF2009" stop-opacity="1.000"/>
  158 + <stop offset="0.976" stop-color="#FF1809" stop-opacity="1.000"/>
  159 + <stop offset="0.984" stop-color="#FF1009" stop-opacity="1.000"/>
  160 + <stop offset="0.992" stop-color="#FF0809" stop-opacity="1.000"/>
  161 + <stop offset="1.000" stop-color="#FF0009" stop-opacity="1.000"/>
  162 + </linearGradient>
  163 + </defs>
  164 + <polyline
  165 + fill="url(#MyGradient0000000000)"
  166 + points="0.00,0.00 299.99,0.00 299.99,45.00 0.00,45.00 0.00,0.00 0.00,0.00 "/>
  167 + </g>
  168 + </g>
  169 +</svg>
... ...
generic_data/colormaps/cmap1_geowhite.svg 0 โ†’ 100644
... ... @@ -0,0 +1,169 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3 + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4 +<svg
  5 + xmlns="http://www.w3.org/2000/svg"
  6 + xmlns:xlink="http://www.w3.org/1999/xlink"
  7 + version="1.1"
  8 + width="300pt"
  9 + height="45pt"
  10 + viewBox="0 0 300 45"
  11 + >
  12 + <rect
  13 + x="0"
  14 + y="0"
  15 + width="300"
  16 + height="45"
  17 + stroke="none"
  18 + fill="#000000"
  19 + fill-opacity="1.000000"
  20 + />
  21 + <g
  22 + transform="matrix(1 0 0 -1 0 45)"
  23 + >
  24 + <g>
  25 + <defs>
  26 + <linearGradient
  27 + id="MyGradient0000000000"
  28 + gradientUnits="userSpaceOnUse"
  29 + x1="0.00"
  30 + y1="0.00"
  31 + x2="299.99"
  32 + y2="0.00"
  33 + >
  34 + <stop offset="0.000" stop-color="#FFFFFF" stop-opacity="1.000"/>
  35 + <stop offset="0.008" stop-color="#F2C3FF" stop-opacity="1.000"/>
  36 + <stop offset="0.016" stop-color="#EBBEFF" stop-opacity="1.000"/>
  37 + <stop offset="0.024" stop-color="#E5B9FF" stop-opacity="1.000"/>
  38 + <stop offset="0.031" stop-color="#DEB4FF" stop-opacity="1.000"/>
  39 + <stop offset="0.039" stop-color="#D7AFFF" stop-opacity="1.000"/>
  40 + <stop offset="0.047" stop-color="#D1AAFF" stop-opacity="1.000"/>
  41 + <stop offset="0.055" stop-color="#CAA5FF" stop-opacity="1.000"/>
  42 + <stop offset="0.063" stop-color="#C3A0FF" stop-opacity="1.000"/>
  43 + <stop offset="0.071" stop-color="#BD9BFF" stop-opacity="1.000"/>
  44 + <stop offset="0.079" stop-color="#B696FF" stop-opacity="1.000"/>
  45 + <stop offset="0.087" stop-color="#AF91FF" stop-opacity="1.000"/>
  46 + <stop offset="0.094" stop-color="#A88CFF" stop-opacity="1.000"/>
  47 + <stop offset="0.102" stop-color="#A287FF" stop-opacity="1.000"/>
  48 + <stop offset="0.110" stop-color="#9B82FF" stop-opacity="1.000"/>
  49 + <stop offset="0.118" stop-color="#947DFF" stop-opacity="1.000"/>
  50 + <stop offset="0.126" stop-color="#8E78FF" stop-opacity="1.000"/>
  51 + <stop offset="0.134" stop-color="#8773FF" stop-opacity="1.000"/>
  52 + <stop offset="0.142" stop-color="#806EFF" stop-opacity="1.000"/>
  53 + <stop offset="0.150" stop-color="#7A69FF" stop-opacity="1.000"/>
  54 + <stop offset="0.157" stop-color="#7364FF" stop-opacity="1.000"/>
  55 + <stop offset="0.165" stop-color="#6C5FFF" stop-opacity="1.000"/>
  56 + <stop offset="0.173" stop-color="#665AFF" stop-opacity="1.000"/>
  57 + <stop offset="0.181" stop-color="#5F55FF" stop-opacity="1.000"/>
  58 + <stop offset="0.189" stop-color="#5850FF" stop-opacity="1.000"/>
  59 + <stop offset="0.197" stop-color="#524BFF" stop-opacity="1.000"/>
  60 + <stop offset="0.205" stop-color="#4B46FF" stop-opacity="1.000"/>
  61 + <stop offset="0.213" stop-color="#4441FF" stop-opacity="1.000"/>
  62 + <stop offset="0.220" stop-color="#3D3CFF" stop-opacity="1.000"/>
  63 + <stop offset="0.228" stop-color="#3737FF" stop-opacity="1.000"/>
  64 + <stop offset="0.236" stop-color="#3134FF" stop-opacity="1.000"/>
  65 + <stop offset="0.244" stop-color="#2F3EFF" stop-opacity="1.000"/>
  66 + <stop offset="0.252" stop-color="#2E47FF" stop-opacity="1.000"/>
  67 + <stop offset="0.260" stop-color="#2C50FF" stop-opacity="1.000"/>
  68 + <stop offset="0.268" stop-color="#2B5AFF" stop-opacity="1.000"/>
  69 + <stop offset="0.276" stop-color="#2963FF" stop-opacity="1.000"/>
  70 + <stop offset="0.283" stop-color="#276DFF" stop-opacity="1.000"/>
  71 + <stop offset="0.291" stop-color="#2676FF" stop-opacity="1.000"/>
  72 + <stop offset="0.299" stop-color="#2480FF" stop-opacity="1.000"/>
  73 + <stop offset="0.307" stop-color="#2389FF" stop-opacity="1.000"/>
  74 + <stop offset="0.315" stop-color="#2193FF" stop-opacity="1.000"/>
  75 + <stop offset="0.323" stop-color="#209CFF" stop-opacity="1.000"/>
  76 + <stop offset="0.331" stop-color="#1EA6FF" stop-opacity="1.000"/>
  77 + <stop offset="0.339" stop-color="#1DAFFF" stop-opacity="1.000"/>
  78 + <stop offset="0.346" stop-color="#1BB9FF" stop-opacity="1.000"/>
  79 + <stop offset="0.354" stop-color="#1AC2FF" stop-opacity="1.000"/>
  80 + <stop offset="0.362" stop-color="#18CCFF" stop-opacity="1.000"/>
  81 + <stop offset="0.370" stop-color="#16D5FF" stop-opacity="1.000"/>
  82 + <stop offset="0.378" stop-color="#15DFFF" stop-opacity="1.000"/>
  83 + <stop offset="0.386" stop-color="#13E8FF" stop-opacity="1.000"/>
  84 + <stop offset="0.394" stop-color="#12F2FF" stop-opacity="1.000"/>
  85 + <stop offset="0.402" stop-color="#10FAFD" stop-opacity="1.000"/>
  86 + <stop offset="0.409" stop-color="#0FFAF2" stop-opacity="1.000"/>
  87 + <stop offset="0.417" stop-color="#0DFBE7" stop-opacity="1.000"/>
  88 + <stop offset="0.425" stop-color="#0CFBDB" stop-opacity="1.000"/>
  89 + <stop offset="0.433" stop-color="#0AFCD0" stop-opacity="1.000"/>
  90 + <stop offset="0.441" stop-color="#09FCC5" stop-opacity="1.000"/>
  91 + <stop offset="0.449" stop-color="#07FDB9" stop-opacity="1.000"/>
  92 + <stop offset="0.457" stop-color="#05FDAE" stop-opacity="1.000"/>
  93 + <stop offset="0.465" stop-color="#04FEA3" stop-opacity="1.000"/>
  94 + <stop offset="0.472" stop-color="#02FF97" stop-opacity="1.000"/>
  95 + <stop offset="0.480" stop-color="#01FF8C" stop-opacity="1.000"/>
  96 + <stop offset="0.488" stop-color="#00FF81" stop-opacity="1.000"/>
  97 + <stop offset="0.496" stop-color="#00FF76" stop-opacity="1.000"/>
  98 + <stop offset="0.504" stop-color="#01FF6A" stop-opacity="1.000"/>
  99 + <stop offset="0.512" stop-color="#01FF5F" stop-opacity="1.000"/>
  100 + <stop offset="0.520" stop-color="#02FF54" stop-opacity="1.000"/>
  101 + <stop offset="0.528" stop-color="#02FF49" stop-opacity="1.000"/>
  102 + <stop offset="0.535" stop-color="#03FF3E" stop-opacity="1.000"/>
  103 + <stop offset="0.543" stop-color="#03FF33" stop-opacity="1.000"/>
  104 + <stop offset="0.551" stop-color="#04FF27" stop-opacity="1.000"/>
  105 + <stop offset="0.559" stop-color="#04FF1C" stop-opacity="1.000"/>
  106 + <stop offset="0.567" stop-color="#05FF11" stop-opacity="1.000"/>
  107 + <stop offset="0.575" stop-color="#05FF06" stop-opacity="1.000"/>
  108 + <stop offset="0.583" stop-color="#13FF04" stop-opacity="1.000"/>
  109 + <stop offset="0.591" stop-color="#25FF04" stop-opacity="1.000"/>
  110 + <stop offset="0.598" stop-color="#36FF04" stop-opacity="1.000"/>
  111 + <stop offset="0.606" stop-color="#47FF04" stop-opacity="1.000"/>
  112 + <stop offset="0.614" stop-color="#59FF04" stop-opacity="1.000"/>
  113 + <stop offset="0.622" stop-color="#6AFF04" stop-opacity="1.000"/>
  114 + <stop offset="0.630" stop-color="#7CFF04" stop-opacity="1.000"/>
  115 + <stop offset="0.638" stop-color="#8DFF04" stop-opacity="1.000"/>
  116 + <stop offset="0.646" stop-color="#9FFF04" stop-opacity="1.000"/>
  117 + <stop offset="0.654" stop-color="#B0FF04" stop-opacity="1.000"/>
  118 + <stop offset="0.661" stop-color="#C1FF04" stop-opacity="1.000"/>
  119 + <stop offset="0.669" stop-color="#D3FF04" stop-opacity="1.000"/>
  120 + <stop offset="0.677" stop-color="#E0FF04" stop-opacity="1.000"/>
  121 + <stop offset="0.685" stop-color="#E4FF04" stop-opacity="1.000"/>
  122 + <stop offset="0.693" stop-color="#E7FF05" stop-opacity="1.000"/>
  123 + <stop offset="0.701" stop-color="#EAFF06" stop-opacity="1.000"/>
  124 + <stop offset="0.709" stop-color="#EDFF06" stop-opacity="1.000"/>
  125 + <stop offset="0.717" stop-color="#F1FE07" stop-opacity="1.000"/>
  126 + <stop offset="0.724" stop-color="#F4FE07" stop-opacity="1.000"/>
  127 + <stop offset="0.732" stop-color="#F7FE08" stop-opacity="1.000"/>
  128 + <stop offset="0.740" stop-color="#FAFE09" stop-opacity="1.000"/>
  129 + <stop offset="0.748" stop-color="#FEFE09" stop-opacity="1.000"/>
  130 + <stop offset="0.756" stop-color="#FFFA0A" stop-opacity="1.000"/>
  131 + <stop offset="0.764" stop-color="#FFF20A" stop-opacity="1.000"/>
  132 + <stop offset="0.772" stop-color="#FFEA0A" stop-opacity="1.000"/>
  133 + <stop offset="0.780" stop-color="#FFE209" stop-opacity="1.000"/>
  134 + <stop offset="0.787" stop-color="#FFDA09" stop-opacity="1.000"/>
  135 + <stop offset="0.795" stop-color="#FFD209" stop-opacity="1.000"/>
  136 + <stop offset="0.803" stop-color="#FFCA09" stop-opacity="1.000"/>
  137 + <stop offset="0.811" stop-color="#FFC209" stop-opacity="1.000"/>
  138 + <stop offset="0.819" stop-color="#FFBA09" stop-opacity="1.000"/>
  139 + <stop offset="0.827" stop-color="#FFB209" stop-opacity="1.000"/>
  140 + <stop offset="0.835" stop-color="#FFA909" stop-opacity="1.000"/>
  141 + <stop offset="0.843" stop-color="#FFA109" stop-opacity="1.000"/>
  142 + <stop offset="0.850" stop-color="#FF9909" stop-opacity="1.000"/>
  143 + <stop offset="0.858" stop-color="#FF9109" stop-opacity="1.000"/>
  144 + <stop offset="0.866" stop-color="#FF8909" stop-opacity="1.000"/>
  145 + <stop offset="0.874" stop-color="#FF8109" stop-opacity="1.000"/>
  146 + <stop offset="0.882" stop-color="#FF7909" stop-opacity="1.000"/>
  147 + <stop offset="0.890" stop-color="#FF7109" stop-opacity="1.000"/>
  148 + <stop offset="0.898" stop-color="#FF6909" stop-opacity="1.000"/>
  149 + <stop offset="0.906" stop-color="#FF6109" stop-opacity="1.000"/>
  150 + <stop offset="0.913" stop-color="#FF5909" stop-opacity="1.000"/>
  151 + <stop offset="0.921" stop-color="#FF5009" stop-opacity="1.000"/>
  152 + <stop offset="0.929" stop-color="#FF4809" stop-opacity="1.000"/>
  153 + <stop offset="0.937" stop-color="#FF4009" stop-opacity="1.000"/>
  154 + <stop offset="0.945" stop-color="#FF3809" stop-opacity="1.000"/>
  155 + <stop offset="0.953" stop-color="#FF3009" stop-opacity="1.000"/>
  156 + <stop offset="0.961" stop-color="#FF2809" stop-opacity="1.000"/>
  157 + <stop offset="0.969" stop-color="#FF2009" stop-opacity="1.000"/>
  158 + <stop offset="0.976" stop-color="#FF1809" stop-opacity="1.000"/>
  159 + <stop offset="0.984" stop-color="#FF1009" stop-opacity="1.000"/>
  160 + <stop offset="0.992" stop-color="#FF0809" stop-opacity="1.000"/>
  161 + <stop offset="1.000" stop-color="#FF0009" stop-opacity="1.000"/>
  162 + </linearGradient>
  163 + </defs>
  164 + <polyline
  165 + fill="url(#MyGradient0000000000)"
  166 + points="0.00,0.00 299.99,0.00 299.99,45.00 0.00,45.00 0.00,0.00 0.00,0.00 "/>
  167 + </g>
  168 + </g>
  169 +</svg>
... ...
generic_data/colormaps/cmap1_gray.svg 0 โ†’ 100644
... ... @@ -0,0 +1,169 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3 + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4 +<svg
  5 + xmlns="http://www.w3.org/2000/svg"
  6 + xmlns:xlink="http://www.w3.org/1999/xlink"
  7 + version="1.1"
  8 + width="300pt"
  9 + height="45pt"
  10 + viewBox="0 0 300 45"
  11 + >
  12 + <rect
  13 + x="0"
  14 + y="0"
  15 + width="300"
  16 + height="45"
  17 + stroke="none"
  18 + fill="#000000"
  19 + fill-opacity="1.000000"
  20 + />
  21 + <g
  22 + transform="matrix(1 0 0 -1 0 45)"
  23 + >
  24 + <g>
  25 + <defs>
  26 + <linearGradient
  27 + id="MyGradient0000000000"
  28 + gradientUnits="userSpaceOnUse"
  29 + x1="0.00"
  30 + y1="0.00"
  31 + x2="299.99"
  32 + y2="0.00"
  33 + >
  34 + <stop offset="0.000" stop-color="#000000" stop-opacity="1.000"/>
  35 + <stop offset="0.008" stop-color="#020202" stop-opacity="1.000"/>
  36 + <stop offset="0.016" stop-color="#040404" stop-opacity="1.000"/>
  37 + <stop offset="0.024" stop-color="#060606" stop-opacity="1.000"/>
  38 + <stop offset="0.031" stop-color="#080808" stop-opacity="1.000"/>
  39 + <stop offset="0.039" stop-color="#0A0A0A" stop-opacity="1.000"/>
  40 + <stop offset="0.047" stop-color="#0C0C0C" stop-opacity="1.000"/>
  41 + <stop offset="0.055" stop-color="#0E0E0E" stop-opacity="1.000"/>
  42 + <stop offset="0.063" stop-color="#101010" stop-opacity="1.000"/>
  43 + <stop offset="0.071" stop-color="#121212" stop-opacity="1.000"/>
  44 + <stop offset="0.079" stop-color="#141414" stop-opacity="1.000"/>
  45 + <stop offset="0.087" stop-color="#161616" stop-opacity="1.000"/>
  46 + <stop offset="0.094" stop-color="#181818" stop-opacity="1.000"/>
  47 + <stop offset="0.102" stop-color="#1A1A1A" stop-opacity="1.000"/>
  48 + <stop offset="0.110" stop-color="#1C1C1C" stop-opacity="1.000"/>
  49 + <stop offset="0.118" stop-color="#1E1E1E" stop-opacity="1.000"/>
  50 + <stop offset="0.126" stop-color="#202020" stop-opacity="1.000"/>
  51 + <stop offset="0.134" stop-color="#222222" stop-opacity="1.000"/>
  52 + <stop offset="0.142" stop-color="#242424" stop-opacity="1.000"/>
  53 + <stop offset="0.150" stop-color="#262626" stop-opacity="1.000"/>
  54 + <stop offset="0.157" stop-color="#282828" stop-opacity="1.000"/>
  55 + <stop offset="0.165" stop-color="#2A2A2A" stop-opacity="1.000"/>
  56 + <stop offset="0.173" stop-color="#2C2C2C" stop-opacity="1.000"/>
  57 + <stop offset="0.181" stop-color="#2E2E2E" stop-opacity="1.000"/>
  58 + <stop offset="0.189" stop-color="#303030" stop-opacity="1.000"/>
  59 + <stop offset="0.197" stop-color="#323232" stop-opacity="1.000"/>
  60 + <stop offset="0.205" stop-color="#343434" stop-opacity="1.000"/>
  61 + <stop offset="0.213" stop-color="#363636" stop-opacity="1.000"/>
  62 + <stop offset="0.220" stop-color="#383838" stop-opacity="1.000"/>
  63 + <stop offset="0.228" stop-color="#3A3A3A" stop-opacity="1.000"/>
  64 + <stop offset="0.236" stop-color="#3C3C3C" stop-opacity="1.000"/>
  65 + <stop offset="0.244" stop-color="#3E3E3E" stop-opacity="1.000"/>
  66 + <stop offset="0.252" stop-color="#404040" stop-opacity="1.000"/>
  67 + <stop offset="0.260" stop-color="#424242" stop-opacity="1.000"/>
  68 + <stop offset="0.268" stop-color="#444444" stop-opacity="1.000"/>
  69 + <stop offset="0.276" stop-color="#464646" stop-opacity="1.000"/>
  70 + <stop offset="0.283" stop-color="#484848" stop-opacity="1.000"/>
  71 + <stop offset="0.291" stop-color="#4A4A4A" stop-opacity="1.000"/>
  72 + <stop offset="0.299" stop-color="#4C4C4C" stop-opacity="1.000"/>
  73 + <stop offset="0.307" stop-color="#4E4E4E" stop-opacity="1.000"/>
  74 + <stop offset="0.315" stop-color="#505050" stop-opacity="1.000"/>
  75 + <stop offset="0.323" stop-color="#525252" stop-opacity="1.000"/>
  76 + <stop offset="0.331" stop-color="#545454" stop-opacity="1.000"/>
  77 + <stop offset="0.339" stop-color="#565656" stop-opacity="1.000"/>
  78 + <stop offset="0.346" stop-color="#585858" stop-opacity="1.000"/>
  79 + <stop offset="0.354" stop-color="#5A5A5A" stop-opacity="1.000"/>
  80 + <stop offset="0.362" stop-color="#5C5C5C" stop-opacity="1.000"/>
  81 + <stop offset="0.370" stop-color="#5E5E5E" stop-opacity="1.000"/>
  82 + <stop offset="0.378" stop-color="#606060" stop-opacity="1.000"/>
  83 + <stop offset="0.386" stop-color="#626262" stop-opacity="1.000"/>
  84 + <stop offset="0.394" stop-color="#646464" stop-opacity="1.000"/>
  85 + <stop offset="0.402" stop-color="#666666" stop-opacity="1.000"/>
  86 + <stop offset="0.409" stop-color="#686868" stop-opacity="1.000"/>
  87 + <stop offset="0.417" stop-color="#6A6A6A" stop-opacity="1.000"/>
  88 + <stop offset="0.425" stop-color="#6C6C6C" stop-opacity="1.000"/>
  89 + <stop offset="0.433" stop-color="#6E6E6E" stop-opacity="1.000"/>
  90 + <stop offset="0.441" stop-color="#707070" stop-opacity="1.000"/>
  91 + <stop offset="0.449" stop-color="#727272" stop-opacity="1.000"/>
  92 + <stop offset="0.457" stop-color="#747474" stop-opacity="1.000"/>
  93 + <stop offset="0.465" stop-color="#767676" stop-opacity="1.000"/>
  94 + <stop offset="0.472" stop-color="#787878" stop-opacity="1.000"/>
  95 + <stop offset="0.480" stop-color="#7A7A7A" stop-opacity="1.000"/>
  96 + <stop offset="0.488" stop-color="#7C7C7C" stop-opacity="1.000"/>
  97 + <stop offset="0.496" stop-color="#7E7E7E" stop-opacity="1.000"/>
  98 + <stop offset="0.504" stop-color="#818181" stop-opacity="1.000"/>
  99 + <stop offset="0.512" stop-color="#838383" stop-opacity="1.000"/>
  100 + <stop offset="0.520" stop-color="#858585" stop-opacity="1.000"/>
  101 + <stop offset="0.528" stop-color="#878787" stop-opacity="1.000"/>
  102 + <stop offset="0.535" stop-color="#898989" stop-opacity="1.000"/>
  103 + <stop offset="0.543" stop-color="#8B8B8B" stop-opacity="1.000"/>
  104 + <stop offset="0.551" stop-color="#8D8D8D" stop-opacity="1.000"/>
  105 + <stop offset="0.559" stop-color="#8F8F8F" stop-opacity="1.000"/>
  106 + <stop offset="0.567" stop-color="#919191" stop-opacity="1.000"/>
  107 + <stop offset="0.575" stop-color="#939393" stop-opacity="1.000"/>
  108 + <stop offset="0.583" stop-color="#959595" stop-opacity="1.000"/>
  109 + <stop offset="0.591" stop-color="#979797" stop-opacity="1.000"/>
  110 + <stop offset="0.598" stop-color="#999999" stop-opacity="1.000"/>
  111 + <stop offset="0.606" stop-color="#9B9B9B" stop-opacity="1.000"/>
  112 + <stop offset="0.614" stop-color="#9D9D9D" stop-opacity="1.000"/>
  113 + <stop offset="0.622" stop-color="#9F9F9F" stop-opacity="1.000"/>
  114 + <stop offset="0.630" stop-color="#A1A1A1" stop-opacity="1.000"/>
  115 + <stop offset="0.638" stop-color="#A3A3A3" stop-opacity="1.000"/>
  116 + <stop offset="0.646" stop-color="#A5A5A5" stop-opacity="1.000"/>
  117 + <stop offset="0.654" stop-color="#A7A7A7" stop-opacity="1.000"/>
  118 + <stop offset="0.661" stop-color="#A9A9A9" stop-opacity="1.000"/>
  119 + <stop offset="0.669" stop-color="#ABABAB" stop-opacity="1.000"/>
  120 + <stop offset="0.677" stop-color="#ADADAD" stop-opacity="1.000"/>
  121 + <stop offset="0.685" stop-color="#AFAFAF" stop-opacity="1.000"/>
  122 + <stop offset="0.693" stop-color="#B1B1B1" stop-opacity="1.000"/>
  123 + <stop offset="0.701" stop-color="#B3B3B3" stop-opacity="1.000"/>
  124 + <stop offset="0.709" stop-color="#B5B5B5" stop-opacity="1.000"/>
  125 + <stop offset="0.717" stop-color="#B7B7B7" stop-opacity="1.000"/>
  126 + <stop offset="0.724" stop-color="#B9B9B9" stop-opacity="1.000"/>
  127 + <stop offset="0.732" stop-color="#BBBBBB" stop-opacity="1.000"/>
  128 + <stop offset="0.740" stop-color="#BDBDBD" stop-opacity="1.000"/>
  129 + <stop offset="0.748" stop-color="#BFBFBF" stop-opacity="1.000"/>
  130 + <stop offset="0.756" stop-color="#C1C1C1" stop-opacity="1.000"/>
  131 + <stop offset="0.764" stop-color="#C3C3C3" stop-opacity="1.000"/>
  132 + <stop offset="0.772" stop-color="#C5C5C5" stop-opacity="1.000"/>
  133 + <stop offset="0.780" stop-color="#C7C7C7" stop-opacity="1.000"/>
  134 + <stop offset="0.787" stop-color="#C9C9C9" stop-opacity="1.000"/>
  135 + <stop offset="0.795" stop-color="#CBCBCB" stop-opacity="1.000"/>
  136 + <stop offset="0.803" stop-color="#CDCDCD" stop-opacity="1.000"/>
  137 + <stop offset="0.811" stop-color="#CFCFCF" stop-opacity="1.000"/>
  138 + <stop offset="0.819" stop-color="#D1D1D1" stop-opacity="1.000"/>
  139 + <stop offset="0.827" stop-color="#D3D3D3" stop-opacity="1.000"/>
  140 + <stop offset="0.835" stop-color="#D5D5D5" stop-opacity="1.000"/>
  141 + <stop offset="0.843" stop-color="#D7D7D7" stop-opacity="1.000"/>
  142 + <stop offset="0.850" stop-color="#D9D9D9" stop-opacity="1.000"/>
  143 + <stop offset="0.858" stop-color="#DBDBDB" stop-opacity="1.000"/>
  144 + <stop offset="0.866" stop-color="#DDDDDD" stop-opacity="1.000"/>
  145 + <stop offset="0.874" stop-color="#DFDFDF" stop-opacity="1.000"/>
  146 + <stop offset="0.882" stop-color="#E1E1E1" stop-opacity="1.000"/>
  147 + <stop offset="0.890" stop-color="#E3E3E3" stop-opacity="1.000"/>
  148 + <stop offset="0.898" stop-color="#E5E5E5" stop-opacity="1.000"/>
  149 + <stop offset="0.906" stop-color="#E7E7E7" stop-opacity="1.000"/>
  150 + <stop offset="0.913" stop-color="#E9E9E9" stop-opacity="1.000"/>
  151 + <stop offset="0.921" stop-color="#EBEBEB" stop-opacity="1.000"/>
  152 + <stop offset="0.929" stop-color="#EDEDED" stop-opacity="1.000"/>
  153 + <stop offset="0.937" stop-color="#EFEFEF" stop-opacity="1.000"/>
  154 + <stop offset="0.945" stop-color="#F1F1F1" stop-opacity="1.000"/>
  155 + <stop offset="0.953" stop-color="#F3F3F3" stop-opacity="1.000"/>
  156 + <stop offset="0.961" stop-color="#F5F5F5" stop-opacity="1.000"/>
  157 + <stop offset="0.969" stop-color="#F7F7F7" stop-opacity="1.000"/>
  158 + <stop offset="0.976" stop-color="#F9F9F9" stop-opacity="1.000"/>
  159 + <stop offset="0.984" stop-color="#FBFBFB" stop-opacity="1.000"/>
  160 + <stop offset="0.992" stop-color="#FDFDFD" stop-opacity="1.000"/>
  161 + <stop offset="1.000" stop-color="#FFFFFF" stop-opacity="1.000"/>
  162 + </linearGradient>
  163 + </defs>
  164 + <polyline
  165 + fill="url(#MyGradient0000000000)"
  166 + points="0.00,0.00 299.99,0.00 299.99,45.00 0.00,45.00 0.00,0.00 0.00,0.00 "/>
  167 + </g>
  168 + </g>
  169 +</svg>
... ...
generic_data/colormaps/cmap1_red_blue.svg 0 โ†’ 100644
... ... @@ -0,0 +1,169 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3 + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4 +<svg
  5 + xmlns="http://www.w3.org/2000/svg"
  6 + xmlns:xlink="http://www.w3.org/1999/xlink"
  7 + version="1.1"
  8 + width="300pt"
  9 + height="45pt"
  10 + viewBox="0 0 300 45"
  11 + >
  12 + <rect
  13 + x="0"
  14 + y="0"
  15 + width="300"
  16 + height="45"
  17 + stroke="none"
  18 + fill="#000000"
  19 + fill-opacity="1.000000"
  20 + />
  21 + <g
  22 + transform="matrix(1 0 0 -1 0 45)"
  23 + >
  24 + <g>
  25 + <defs>
  26 + <linearGradient
  27 + id="MyGradient0000000000"
  28 + gradientUnits="userSpaceOnUse"
  29 + x1="0.00"
  30 + y1="0.00"
  31 + x2="299.99"
  32 + y2="0.00"
  33 + >
  34 + <stop offset="0.000" stop-color="#0000FF" stop-opacity="1.000"/>
  35 + <stop offset="0.008" stop-color="#0004FF" stop-opacity="1.000"/>
  36 + <stop offset="0.016" stop-color="#0008FF" stop-opacity="1.000"/>
  37 + <stop offset="0.024" stop-color="#000CFF" stop-opacity="1.000"/>
  38 + <stop offset="0.031" stop-color="#0010FF" stop-opacity="1.000"/>
  39 + <stop offset="0.039" stop-color="#0014FF" stop-opacity="1.000"/>
  40 + <stop offset="0.047" stop-color="#0018FF" stop-opacity="1.000"/>
  41 + <stop offset="0.055" stop-color="#001CFF" stop-opacity="1.000"/>
  42 + <stop offset="0.063" stop-color="#0020FF" stop-opacity="1.000"/>
  43 + <stop offset="0.071" stop-color="#0024FF" stop-opacity="1.000"/>
  44 + <stop offset="0.079" stop-color="#0028FF" stop-opacity="1.000"/>
  45 + <stop offset="0.087" stop-color="#002CFF" stop-opacity="1.000"/>
  46 + <stop offset="0.094" stop-color="#0030FF" stop-opacity="1.000"/>
  47 + <stop offset="0.102" stop-color="#0034FF" stop-opacity="1.000"/>
  48 + <stop offset="0.110" stop-color="#0039FF" stop-opacity="1.000"/>
  49 + <stop offset="0.118" stop-color="#003DFF" stop-opacity="1.000"/>
  50 + <stop offset="0.126" stop-color="#0041FF" stop-opacity="1.000"/>
  51 + <stop offset="0.134" stop-color="#0045FF" stop-opacity="1.000"/>
  52 + <stop offset="0.142" stop-color="#0049FF" stop-opacity="1.000"/>
  53 + <stop offset="0.150" stop-color="#004DFF" stop-opacity="1.000"/>
  54 + <stop offset="0.157" stop-color="#0051FF" stop-opacity="1.000"/>
  55 + <stop offset="0.165" stop-color="#0055FF" stop-opacity="1.000"/>
  56 + <stop offset="0.173" stop-color="#0059FF" stop-opacity="1.000"/>
  57 + <stop offset="0.181" stop-color="#005DFF" stop-opacity="1.000"/>
  58 + <stop offset="0.189" stop-color="#0061FF" stop-opacity="1.000"/>
  59 + <stop offset="0.197" stop-color="#0065FF" stop-opacity="1.000"/>
  60 + <stop offset="0.205" stop-color="#0069FF" stop-opacity="1.000"/>
  61 + <stop offset="0.213" stop-color="#006DFF" stop-opacity="1.000"/>
  62 + <stop offset="0.220" stop-color="#0072FF" stop-opacity="1.000"/>
  63 + <stop offset="0.228" stop-color="#0076FF" stop-opacity="1.000"/>
  64 + <stop offset="0.236" stop-color="#007AFF" stop-opacity="1.000"/>
  65 + <stop offset="0.244" stop-color="#007EFF" stop-opacity="1.000"/>
  66 + <stop offset="0.252" stop-color="#0082FF" stop-opacity="1.000"/>
  67 + <stop offset="0.260" stop-color="#0086FF" stop-opacity="1.000"/>
  68 + <stop offset="0.268" stop-color="#008AFF" stop-opacity="1.000"/>
  69 + <stop offset="0.276" stop-color="#008EFF" stop-opacity="1.000"/>
  70 + <stop offset="0.283" stop-color="#0092FF" stop-opacity="1.000"/>
  71 + <stop offset="0.291" stop-color="#0096FF" stop-opacity="1.000"/>
  72 + <stop offset="0.299" stop-color="#009AFF" stop-opacity="1.000"/>
  73 + <stop offset="0.307" stop-color="#009EFF" stop-opacity="1.000"/>
  74 + <stop offset="0.315" stop-color="#00A2FF" stop-opacity="1.000"/>
  75 + <stop offset="0.323" stop-color="#00A6FF" stop-opacity="1.000"/>
  76 + <stop offset="0.331" stop-color="#00ABFF" stop-opacity="1.000"/>
  77 + <stop offset="0.339" stop-color="#00AFFF" stop-opacity="1.000"/>
  78 + <stop offset="0.346" stop-color="#00B3FF" stop-opacity="1.000"/>
  79 + <stop offset="0.354" stop-color="#00B7FF" stop-opacity="1.000"/>
  80 + <stop offset="0.362" stop-color="#00BBFF" stop-opacity="1.000"/>
  81 + <stop offset="0.370" stop-color="#00BFFF" stop-opacity="1.000"/>
  82 + <stop offset="0.378" stop-color="#00C3FF" stop-opacity="1.000"/>
  83 + <stop offset="0.386" stop-color="#00C7FF" stop-opacity="1.000"/>
  84 + <stop offset="0.394" stop-color="#00CBFF" stop-opacity="1.000"/>
  85 + <stop offset="0.402" stop-color="#00CFFF" stop-opacity="1.000"/>
  86 + <stop offset="0.409" stop-color="#00D3FF" stop-opacity="1.000"/>
  87 + <stop offset="0.417" stop-color="#00D7FF" stop-opacity="1.000"/>
  88 + <stop offset="0.425" stop-color="#00DBFF" stop-opacity="1.000"/>
  89 + <stop offset="0.433" stop-color="#00DFFF" stop-opacity="1.000"/>
  90 + <stop offset="0.441" stop-color="#00E4FF" stop-opacity="1.000"/>
  91 + <stop offset="0.449" stop-color="#00E8FF" stop-opacity="1.000"/>
  92 + <stop offset="0.457" stop-color="#00ECFF" stop-opacity="1.000"/>
  93 + <stop offset="0.465" stop-color="#00F0FF" stop-opacity="1.000"/>
  94 + <stop offset="0.472" stop-color="#00F4FF" stop-opacity="1.000"/>
  95 + <stop offset="0.480" stop-color="#00F8FF" stop-opacity="1.000"/>
  96 + <stop offset="0.488" stop-color="#00FCFF" stop-opacity="1.000"/>
  97 + <stop offset="0.496" stop-color="#1BFFE4" stop-opacity="1.000"/>
  98 + <stop offset="0.504" stop-color="#E4FF1B" stop-opacity="1.000"/>
  99 + <stop offset="0.512" stop-color="#FFFC00" stop-opacity="1.000"/>
  100 + <stop offset="0.520" stop-color="#FFF800" stop-opacity="1.000"/>
  101 + <stop offset="0.528" stop-color="#FFF400" stop-opacity="1.000"/>
  102 + <stop offset="0.535" stop-color="#FFF000" stop-opacity="1.000"/>
  103 + <stop offset="0.543" stop-color="#FFEC00" stop-opacity="1.000"/>
  104 + <stop offset="0.551" stop-color="#FFE800" stop-opacity="1.000"/>
  105 + <stop offset="0.559" stop-color="#FFE400" stop-opacity="1.000"/>
  106 + <stop offset="0.567" stop-color="#FFDF00" stop-opacity="1.000"/>
  107 + <stop offset="0.575" stop-color="#FFDB00" stop-opacity="1.000"/>
  108 + <stop offset="0.583" stop-color="#FFD700" stop-opacity="1.000"/>
  109 + <stop offset="0.591" stop-color="#FFD300" stop-opacity="1.000"/>
  110 + <stop offset="0.598" stop-color="#FFCF00" stop-opacity="1.000"/>
  111 + <stop offset="0.606" stop-color="#FFCB00" stop-opacity="1.000"/>
  112 + <stop offset="0.614" stop-color="#FFC700" stop-opacity="1.000"/>
  113 + <stop offset="0.622" stop-color="#FFC300" stop-opacity="1.000"/>
  114 + <stop offset="0.630" stop-color="#FFBF00" stop-opacity="1.000"/>
  115 + <stop offset="0.638" stop-color="#FFBB00" stop-opacity="1.000"/>
  116 + <stop offset="0.646" stop-color="#FFB700" stop-opacity="1.000"/>
  117 + <stop offset="0.654" stop-color="#FFB300" stop-opacity="1.000"/>
  118 + <stop offset="0.661" stop-color="#FFAF00" stop-opacity="1.000"/>
  119 + <stop offset="0.669" stop-color="#FFAB00" stop-opacity="1.000"/>
  120 + <stop offset="0.677" stop-color="#FFA600" stop-opacity="1.000"/>
  121 + <stop offset="0.685" stop-color="#FFA200" stop-opacity="1.000"/>
  122 + <stop offset="0.693" stop-color="#FF9E00" stop-opacity="1.000"/>
  123 + <stop offset="0.701" stop-color="#FF9A00" stop-opacity="1.000"/>
  124 + <stop offset="0.709" stop-color="#FF9600" stop-opacity="1.000"/>
  125 + <stop offset="0.717" stop-color="#FF9200" stop-opacity="1.000"/>
  126 + <stop offset="0.724" stop-color="#FF8E00" stop-opacity="1.000"/>
  127 + <stop offset="0.732" stop-color="#FF8A00" stop-opacity="1.000"/>
  128 + <stop offset="0.740" stop-color="#FF8600" stop-opacity="1.000"/>
  129 + <stop offset="0.748" stop-color="#FF8200" stop-opacity="1.000"/>
  130 + <stop offset="0.756" stop-color="#FF7E00" stop-opacity="1.000"/>
  131 + <stop offset="0.764" stop-color="#FF7A00" stop-opacity="1.000"/>
  132 + <stop offset="0.772" stop-color="#FF7600" stop-opacity="1.000"/>
  133 + <stop offset="0.780" stop-color="#FF7200" stop-opacity="1.000"/>
  134 + <stop offset="0.787" stop-color="#FF6D00" stop-opacity="1.000"/>
  135 + <stop offset="0.795" stop-color="#FF6900" stop-opacity="1.000"/>
  136 + <stop offset="0.803" stop-color="#FF6500" stop-opacity="1.000"/>
  137 + <stop offset="0.811" stop-color="#FF6100" stop-opacity="1.000"/>
  138 + <stop offset="0.819" stop-color="#FF5D00" stop-opacity="1.000"/>
  139 + <stop offset="0.827" stop-color="#FF5900" stop-opacity="1.000"/>
  140 + <stop offset="0.835" stop-color="#FF5500" stop-opacity="1.000"/>
  141 + <stop offset="0.843" stop-color="#FF5100" stop-opacity="1.000"/>
  142 + <stop offset="0.850" stop-color="#FF4D00" stop-opacity="1.000"/>
  143 + <stop offset="0.858" stop-color="#FF4900" stop-opacity="1.000"/>
  144 + <stop offset="0.866" stop-color="#FF4500" stop-opacity="1.000"/>
  145 + <stop offset="0.874" stop-color="#FF4100" stop-opacity="1.000"/>
  146 + <stop offset="0.882" stop-color="#FF3D00" stop-opacity="1.000"/>
  147 + <stop offset="0.890" stop-color="#FF3900" stop-opacity="1.000"/>
  148 + <stop offset="0.898" stop-color="#FF3400" stop-opacity="1.000"/>
  149 + <stop offset="0.906" stop-color="#FF3000" stop-opacity="1.000"/>
  150 + <stop offset="0.913" stop-color="#FF2C00" stop-opacity="1.000"/>
  151 + <stop offset="0.921" stop-color="#FF2800" stop-opacity="1.000"/>
  152 + <stop offset="0.929" stop-color="#FF2400" stop-opacity="1.000"/>
  153 + <stop offset="0.937" stop-color="#FF2000" stop-opacity="1.000"/>
  154 + <stop offset="0.945" stop-color="#FF1C00" stop-opacity="1.000"/>
  155 + <stop offset="0.953" stop-color="#FF1800" stop-opacity="1.000"/>
  156 + <stop offset="0.961" stop-color="#FF1400" stop-opacity="1.000"/>
  157 + <stop offset="0.969" stop-color="#FF1000" stop-opacity="1.000"/>
  158 + <stop offset="0.976" stop-color="#FF0C00" stop-opacity="1.000"/>
  159 + <stop offset="0.984" stop-color="#FF0800" stop-opacity="1.000"/>
  160 + <stop offset="0.992" stop-color="#FF0400" stop-opacity="1.000"/>
  161 + <stop offset="1.000" stop-color="#FF0000" stop-opacity="1.000"/>
  162 + </linearGradient>
  163 + </defs>
  164 + <polyline
  165 + fill="url(#MyGradient0000000000)"
  166 + points="0.00,0.00 299.99,0.00 299.99,45.00 0.00,45.00 0.00,0.00 0.00,0.00 "/>
  167 + </g>
  168 + </g>
  169 +</svg>
... ...
help/vespaHelp 0 โ†’ 100644
... ... @@ -0,0 +1,7 @@
  1 +<h2>VESPA</h2><br/>
  2 +
  3 +VESPA (Virtual European Solar and Planetary Access, <a href="http://www.europlanet-vespa.eu/">http://www.europlanet-vespa.eu/</a>) aims at building a Virtual Observatory for Planetary Science, connecting all sorts of data in the field, allowing for rapid data search and providing modern tools to retrieve, cross-correlate, and display data and results of scientific analyses.
  4 +<br/>
  5 +<br/>
  6 +VESPA is an activity initially developed by the Europlanet 2020 Research Infrastructure project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 654208, and extended for the Europlanet 2024 Research Infrastructure project funded by the European Union's Horizon 2020 research and innovation programme under grant agreement No 871149.
  7 +<br/>
... ...
js/app/models/AmdaNode.js
... ... @@ -21,7 +21,8 @@ Ext.define(&#39;amdaModel.AmdaNode&#39;, {
21 21 {name:'rootNode', persist: false},
22 22 {name: 'ownerTreeId', persist: false},
23 23 {name: 'ownerTree', persist: false},
24   - {name: 'checked', defaultValue: null, persist: false}
  24 + {name: 'checked', defaultValue: null, persist: false},
  25 + {name: 'visible', type: 'boolean', defaultValue: true},
25 26 ],
26 27  
27 28 statics : {
... ...
js/app/models/Download.js
... ... @@ -32,7 +32,8 @@ Ext.define(&#39;amdaModel.DownloadConfig&#39;, {
32 32 fileformatData: [
33 33 ['ASCII', 'ASCII'],
34 34 ['vot', 'VOTable'],
35   - ['cdf', 'CDF'],
  35 + ['cdf-istp', 'CDF/ISTP'],
  36 + ['cdf', 'CDF (deprecated)'],
36 37 ['json', 'JSON']
37 38 ],
38 39 fileformatTTData: [
... ...
js/app/models/PlotObjects/PlotHistogram2DSerieObject.js 0 โ†’ 100644
... ... @@ -0,0 +1,61 @@
  1 +/**
  2 + * Project  : TMA-AMDA
  3 + * Name : PlotHistogram2DSerieObject.js
  4 + * @class amdaPlotObj.PlotHistogram2DSerieObject
  5 + * @extends amdaPlotObj.PlotBaseSerieObject
  6 + * @brief Plot Histogram2D Business Object Definition
  7 + * @author Furkan Erdogan
  8 + * @version $Id: PlotHistogram2DSerieObject.js furkan $
  9 + ******************************************************************************
  10 + * FT Id : Date : Name - Description
  11 + ******************************************************************************
  12 + * : :08/02/2023: FER - file creation
  13 + */
  14 +
  15 +
  16 +Ext.define('amdaPlotObj.PlotHistogram2DSerieObject', {
  17 + extend: 'amdaPlotObj.PlotBaseSerieObject',
  18 + requires: ['amdaPlotObj.PlotAxisObject'],
  19 + fields : [
  20 + {name: 'serie-xaxis-param', type: 'string'},
  21 + {name: 'serie-resampling-mode', type: 'string'},
  22 + {name: 'histo2d-function', type: 'string'},
  23 + {name: 'histotype-param', type: 'string' },
  24 + {name: 'histo2d-xbinnumber', type: 'int'},
  25 + {name: 'histo2d-ybinnumber', type: 'int'},
  26 + {name: 'histo2d-smoothfactor', type: 'int'}
  27 +
  28 + ],
  29 +
  30 + constructor: function(){
  31 + var me = this;
  32 + me.callParent(arguments);
  33 + },
  34 +
  35 + setDefaultValues: function()
  36 + {
  37 + this.set('serie-xaxis-param', '');
  38 + this.set('serie-resampling-mode', amdaPlotObj.PlotObjectConfig.defaultValues.serie.resamplingMode);
  39 + this.set('histo2d-function', 'density');
  40 + this.set('histotype-param', '');
  41 + this.set('histo2d-xbinnumber', amdaPlotObj.PlotObjectConfig.defaultValues.histogram2D.xbinnumber);
  42 + this.set('histo2d-ybinnumber', amdaPlotObj.PlotObjectConfig.defaultValues.histogram2D.ybinnumber);
  43 + this.set('histo2d-smoothfactor', amdaPlotObj.PlotObjectConfig.defaultValues.histogram2D.smoothfactor)
  44 +
  45 + this.callParent(arguments);
  46 + },
  47 +
  48 + getJsonValues : function()
  49 + {
  50 + var serieValues = this.callParent(arguments);
  51 + serieValues['serie-xaxis-param'] = this.get('serie-xaxis-param');
  52 + serieValues['serie-resampling-mode'] = this.get('serie-resampling-mode');
  53 + serieValues['histo2d-function'] = this.get('histo2d-function');
  54 + serieValues['histotype-param'] = this.get('histotype-param');
  55 + serieValues['histo2d-xbinnumber'] = this.get('histo2d-xbinnumber');
  56 + serieValues['histo2d-ybinnumber'] = this.get('histo2d-ybinnumber');
  57 + serieValues['histo2d-smoothfactor'] = this.get('histo2d-smoothfactor');
  58 +
  59 + return serieValues;
  60 + }
  61 +});
... ...
js/app/models/PlotObjects/PlotObjectConfig.js
... ... @@ -143,6 +143,12 @@ Ext.define(&#39;amdaPlotObj.PlotObjectConfig&#39;, {
143 143 yAxis: 'y-left',
144 144 resolution: 3000
145 145 },
  146 + histogram2D:{
  147 + histo2DFunction: 'density',
  148 + xbinnumber: 100,
  149 + ybinnumber: 100,
  150 + smoothfactor: 1,
  151 + },
146 152 sauvaud: {
147 153 yAxis: 'y-right',
148 154 resolution: 3000
... ... @@ -343,42 +349,43 @@ Ext.define(&#39;amdaPlotObj.PlotObjectConfig&#39;, {
343 349 ],
344 350  
345 351 availableColorMaps: [
346   - { 'key': '0', 'value': 'Blue Red' },
347   - { 'key': '1', 'value': 'Default' },
348   - { 'key': '2', 'value': 'Blue Yellow' },
349   - { 'key': '3', 'value': 'Grayscale' },
350   - { 'key': '4', 'value': 'AMDA Default' },
351   - { 'key': '5', 'value': 'GeoWhite' },
352   - { 'key': '6', 'value': 'GeoBlack' },
353   - { 'key': '7', 'value': 'Violet Yellow' },
354   - { 'key': '8', 'value': 'Red Blue 4' },
355   - { 'key': '9', 'value': 'Acton' },
356   - { 'key': '11', 'value': 'Bamako' },
357   - { 'key': '12', 'value': 'Batlow' },
358   - { 'key': '13', 'value': 'BatlowK' },
359   - { 'key': '14', 'value': 'BatlowW' },
360   - { 'key': '15', 'value': 'Bilbao' },
361   - { 'key': '16', 'value': 'Buda' },
362   - { 'key': '17', 'value': 'Davos' },
363   - { 'key': '18', 'value': 'Devon' },
364   - { 'key': '19', 'value': 'GrayC' },
365   - { 'key': '20', 'value': 'Hawaii' },
366   - { 'key': '21', 'value': 'Imola' },
367   - { 'key': '22', 'value': 'Lajolla' },
368   - { 'key': '23', 'value': 'Lapaz' },
369   - { 'key': '24', 'value': 'Nuuk' },
370   - { 'key': '25', 'value': 'Oslo' },
371   - { 'key': '26', 'value': 'Tokyo' },
372   - { 'key': '27', 'value': 'Turku' },
373   - { 'key': '28', 'value': 'Bam' },
374   - { 'key': '29', 'value': 'Berlin' },
375   - { 'key': '30', 'value': 'Broc' },
376   - { 'key': '31', 'value': 'Cork' },
377   - { 'key': '32', 'value': 'Lisbon' },
378   - { 'key': '33', 'value': 'Roma' },
379   - { 'key': '34', 'value': 'Tofino' },
380   - { 'key': '35', 'value': 'Vanimo' },
381   - { 'key': '36', 'value': 'vik' }
  352 + { 'key': '0', 'value': 'Blue Red', 'svgFile':'cmap1_blue_red.svg' },
  353 + { 'key': '1', 'value': 'Default', 'svgFile':'cmap1_default.svg'},
  354 + { 'key': '2', 'value': 'Blue Yellow', 'svgFile':'cmap1_blue_yellow.svg' },
  355 + { 'key': '3', 'value': 'Grayscale', 'svgFile':'cmap1_gray.svg' },
  356 + { 'key': '4', 'value': 'AMDA Default', 'svgFile':'cmap1_amda_default.svg' },
  357 + { 'key': '5', 'value': 'GeoWhite', 'svgFile':'cmap1_geowhite.svg' },
  358 + { 'key': '6', 'value': 'GeoBlack', 'svgFile':'cmap1_geoblack.svg' },
  359 + { 'key': '7', 'value': 'Violet Yellow', 'svgFile':'cmap1_dark_violet_yellow.svg' },
  360 + { 'key': '8', 'value': 'Red Blue 4', 'svgFile':'cmap1_red_blue.svg' },
  361 + { 'key': '9', 'value': 'Acton', 'svgFile':'' },
  362 + { 'key': '11', 'value': 'Bamako', 'svgFile':'' },
  363 + { 'key': '12', 'value': 'Batlow', 'svgFile':'' },
  364 + { 'key': '13', 'value': 'BatlowK', 'svgFile':'' },
  365 + { 'key': '14', 'value': 'BatlowW', 'svgFile':'' },
  366 + { 'key': '15', 'value': 'Bilbao', 'svgFile':'' },
  367 + { 'key': '16', 'value': 'Buda', 'svgFile':'' },
  368 + { 'key': '17', 'value': 'Davos', 'svgFile':'' },
  369 + { 'key': '18', 'value': 'Devon', 'svgFile':'' },
  370 + { 'key': '19', 'value': 'GrayC', 'svgFile':'' },
  371 + { 'key': '20', 'value': 'Hawaii', 'svgFile':'' },
  372 + { 'key': '21', 'value': 'Imola', 'svgFile':'' },
  373 + { 'key': '22', 'value': 'Lajolla', 'svgFile':'' },
  374 + { 'key': '23', 'value': 'Lapaz', 'svgFile':'' },
  375 + { 'key': '24', 'value': 'Nuuk', 'svgFile':'' },
  376 + { 'key': '25', 'value': 'Oslo', 'svgFile':'' },
  377 + { 'key': '26', 'value': 'Tokyo', 'svgFile':'' },
  378 + { 'key': '27', 'value': 'Turku', 'svgFile':'' },
  379 + { 'key': '28', 'value': 'Bam', 'svgFile':'' },
  380 + { 'key': '29', 'value': 'Berlin', 'svgFile':'' },
  381 + { 'key': '30', 'value': 'Broc', 'svgFile':'' },
  382 + { 'key': '31', 'value': 'Cork', 'svgFile':'' },
  383 + { 'key': '32', 'value': 'Lisbon', 'svgFile':'' },
  384 + { 'key': '33', 'value': 'Roma', 'svgFile':'' },
  385 + { 'key': '34', 'value': 'Tofino', 'svgFile':'' },
  386 + { 'key': '35', 'value': 'Vanimo', 'svgFile':'' },
  387 + { 'key': '36', 'value': 'vik', 'svgFile':'' }
  388 +
382 389 ],
383 390  
384 391 availableColors: [
... ... @@ -471,6 +478,15 @@ Ext.define(&#39;amdaPlotObj.PlotObjectConfig&#39;, {
471 478 { 'key': 'ZR', 'value': 'ZR' }
472 479 ],
473 480  
  481 + availableHistogram2DFunctions: [
  482 + { 'key': 'density', 'value': 'Density' },
  483 + { 'key': 'mean', 'value': 'Mean' },
  484 + { 'key': 'min', 'value': 'Minimum' },
  485 + { 'key': 'max', 'value': 'Maximum' },
  486 + { 'key': 'median', 'value': 'Median' },
  487 + { 'key': 'stadev', 'value': 'Standard Deviation' }
  488 + ],
  489 +
474 490 availableDimsOnXAxis: [
475 491 { 'key': '0', 'value': 'First dimension' },
476 492 { 'key': '1', 'value': 'Second dimension' }
... ...
js/app/models/PlotObjects/PlotParamObject.js
... ... @@ -20,6 +20,7 @@ Ext.define(&#39;amdaPlotObj.PlotParamObject&#39;, {
20 20 'amdaPlotObj.PlotObjectConfig',
21 21 'amdaPlotObj.PlotSerieObject',
22 22 'amdaPlotObj.PlotOrbitSerieObject',
  23 + 'amdaPlotObj.PlotHistogram2DSerieObject',
23 24 'amdaPlotObj.PlotSpectroObject',
24 25 'amdaPlotObj.PlotSauvaudObject',
25 26 'amdaPlotObj.PlotStatusBarObject',
... ... @@ -72,8 +73,10 @@ Ext.define(&#39;amdaPlotObj.PlotParamObject&#39;, {
72 73 {
73 74 case 'serie' :
74 75 return new amdaPlotObj.PlotSerieObject(data);
75   - case 'orbit-serie' :
76   - return new amdaPlotObj.PlotOrbitSerieObject(data);
  76 + case 'histogram2d' :
  77 + return new amdaPlotObj.PlotHistogram2DSerieObject(data);
  78 + case 'orbit-serie' :
  79 + return new amdaPlotObj.PlotOrbitSerieObject(data);
77 80 case 'spectro' :
78 81 return new amdaPlotObj.PlotSpectroObject(data);
79 82 case 'status-bar' :
... ... @@ -129,7 +132,8 @@ Ext.define(&#39;amdaPlotObj.PlotParamObject&#39;, {
129 132 case 'xyPlot' :
130 133 return [
131 134 {'key' : 'serie', 'value' : 'Serie'},
132   - {'key' : 'orbit-serie', 'value' : 'Orbit Serie'}
  135 + {'key' : 'orbit-serie', 'value' : 'Orbit Serie'},
  136 + {'key' : 'histogram2d', 'value' : '2D Histogram'}
133 137 ];
134 138 case 'instantPlot' :
135 139 return [
... ...
js/app/models/PlotObjects/PlotTreeNode.js
... ... @@ -273,6 +273,8 @@ Ext.define(&#39;amdaPlotObj.PlotParamTreeNode&#39;, {
273 273 type: 'param',
274 274  
275 275 removable: true,
  276 +
  277 + panelObject: null,
276 278  
277 279 getAdditionalText: function()
278 280 {
... ...
js/app/views/CalculatorUI.js
... ... @@ -584,6 +584,7 @@ Ext.define(&#39;amdaUI.CalculatorUI&#39;, {
584 584 amdaUI.CalculatorUI.functionStore.filter('group', 'math');
585 585 this.createFunctionBtns('MathFunctions', 'Simple Maths','#calc_tab_math_id');
586 586 this.createFunctionBtns('VectorFunctions', 'Vector Functions', '#calc_tab_math_id');
  587 + this.createFunctionBtns('Tetrahedron', 'Tetrahedron', '#calc_tab_math_id');
587 588 amdaUI.CalculatorUI.functionStore.clearFilter();
588 589  
589 590 // group space
... ... @@ -690,6 +691,9 @@ Ext.define(&#39;amdaUI.CalculatorUI&#39;, {
690 691 case 'VectorFunctions' :
691 692 amdaUI.CalculatorUI.functionStore.filter('kind', 'vector');
692 693 break;
  694 + case 'Tetrahedron' :
  695 + amdaUI.CalculatorUI.functionStore.filter('kind', 'tetrahedron');
  696 + break;
693 697 case 'ModelFunctions' :
694 698 amdaUI.CalculatorUI.functionStore.filter('kind', 'model');
695 699 width = .45;
... ...
js/app/views/EpnTapUI.js
... ... @@ -416,7 +416,24 @@ Ext.define(&#39;amdaUI.EpnTapUI&#39;, {
416 416 init: function (config) {
417 417 const myConf = {
418 418 id: 'epntapTab',
419   - title: 'EPN-TAP',
  419 + tabConfig: {
  420 + title: 'EPN-TAP&nbsp;<img amda_clicktip="vespaHelp" src="js/resources/images/16x16/info_mini.png"',
  421 + listeners: {
  422 + click: {
  423 + element: 'el',
  424 + fn: function (e, t) {
  425 + var me = t,
  426 + text = me.getAttribute('amda_clicktip');
  427 + if (text) {
  428 + e.preventDefault();
  429 + AmdaAction.getInfo({ name: text }, function (res, e) {
  430 + if (res.success) myDesktopApp.infoMsg(res.result);
  431 + });
  432 + }
  433 + }
  434 + }
  435 + }
  436 + },
420 437 items: [{
421 438 xtype: 'container',
422 439 layout: {type: 'vbox', pack: 'start', align: 'stretch'},
... ...
js/app/views/PlotComponents/PlotBaseSerieForm.js
... ... @@ -16,34 +16,36 @@ Ext.define(&#39;amdaPlotComp.PlotBaseSerieForm&#39;, {
16 16 this.loadRecord(this.object);
17 17 this.updateOptions(this.crtTree.getSelectedPlotType());
18 18 },
19   -
  19 +
20 20 updateOptions: function(plotType) {
21 21 var isScatter = (plotType == 'xyPlot');
22 22  
23 23 var timeTickTypeField = this.getForm().findField('serie-timetick-type');
24   - var timeTickFieldSet = timeTickTypeField.findParentByType('fieldset');
25   -
26   - timeTickFieldSet.setVisible(isScatter);
  24 + if (timeTickTypeField != null){
  25 + var timeTickFieldSet = timeTickTypeField.findParentByType('fieldset');
27 26  
28   - if (isScatter)
29   - {
30   - //Update Time Tick field
31   - var timeTickStepField = this.getForm().findField('serie-timetick-step');
32   - var timeTickNbMajorField = this.getForm().findField('serie-timetick-nbmajor');
33   - switch (timeTickTypeField.getValue())
  27 + timeTickFieldSet.setVisible(isScatter);
  28 +
  29 + if (isScatter)
34 30 {
35   - case 'time-step' :
36   - timeTickStepField.setVisible(true);
37   - timeTickNbMajorField.setVisible(false);
38   - break;
39   - case 'nb-major' :
40   - timeTickStepField.setVisible(false);
41   - timeTickNbMajorField.setVisible(true);
42   - break;
43   - case 'auto' :
44   - default :
45   - timeTickStepField.setVisible(false);
46   - timeTickNbMajorField.setVisible(false);
  31 + //Update Time Tick field
  32 + var timeTickStepField = this.getForm().findField('serie-timetick-step');
  33 + var timeTickNbMajorField = this.getForm().findField('serie-timetick-nbmajor');
  34 + switch (timeTickTypeField.getValue())
  35 + {
  36 + case 'time-step' :
  37 + timeTickStepField.setVisible(true);
  38 + timeTickNbMajorField.setVisible(false);
  39 + break;
  40 + case 'nb-major' :
  41 + timeTickStepField.setVisible(false);
  42 + timeTickNbMajorField.setVisible(true);
  43 + break;
  44 + case 'auto' :
  45 + default :
  46 + timeTickStepField.setVisible(false);
  47 + timeTickNbMajorField.setVisible(false);
  48 + }
47 49 }
48 50 }
49 51 },
... ...
js/app/views/PlotComponents/PlotColorAxisForm.js
... ... @@ -15,8 +15,49 @@ Ext.define(&#39;amdaPlotComp.PlotColorAxisForm&#39;, {
15 15 showTickGridOptions : false,
16 16  
17 17 getFormItems: function() {
18   - var timeItems = [
19   - this.addStandardCombo('axis-color-map', 'Color Map', amdaPlotObj.PlotObjectConfig.availableColorMaps),
  18 + var data = [];
  19 + amdaPlotObj.PlotObjectConfig.availableColorMaps.forEach(function(color){
  20 + data.push({key:color.key,name:color.value, iconUrl:'generic_data/colormaps/'+ color.svgFile})
  21 + });
  22 +
  23 + var combo = new Ext.form.ComboBox({
  24 + name: 'axis-color-map',
  25 + fieldLabel: 'Color Map',
  26 + store: new Ext.data.Store({
  27 + fields: ['key','name', 'iconUrl'],
  28 + data: data
  29 + }),
  30 + displayField: 'name',
  31 + valueField: 'key',
  32 + tpl: '<tpl for="."><div class="x-boundlist-item"><span data-qtip="{name}"> \
  33 + <img src="{iconUrl}" class="svg-icon" style="height: 26px;"> \
  34 + </span>\
  35 + </div></tpl>',
  36 + editable: false,
  37 + queryMode: 'local',
  38 + listeners: {
  39 + change: function (combo, newValue, oldValue, eOpts) {
  40 + var iconUrl="";
  41 + data.forEach(function(colorData){
  42 + if(colorData.key == newValue ){
  43 + iconUrl= colorData.iconUrl;
  44 + }
  45 + });
  46 + combo.inputEl.setStyle('background-image', 'url(' + iconUrl + ')');
  47 + combo.inputEl.setStyle('background-size', '100%');
  48 + combo.inputEl.setStyle('background-repeat', 'no-repeat');
  49 + combo.inputEl.setStyle('background-position', 'center');
  50 + combo.inputEl.setStyle('font-size', '0');
  51 +
  52 + this.object.set('axis-color-map', newValue);
  53 + },
  54 + scope:this
  55 + },
  56 + });
  57 +
  58 +
  59 +
  60 + var timeItems = [combo,
20 61 this.addColorsPicker('axis-color-minval', 'Min. Val. Color', amdaPlotObj.PlotObjectConfig.availableColorsNew, 'none'),
21 62 this.addColorsPicker('axis-color-maxval', 'Max. Val. Color', amdaPlotObj.PlotObjectConfig.availableColorsNew, 'none')
22 63 ];
... ...
js/app/views/PlotComponents/PlotElementPanel.js
... ... @@ -29,7 +29,7 @@ Ext.define(&#39;amdaPlotComp.PlotElementPanel&#39;, {
29 29 this.callParent();
30 30 },
31 31  
32   - setElement: function(type, object, tree) {
  32 + setElement: function(type, object, tree, parentObject) {
33 33 this.removeAll(false);
34 34  
35 35 this.crtTree = tree;
... ... @@ -40,11 +40,13 @@ Ext.define(&#39;amdaPlotComp.PlotElementPanel&#39;, {
40 40 elementForm.crtTree = tree;
41 41 if (elementForm.setObject)
42 42 elementForm.setObject(object);
  43 + if (elementForm.setParentObject)
  44 + elementForm.setParentObject(parentObject);
43 45 });
44 46 },
45 47  
46 48 resetElement: function() {
47   - this.setElement('',null,null);
  49 + this.setElement('',null,null, null);
48 50 },
49 51  
50 52 getElementForm: function(type, onFormReady) {
... ...
js/app/views/PlotComponents/PlotHistogram2DSerieForm.js 0 โ†’ 100644
... ... @@ -0,0 +1,112 @@
  1 +/**
  2 + * Project  : TMA-AMDA
  3 + * Name : PlotHistogram2DSerieForm.js
  4 + * @class amdaPlotComp.PlotHistogram2DSerieForm
  5 + * @extends amdaPlotComp.PlotBaseSerieForm
  6 + * @brief Form to define specifics histogram2d serie options
  7 + * @author Furkan Erdogan
  8 + * @version $Id: PlotHistogram2DSerieForm.js furkan $
  9 + */
  10 +
  11 +Ext.define('amdaPlotComp.PlotHistogram2DSerieForm', {
  12 + extend: 'amdaPlotComp.PlotBaseSerieForm',
  13 +
  14 + setObject: function (object) {
  15 + this.callParent(arguments);
  16 + this.updateOptions(this.object.get('histo2d-function'));
  17 + },
  18 +
  19 + setParentObject: function (parentObject) {
  20 + this.callParent(arguments);
  21 + this.updateAxesRanges();
  22 + },
  23 +
  24 + updateOptions: function(functionType) {
  25 + var isDensity = (functionType == 'density');
  26 +
  27 + var zParamField = this.getForm().findField('histotype-param');
  28 + zParamField.setVisible(!isDensity)
  29 + },
  30 +
  31 + updateAxesRanges: function() {
  32 + var xAxisObj = this.parentObject.axes().getById('xaxis_id');
  33 + var yAxisObj = this.parentObject.axes().getById('y-left');
  34 + this.getForm().findField('histo2d-xmin').setValue(xAxisObj.get('axis-range-min'));
  35 + this.getForm().findField('histo2d-xmax').setValue(xAxisObj.get('axis-range-max'));
  36 + this.getForm().findField('histo2d-ymin').setValue(yAxisObj.get('axis-range-min'));
  37 + this.getForm().findField('histo2d-ymax').setValue(yAxisObj.get('axis-range-max'));
  38 + },
  39 +
  40 + getRangeForms: function(){
  41 + var me = this;
  42 + return {
  43 + xtype: 'fieldset',
  44 + bodyStyle: { background: '#dfe8f6' },
  45 + title: 'X & Y ranges',
  46 + name: 'histo2d-ranges',
  47 + renderTo: Ext.getBody(),
  48 + fieldDefaults: {
  49 + labelAlign: 'right',
  50 + msgTarget: 'side',
  51 + labelWidth: 40,
  52 + },
  53 + defaults: {
  54 + xtype: 'panel',
  55 + bodyStyle: {background: '#dfe8f6'},
  56 + flex: 1,
  57 + border:false,
  58 + layout: 'anchor',
  59 + },
  60 + layout:'hbox',
  61 + frame: true,
  62 + //bodyPadding: '5 5 5 5',
  63 + items:
  64 + [{
  65 + items:[
  66 + me.addStandardFloat2('histo2d-xmin', 'X Min', -Number.MAX_VALUE, Number.MAX_VALUE, false, false, function(name, newValue, oldValue){
  67 + me.parentObject.axes().getById('xaxis_id').set('axis-range-min', newValue);
  68 + }),
  69 + me.addStandardFloat2('histo2d-xmax', 'X Max', -Number.MAX_VALUE, Number.MAX_VALUE, false, false, function(name, newValue, oldValue){
  70 + me.parentObject.axes().getById('xaxis_id').set('axis-range-max', newValue);
  71 + }),
  72 + ]
  73 + },
  74 + {
  75 + items:[
  76 + me.addStandardFloat2('histo2d-ymin', 'Y Min', -Number.MAX_VALUE, Number.MAX_VALUE, false, false, function(name, newValue, oldValue){
  77 + me.parentObject.axes().getById('y-left').set('axis-range-min', newValue);
  78 + }),
  79 + me.addStandardFloat2('histo2d-ymax', 'Y Max', -Number.MAX_VALUE, Number.MAX_VALUE, false, false, function(name, newValue, oldValue){
  80 + me.parentObject.axes().getById('y-left').set('axis-range-max', newValue);
  81 + }),
  82 + ],
  83 + }]
  84 + };
  85 +
  86 + },
  87 + getFormItems: function() {
  88 + var me = this;
  89 +
  90 + var histogram2DItems = [
  91 + this.addStandardParamDropTarget('serie-xaxis-param', 'X Parameter', function(name, value, oldValue) {
  92 + me.object.set('serie-xaxis-param', value);
  93 + me.crtTree.refresh();
  94 + }),
  95 + me.getRangeForms(),
  96 + this.addStandardCombo('serie-resampling-mode', 'Reference parameter for resampling', amdaPlotObj.PlotObjectConfig.availableResamplingModes),
  97 + this.addStandardCombo('histo2d-function', 'Function to apply', amdaPlotObj.PlotObjectConfig.availableHistogram2DFunctions, function(name, value, oldValue) {
  98 + me.object.set('histo2d-function', value);
  99 + me.updateOptions(value);
  100 + }),
  101 + this.addStandardParamDropTarget('histotype-param', 'Z Parameter', function(name, value, oldValue) {
  102 + me.object.set('histotype-param', value);
  103 + me.crtTree.refresh();
  104 + }),
  105 + this.addStandardInteger('histo2d-xbinnumber', 'X - Nb. of bins'),
  106 + this.addStandardInteger('histo2d-ybinnumber', 'Y - Nb. of bins'),
  107 + this.addStandardInteger('histo2d-smoothfactor', 'Smooth factor')
  108 +
  109 + ];
  110 + return histogram2DItems;
  111 + }
  112 +});
... ...
js/app/views/PlotComponents/PlotParamForm.js
... ... @@ -14,6 +14,7 @@ Ext.define(&#39;amdaPlotComp.PlotParamForm&#39;, {
14 14 requires: [
15 15 'amdaPlotComp.PlotSerieForm',
16 16 'amdaPlotComp.PlotOrbitSerieForm',
  17 + 'amdaPlotComp.PlotHistogram2DSerieForm',
17 18 'amdaPlotComp.PlotSpectroForm',
18 19 'amdaPlotComp.PlotSauvaudForm',
19 20 'amdaPlotComp.PlotStatusBarForm',
... ... @@ -63,6 +64,9 @@ Ext.define(&#39;amdaPlotComp.PlotParamForm&#39;, {
63 64 case 'orbit-serie':
64 65 this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotOrbitSerieForm({ id: formId }));
65 66 break;
  67 + case 'histogram2d':
  68 + this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotHistogram2DSerieForm({ id: formId }));
  69 + break;
66 70 case 'sauvaud':
67 71 if(this.object.get('type') !=2){
68 72 myDesktopApp.warningMsg('Sauvaud Plot requires <b>2D Parameter</b> ');
... ... @@ -114,6 +118,8 @@ Ext.define(&#39;amdaPlotComp.PlotParamForm&#39;, {
114 118 drawingOptionsForm.crtTree = this.crtTree;
115 119 if (drawingOptionsForm.setObject)
116 120 drawingOptionsForm.setObject(this.object);
  121 + if (drawingOptionsForm.setParentObject)
  122 + drawingOptionsForm.setParentObject(this.parentObject);
117 123 if (this.paramArgs && paramId)
118 124 this.paramArgs.editParameter(this.object, this, function (uiScope) {
119 125 uiScope.crtTree.refresh();
... ...
js/app/views/PlotComponents/PlotPreviewUI.js
... ... @@ -187,57 +187,67 @@ Ext.define(&#39;amdaPlotComp.PlotPreviewUI&#39;, {
187 187 }
188 188 }
189 189 });
190   - var topToolbar =
191   - {
192   - xtype: 'toolbar',
193   - dock: 'top',
194   - items: [{
195   - xtype: 'datefield',
196   - allowBlank: true,
197   - format: 'Y-m-d\\TH:i:s.u',
198   - id: 'plotPreview-goto-Date' + this.interactiveId,
199   - value: this.time,
200   - width: 175,
201   - renderer: function (value) {
202   - if (value != null) {
203   - if (Ext.isDate(value)) {
204   - return Ext.Date.format(value, 'Y-m-d\\TH:i:s.u');
  190 +
  191 + var childrenOfTopToolBar = [];
  192 +
  193 + if (!me.isPlotFunction) {
  194 + childrenOfTopToolBar = [
  195 + {
  196 + xtype: 'datefield',
  197 + allowBlank: true,
  198 + format: 'Y-m-d\\TH:i:s.u',
  199 + id: 'plotPreview-goto-Date' + this.interactiveId,
  200 + value: this.time,
  201 + width: 175,
  202 + renderer: function (value) {
  203 + if (value != null) {
  204 + if (Ext.isDate(value)) {
  205 + return Ext.Date.format(value, 'Y-m-d\\TH:i:s.u');
  206 + } else {
  207 + return Ext.Date.format(new Date(value), 'Y-m-d\\TH:i:s.u');
  208 + }
205 209 } else {
206   - return Ext.Date.format(new Date(value), 'Y-m-d\\TH:i:s.u');
  210 + return value;
207 211 }
208   - } else {
209   - return value;
210 212 }
211   - }
212   -
213   - }, '-',
214   - {
215   - text: 'Change cut time',
216   - scope: this,
217   - handler: function (bt) {
218   - var newTime = Ext.getCmp('plotPreview-goto-Date' + me.interactiveId).getValue();
219   - newTime = Ext.Date.add(newTime, Ext.Date.MINUTE, -newTime.getTimezoneOffset());
220   - me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString() });
221   - }
222   - },
  213 +
  214 + }, '-',
  215 + {
  216 + text: 'Change cut time',
  217 + scope: this,
  218 + handler: function (bt) {
  219 + var newTime = Ext.getCmp('plotPreview-goto-Date' + me.interactiveId).getValue();
  220 + newTime = Ext.Date.add(newTime, Ext.Date.MINUTE, -newTime.getTimezoneOffset());
  221 + me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString() });
  222 + }
  223 + },
223 224 '-',
224   - {
225   - xtype: 'button',
226   - text: 'Previous',
227   - handler: function () {
228   - var newTime = new Date(amdaPlotComp.PlotContextManager.getInstantTimePrev(me.crtContext) * 1000);
229   - me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString() });
230   - }
231   - },
232   - {
233   - xtype: 'button',
234   - text: 'Next',
235   - handler: function () {
236   - var newTime = new Date(amdaPlotComp.PlotContextManager.getInstantTimeNext(me.crtContext) * 1000);
237   - me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString() });
  225 + {
  226 + xtype: 'button',
  227 + text: 'Previous',
  228 + handler: function () {
  229 + var newTime = new Date(amdaPlotComp.PlotContextManager.getInstantTimePrev(me.crtContext) * 1000);
  230 + me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString() });
  231 + }
  232 + },
  233 + {
  234 + xtype: 'button',
  235 + text: 'Next',
  236 + handler: function () {
  237 + var newTime = new Date(amdaPlotComp.PlotContextManager.getInstantTimeNext(me.crtContext) * 1000);
  238 + me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString() });
  239 + }
238 240 }
239   - }
240   - ]
  241 + ];
  242 + };
  243 +
  244 + childrenOfTopToolBar.push(me.createDownloadButton(configResult));
  245 +
  246 + var topToolbar =
  247 + {
  248 + xtype: 'toolbar',
  249 + dock: 'top',
  250 + items: childrenOfTopToolBar
241 251 }
242 252 var mouseToolbar = {
243 253 xtype: 'toolbar',
... ... @@ -290,9 +300,23 @@ Ext.define(&#39;amdaPlotComp.PlotPreviewUI&#39;, {
290 300 items: [
291 301 this.createPlotImage(configResult.folder, configResult.plotFile)
292 302 ],
293   - dockedItems: me.isPlotFunction ? [mouseToolbar] : [topToolbar, mouseToolbar]
  303 + dockedItems:[topToolbar, mouseToolbar]
294 304 };
295 305  
296 306 Ext.apply(this, plotPreviewPanelConfig);
  307 + },
  308 +
  309 +
  310 + createDownloadButton: function (configResult) {
  311 + const me = this;
  312 + return {
  313 + xtype: 'button',
  314 + text: 'Download Data',
  315 + handler: function () {
  316 + var path = me.getImageUrl(configResult.folder, configResult.plotFile.replace(".png", ""));
  317 + path += "_data.txt";
  318 + window.open(path, "_blank");
  319 + }
  320 + };
297 321 }
298 322 });
... ...
js/app/views/PlotComponents/PlotStandardForm.js
... ... @@ -20,6 +20,8 @@ Ext.define(&#39;amdaPlotComp.PlotStandardForm&#39;, {
20 20 //Object associated to this form
21 21 object: null,
22 22  
  23 + parentObject: null,
  24 +
23 25 //Link to the tree
24 26 crtTree: null,
25 27 desableTickNumber: true,
... ... @@ -35,6 +37,10 @@ Ext.define(&#39;amdaPlotComp.PlotStandardForm&#39;, {
35 37 this.loadRecord(this.object);
36 38 },
37 39  
  40 + setParentObject: function (parentObject) {
  41 + this.parentObject = parentObject;
  42 + },
  43 +
38 44 //To override to add form components
39 45 getFormItems: function () {
40 46 return [];
... ... @@ -109,7 +115,7 @@ Ext.define(&#39;amdaPlotComp.PlotStandardForm&#39;, {
109 115 },
110 116  
111 117 addStandardFloat2: function (name, label, min, max, allowBlank, hidden, onChange) {
112   - allowBlank = (typeof allowBlank !== 'undefined') ? allowBlank : false;
  118 + allowBlank = (typeof allowBlank !== 'undefined' || allowBlank == null) ? allowBlank : false;
113 119  
114 120 return {
115 121 xtype: 'textfield',
... ... @@ -122,10 +128,10 @@ Ext.define(&#39;amdaPlotComp.PlotStandardForm&#39;, {
122 128 if (!allowBlank && Ext.isEmpty(val)) {
123 129 errMsg = 'Blank value not allowed';
124 130 }
125   - else if ((typeof min !== 'undefined') && (parseFloat(val) < min)) {
  131 + else if ((typeof min !== 'undefined' && min !== null) && (parseFloat(val) < min)) {
126 132 errMsg = 'Min. allowed value is ' + min;
127 133 }
128   - else if ((typeof max !== 'undefined') && (parseFloat(val) > max)) {
  134 + else if ((typeof max !== 'undefined' && max !== null) && (parseFloat(val) > max)) {
129 135 errMsg = 'Max. allowed value is ' + max;
130 136 }
131 137  
... ...
js/app/views/PlotComponents/PlotTabPanel.js
... ... @@ -271,7 +271,10 @@ Ext.define(&#39;amdaPlotComp.PlotTabPanel&#39;, {
271 271 if (newTree.plotElementPanel != null) {
272 272 var selectedNode = newTree.getSelectedNode();
273 273 if (selectedNode != null) {
274   - newTree.plotElementPanel.setElement(selectedNode.type, selectedNode.object, newTree);
  274 + var parentObject = null;
  275 + if (selectedNode.parentNode != null)
  276 + parentObject = selectedNode.parentNode.object;
  277 + newTree.plotElementPanel.setElement(selectedNode.type, selectedNode.object, newTree, parentObject);
275 278 }
276 279 }
277 280 }
... ...
js/app/views/PlotComponents/PlotTree.js
... ... @@ -430,8 +430,12 @@ Ext.define(&#39;amdaPlotComp.PlotTree&#39;, {
430 430 onNodeSelect: function(tree, record, index, eOpts) {
431 431 if (index == -1)
432 432 return;
433   - if (this.plotElementPanel != null)
434   - this.plotElementPanel.setElement(record.type, record.object, this);
  433 + if (this.plotElementPanel != null) {
  434 + var parentObject = null;
  435 + if (record.parentNode != null)
  436 + parentObject = record.parentNode.object;
  437 + this.plotElementPanel.setElement(record.type, record.object, this, parentObject);
  438 + }
435 439 },
436 440  
437 441 onNodeDeselect: function(tree, record, index, eOpts) {
... ...
js/app/views/PlotComponents/PlotZoomPlug.js
... ... @@ -30,7 +30,6 @@ Ext.define(&#39;amdaPlotComp.PlotZoomPlug&#39;, {
30 30 zoomType: '',
31 31 interactiveId: '',
32 32 panelId: -1,
33   - path_context_file: "",
34 33  
35 34 linkedTTCatNode: null,
36 35 /**
... ... @@ -132,7 +131,7 @@ Ext.define(&#39;amdaPlotComp.PlotZoomPlug&#39;, {
132 131 */
133 132 show: function (interactiveId, zoomType, panelId, isPlotFunction_ = false) {
134 133 this.isPlotFunction = isPlotFunction_;
135   - if (!this.win) {
  134 + if (this.win) { this.close() };
136 135 this.win = new Ext.Window({
137 136 id: 'plot-zoom-win-' + this.hostCmp.ownerCt.getId(), // Plot window ID
138 137 width: 250,
... ... @@ -164,7 +163,7 @@ Ext.define(&#39;amdaPlotComp.PlotZoomPlug&#39;, {
164 163 this.win.on('destroy', this.onDestroy, this);
165 164  
166 165 Ext.PluginManager.register(this);
167   - }
  166 +
168 167 this.interactiveId = interactiveId;
169 168 this.updateWinByType(zoomType, panelId);
170 169 this.win.show();
... ... @@ -187,7 +186,7 @@ Ext.define(&#39;amdaPlotComp.PlotZoomPlug&#39;, {
187 186 switch (zoomType) {
188 187 case 'timeAxis':
189 188 if (this.isPlotFunction) {
190   - const title = "Apply a Function on Interval";
  189 + const title = "Apply a Fct on Interval";
191 190 this.win.setTitle(title + '-Panel Id: ' + panelId);
192 191 } else {
193 192 this.win.setTitle('Zoom on time axis & Interval selection - Panel Id : ' + panelId);
... ... @@ -438,8 +437,8 @@ Ext.define(&#39;amdaPlotComp.PlotZoomPlug&#39;, {
438 437 ],
439 438 fbar: [
440 439 {
441   - text: me.isPlotFunction ? "Apply" : 'Apply Zoom',
442   - width: 100,
  440 + text: me.isPlotFunction ? "Apply The Function" : 'Apply Zoom',
  441 + width: me.isPlotFunction ? 200 : 100,
443 442 scope: this,
444 443 handler: function () {
445 444 if (this.zoomType == 'timeAxis') {
... ... @@ -461,6 +460,13 @@ Ext.define(&#39;amdaPlotComp.PlotZoomPlug&#39;, {
461 460 const stop_time = this.form.getForm().findField('zoom-max-time').getValue();
462 461  
463 462 let request_to_send = {};
  463 +
  464 + if (!me.plotFunctionType || !me.plotFunctionType.parent) {
  465 + console.log("The component of Function Type is undefined");
  466 + myDesktopApp.warningMsg('Error, please tryto reopen the plot function window');
  467 + me.win.close();
  468 + return;
  469 + }
464 470 request_to_send = Object.assign({}, me.plotFunctionType.getValues()/*, me.plotFunctionParamField.getValues()*/);
465 471 request_to_send = Object.assign({}, request_to_send, {
466 472 'action': 'plotFunction',
... ... @@ -470,22 +476,7 @@ Ext.define(&#39;amdaPlotComp.PlotZoomPlug&#39;, {
470 476 'stoptime': stop_time
471 477 });
472 478  
473   - // const parent = this;
474   - this.hostCmp.callInteractivePlot(request_to_send);/*, function () {
475   - Ext.Ajax.request({
476   - url: parent.path_context_file,
477   - success: function (response, options) {
478   - var xmlDoc = response.responseXML;
479   - const wind = new amdaPlotComp.plotFunction.CreatePlot({
480   - xmlDoc: xmlDoc, plotFunctionType: me.plotFunctionType,
481   - plotFunctionParamField: me.plotFunctionParamField
482   - });
483   - wind.show();
484   - wind.plot();
485   - }
486   - });
487   - });*/
488   -
  479 + this.hostCmp.callInteractivePlot(request_to_send);
489 480 } else {
490 481 this.hostCmp.callInteractivePlot({
491 482 'action': 'zoom',
... ... @@ -500,6 +491,7 @@ Ext.define(&#39;amdaPlotComp.PlotZoomPlug&#39;, {
500 491 this.hostCmp.panelImage.resetZoom();
501 492 }
502 493 },
  494 + me.isPlotFunction ? null :
503 495 {
504 496 text: 'Undo Zoom',
505 497 width: 100,
... ...
js/app/views/PlotTabResultUI.js
... ... @@ -80,7 +80,6 @@ Ext.define(&#39;amdaUI.PlotTabResultUI&#39;, {
80 80 var size = this.getImageSize();
81 81 // We need a list of parameters to compute the number of points needed to apply FFT
82 82 this.listParams = panelContext["parameters"];
83   - zoomPlugin.path_context_file = 'data/' + sessionID + '/RES/' + this.configResult.folder + '/' + "plotFunction0_context.xml";
84 83 zoomPlugin.setParameters(this.listParams);
85 84  
86 85  
... ... @@ -323,9 +322,9 @@ Ext.define(&#39;amdaUI.PlotTabResultUI&#39;, {
323 322 var sourceYPos = me.toPixelOnSourceImage(imageY);
324 323 var panel = amdaPlotComp.PlotContextManager.getPanel(me.crtContext, sourceXPos, sourceYPos);
325 324 var timeAxisContext = amdaPlotComp.PlotContextManager.getPanelAxisById(panel, 'timeAxis');
326   - if (timeAxisContext == null)
327   - return;
328   - var crtTimestamp = amdaPlotComp.PlotContextManager.toAxisValue(timeAxisContext, panel.plotArea.x, panel.plotArea.x + panel.plotArea.width, sourceXPos);
  325 + var crtTimestamp = null;
  326 + if (timeAxisContext != null)
  327 + crtTimestamp = amdaPlotComp.PlotContextManager.toAxisValue(timeAxisContext, panel.plotArea.x, panel.plotArea.x + panel.plotArea.width, sourceXPos);
329 328  
330 329 if (panel != null) {
331 330 if (panel.plotArea.hasSpectro) {
... ... @@ -391,7 +390,7 @@ Ext.define(&#39;amdaUI.PlotTabResultUI&#39;, {
391 390 }
392 391 ]);
393 392  
394   - if (amdaPlotComp.PlotContextManager.isInterval(me.crtContext, panel, crtTimestamp)) {
  393 + if (timeAxisContext && amdaPlotComp.PlotContextManager.isInterval(me.crtContext, panel, crtTimestamp)) {
395 394 var allintervalParams = amdaPlotComp.PlotContextManager.getAllIntervalParams(me.crtContext, panel, crtTimestamp);
396 395 if (allintervalParams.length > 0) {
397 396  
... ...
php/WebServices/WebServer.php
... ... @@ -623,6 +623,33 @@ class WebServer
623 623  
624 624 $this->throwError("serverError", $res['message']);
625 625 }
  626 +
  627 +/*
  628 +* get EPN-TAP granule
  629 +*/
  630 + public function getGranule($data)
  631 + {
  632 + if (!array_key_exists('obs_id', $data) || !array_key_exists('start', $data) || !array_key_exists('stop', $data)) {
  633 + $this->throwError("serverError", "Missing obs_id, start or stop definition");
  634 + }
  635 + $data['datasetID'] = $data['obs_id'];
  636 + $data['startTime'] = $data['start'];
  637 + $data['stopTime'] = $data['stop'];
  638 + $data['outputFormat'] = "CDF_ISTP";
  639 + if (array_key_exists('format', $data)) {
  640 + $data['outputFormat'] = $data["format"];
  641 + }
  642 + $res = $this->getDataset($data);
  643 + if (!$res['success']) {
  644 + return $res;
  645 + }
  646 + if (array_key_exists('dataFileURLs', $res)) {
  647 + $data = file_get_contents($res['dataFileURLs']);
  648 + header("Location: ".$res['dataFileURLs']);
  649 + die();
  650 + }
  651 + $this->throwError("serverError", "Unknown error");
  652 + }
626 653  
627 654 /*
628 655 * get status for jobs in batch
... ...
php/classes/AmdaAction.php
... ... @@ -362,6 +362,11 @@ class AmdaAction
362 362 }
363 363 $disable = TRUE;
364 364  
  365 + $hideIfRestricted = FALSE;
  366 + if ($child->hasAttribute("hideIfRestricted") && ($child->getAttribute("hideIfRestricted") == "1")) {
  367 + $hideIfRestricted = TRUE;
  368 + }
  369 +
365 370 if ($child->hasAttribute('group')) {
366 371 if ($child->getAttribute("group") === "TBD") {
367 372 $info .= "<br/><b>Under Testing</b>";
... ... @@ -382,9 +387,10 @@ class AmdaAction
382 387 if ($child->hasAttribute('restriction') && $child->getAttribute('restriction') == 'plotOnly')
383 388 $info .= "<br/><b>Plot Only!!!</b>";
384 389 }
  390 + $visible = !($disable && $hideIfRestricted);
385 391  
386 392 $childrenToReturn[] = array('text' => $name, 'id' => $id,'nodeType' => $nodeType, 'info' => $info, 'last_update' => $last_update,
387   - 'leaf' => false, 'help' => $help, 'disable' => $disable, 'rank' => $rank, 'timeRestriction' => $timeRestriction);
  393 + 'leaf' => false, 'help' => $help, 'disable' => $disable, 'visible' => $visible, 'rank' => $rank, 'timeRestriction' => $timeRestriction);
388 394 }
389 395 break;
390 396  
... ...
php/config.php
... ... @@ -120,6 +120,9 @@ define(&#39;XMLPATH&#39;, IHM_SRC_DIR.&#39;/php/XML/&#39;);
120 120 define('HAPIData', DATAPATH.'/HAPI/');
121 121 define('HAPISERVER_PATH', '/opt/tools/hapi-server/');
122 122  
  123 +// EPNTAP dirs
  124 +define('EPNTAPData', DATAPATH.'/EPN-TAP/');
  125 +
123 126 require_once(INTEGRATION_BASE_PATH.'/src/amdaintegration_autoload.php');
124 127  
125 128  
... ...
php/getEnv.php
... ... @@ -26,6 +26,8 @@ $variables = array(
26 26 'RemoteData',
27 27 'HAPIData',
28 28 'HAPISERVER_PATH',
  29 + 'EPNTAPData',
  30 + 'REST_API_URL',
29 31 );
30 32  
31 33 foreach ($variables as $variable) {
... ...
php/rest/getGranule.php 0 โ†’ 100644
... ... @@ -0,0 +1,44 @@
  1 +<?php
  2 +
  3 +/**
  4 + * @api {get} getDataset.php getDataset
  5 + * @apiDescription Provides data corresponding to a dataset chosen by the user among those available in AMDA
  6 + * @apiName getDataset
  7 + * @apiGroup webservices
  8 + *
  9 + * @apiParam {String} token The API token.
  10 + * @apiParam {String} startTime Beginning of the time interval (ISO 8601 or UNIXTIME format).
  11 + * @apiParam {String} stopTime End of the time interval (ISO 8601 or UNIXTIME format).
  12 + * @apiParam {String} datasetID Identifier of the dataset, as defined in the file returned by the *getObsDataTree* web-services.
  13 + * @apiParam {String} [sampling] Sampling of data (*in seconds*).
  14 + * @apiParam {String} [userID] Identifier of the user in AMDA (*mandatory for user owned data*)
  15 + * @apiParam {String} [password] Password of the user in AMDA (*mandatory for user owned data*)
  16 + * @apiParam {String} [outputFormat] Format of the returned file. Two options: `VOTable` and `ASCII`.
  17 + * @apiParam {String} [timeFormat] Format of time in the data files. Two options: `ISO8601` and `UNIXTIME`.
  18 + * @apiParam {Boolean} [gzip] `1` if the file must be compressed before delivery.
  19 + *
  20 + * @apiSuccess {String} success `true`
  21 + * @apiSuccess {String} dataFileURLs URL of the files matching the criteria. If the file is empty, there is no data
  22 + * matching these criteria.
  23 + * @apiSuccess {String} status status of the job ( done | in_progress )
  24 + *
  25 + * @apiSuccessExample Success-Response:
  26 + * HTTP/1.1 200 OK
  27 + * [success] => 1
  28 + * http://amda.irap.omp.eu/AMDA/data/WSRESULT/getdataset_ace-imf-all_20130923T090000_20130924T130000.txt
  29 + * [status] => done
  30 + *
  31 + * @apiErrorExample Error-Response:
  32 + * {"error":"Cannot find info file for dataset ace-imf-any"}
  33 +
  34 + */
  35 +
  36 +//ini_set("allow_url_fopen", true);
  37 + require_once '../config.php';
  38 +
  39 + $amda_ws = new WebServer();
  40 +
  41 + $result = $amda_ws->getGranule($_GET);
  42 +
  43 + echo json_encode($result);
  44 +?>
... ...
update_amda/amda_make_epntap 0 โ†’ 100755
... ... @@ -0,0 +1,7 @@
  1 +#! /bin/bash
  2 +
  3 +SCRIPT=$(readlink -f "$0")
  4 +export UPDATEDIR=$(dirname "$SCRIPT")
  5 +. $UPDATEDIR/updateEnv.sh
  6 +
  7 +php makeEPNTAPGranules.php
... ...
update_amda/makeEPNTAPGranules.php 0 โ†’ 100644
... ... @@ -0,0 +1,445 @@
  1 +<?php
  2 +
  3 +//error_reporting(E_ERROR);
  4 +
  5 +date_default_timezone_set("UTC");
  6 +
  7 +$localparams_tree = getenv('LocalData')."/LocalParams.xml";
  8 +$output_file = getenv('EPNTAPData')."/amda-granules.csv";
  9 +$ddservice_wsdl = getenv('DD_WSDL');
  10 +$amda_rest_api = getenv('REST_API_URL');
  11 +
  12 +$mapping = array(
  13 + 'granule_uid' => '@@dataset_id@@-@@granule_index@@',
  14 + 'granule_gid' => 'data',
  15 + 'obs_id' => '@@dataset_id@@',
  16 + 'dataproduct_type' => 'ts',
  17 + 'target_name' => '@@target_name@@',
  18 + 'target_class' => '@@target_class@@',
  19 + 'time_min' => '@@granule_start_time@@',
  20 + 'time_max' => '@@granule_stop_time@@',
  21 + 'time_sampling_step_min' => '@@min_sampling@@',
  22 + 'time_sampling_step_max' => '@@max_sampling@@',
  23 + 'time_exp_min' => '',
  24 + 'time_exp_max' => '',
  25 + 'spectral_range_min' => '',
  26 + 'spectral_range_max' => '',
  27 + 'spectral_sampling_step_min' => '',
  28 + 'spectral_sampling_step_max' => '',
  29 + 'spectral_resolution_min' => '',
  30 + 'spectral_resolution_max' => '',
  31 + 'c1min' => '',
  32 + 'c1max' => '',
  33 + 'c2min' => '',
  34 + 'c2max' => '',
  35 + 'c3min' => '',
  36 + 'c3max' => '',
  37 + 's_region' => '',
  38 + 'c1_resol_min' => '',
  39 + 'c1_resol_max' => '',
  40 + 'c2_resol_min' => '',
  41 + 'c2_resol_max' => '',
  42 + 'c3_resol_min' => '',
  43 + 'c3_resol_max' => '',
  44 + 'spatial_frame_type' => '',
  45 + 'incidence_min' => '',
  46 + 'incidence_max' => '',
  47 + 'emergence_min' => '',
  48 + 'emergence_max' => '',
  49 + 'phase_min' => '',
  50 + 'phase_max' => '',
  51 + 'instrument_host_name' => '@@mission_name@@',
  52 + 'instrument_name' => '@@instrument_name@@',
  53 + 'measurement_type' => '@@measurement_type@@',
  54 + 'processing_level' => '@@processing_level@@',
  55 + 'creation_date' => '@@creation_date@@',
  56 + 'modification_date' => '@@modification_date@@',
  57 + 'release_date' => '@@release_date@@',
  58 + 'service_title' => 'AMDADB',
  59 + 'access_url' => '@@amda_rest_api_entry_point@@getGranule.php?obs_id=@@dataset_id@@&start=@@granule_start_time_timestamp@@&stop=@@granule_stop_time_timestamp@@',
  60 + 'access_format' => 'application/x-cdf-istp',
  61 + 'target_region' => '@@target_region@@',
  62 + 'publisher' => 'CDPP',
  63 + 'time_scale' => 'UTC',
  64 + 'spase_resource_id' => '@@spase_resource_id@@',
  65 + 'spase_region' => '@@spase_region@@',
  66 + 'spase_measurement_type' => '@@spase_measurement_type@@',
  67 +);
  68 +
  69 +function parseSampling($sampling) {
  70 + if (empty($sampling))
  71 + return "";
  72 + $unit = substr($sampling, -1);
  73 + $value = floatval(substr($sampling, 0, -1));
  74 + switch ($unit) {
  75 + case "S":
  76 + return strval($value);
  77 + case "M":
  78 + return strval(60.*$value);
  79 + case "H":
  80 + return strval(3600.*$value);
  81 + case "D":
  82 + return strval(86400.*$value);
  83 + default:
  84 + echo "[WARNING] Sampling - Unknown unit: ".$sampling.PHP_EOL;
  85 + return $sampling;
  86 + }
  87 +}
  88 +
  89 +function parseProcessingLevel($info) {
  90 + if (strpos($info, 'L1') !== FALSE) {
  91 + return '2';
  92 + }
  93 + if (strpos($info, 'L3') !== FALSE) {
  94 + return '5';
  95 + }
  96 + return '3';
  97 +}
  98 +
  99 +function getEpnTapMeasurementType($measurement_type, $UCDs) {
  100 + $generic_ucd = '';
  101 + switch ($measurement_type) {
  102 + case 'ThermalPlasma':
  103 + $generic_ucd = 'phys.flux';
  104 + break;
  105 + case 'IonComposition':
  106 + case 'NeutralGas':
  107 + $generic_ucd = 'phys.composition';
  108 + break;
  109 + case 'EnergeticParticles':
  110 + $generic_ucd = 'phys.particle';
  111 + break;
  112 + case 'Waves':
  113 + case 'Waves.Passive':
  114 + $generic_ucd = 'em.pw';
  115 + break;
  116 + case 'Ephemeris':
  117 + $generic_ucd = 'pos.ephem';
  118 + break;
  119 + case 'ElectricField':
  120 + $generic_ucd = 'phys.electField';
  121 + break;
  122 + case 'MagneticField':
  123 + $generic_ucd = 'phys.magField';
  124 + break;
  125 + case 'Spectrum':
  126 + $generic_ucd = 'spect';
  127 + break;
  128 + case 'InstrumentStatus':
  129 + $generic_ucd = 'instr';
  130 + break;
  131 + case 'Irradiance':
  132 + $generic_ucd = 'phot.flux';
  133 + break;
  134 + case 'Radiance':
  135 + $generic_ucd = 'phot.radiance';
  136 + break;
  137 + default:
  138 + echo "[WARNING] UCD - Unknown measurement type: ".$measurement_type.PHP_EOL;
  139 + break;
  140 + }
  141 + if (!empty($generic_ucd) && !in_array($generic_ucd, $UCDs))
  142 + array_unshift($UCDs, $generic_ucd);
  143 + return implode(';', $UCDs);
  144 +}
  145 +
  146 +function timestampToJulianDay($timestamp) {
  147 + return intval($timestamp) / 86400 + 2440587.5;
  148 +}
  149 +
  150 +function timestampToISO($timestamp) {
  151 + return date("Y-m-d\TH:i:s\Z", $timestamp);
  152 +}
  153 +
  154 +function getTargetClass($spaseRegion) {
  155 + $parts = explode(".", $spaseRegion);
  156 + if (count($parts) < 1) {
  157 + echo "[WARNING] Error in ObservatoryRegion definition : ".$spaseRegion.PHP_EOL;
  158 + return "planet";
  159 + }
  160 + switch ($parts[0]) {
  161 + case "Asteroid":
  162 + return "asteroid";
  163 + case "Comet":
  164 + return "comet";
  165 + case "Earth":
  166 + case "Jupiter":
  167 + case "Mars":
  168 + case "Mercury":
  169 + case "Neptune":
  170 + case "Pluto":
  171 + case "Saturn":
  172 + case "Uranus":
  173 + case "Venus":
  174 + if ((count($parts) > 1) && !in_array($parts[1], array("Magnetosheath", "Magnetosphere", "NearSurface", "Surface"))) {
  175 + return "satellite";
  176 + }
  177 + return "planet";
  178 + case "Heliosphere":
  179 + case "Interstellar":
  180 + return "interplanetary_medium";
  181 + case "Sun":
  182 + return "star";
  183 + }
  184 + echo "[WARNING] Error in ObservatoryRegion definition : ".$spaseRegion.PHP_EOL;
  185 + return "planet";
  186 +}
  187 +
  188 +function getTargetName($targetClass, $spaseRegion, $missionName, $dataset_id) {
  189 + $parts = explode(".", $spaseRegion);
  190 + if (count($parts) < 1) {
  191 + return "";
  192 + }
  193 + switch ($targetClass) {
  194 + case "planet":
  195 + case "satellite":
  196 + if ((count($parts) > 1) && !in_array($parts[1], array("Magnetosheath", "Magnetosphere", "NearSurface", "Surface"))) {
  197 + return $parts[1];
  198 + }
  199 + return $parts[0];
  200 + case "star":
  201 + case "interplanetary_medium":
  202 + return "Sun";
  203 + case "comet":
  204 + switch ($missionName) {
  205 + case "Rosetta":
  206 + return "67P";
  207 + case "Giotto":
  208 + return "1P";
  209 + case "Astronomical Objects Ephemerides":
  210 + if ($dataset_id == "p67-orb-all")
  211 + return "67P";
  212 + break;
  213 + case "ICE":
  214 + if ($dataset_id == "ice-mag-p21")
  215 + return "21P";
  216 + }
  217 + echo "[WARNING] Comet Id not defined for mission : ".$missionName.PHP_EOL;
  218 + return "";
  219 + }
  220 + echo "[WARNING] Cannot retrieve target name from target class : ".$targetClass.PHP_EOL;
  221 + return "";
  222 +}
  223 +
  224 +function getTargetRegion($targetClass, $spaseRegion) {
  225 + $parts = explode(".", $spaseRegion);
  226 + if (count($parts) < 1) {
  227 + return "";
  228 + }
  229 + switch ($targetClass) {
  230 + case "planet":
  231 + if (count($parts) > 1) {
  232 + switch ($parts[1]) {
  233 + case "Magnetosheath":
  234 + case "Magnetosphere":
  235 + return "planetary-magnetosphere";
  236 + case "NearSurface":
  237 + if (count($parts) > 2) {
  238 + switch ($parts[2]) {
  239 + case "Atmosphere":
  240 + return "planetary-atmospheres";
  241 + case "Ionosphere":
  242 + return "planetary-ionospheres";
  243 + }
  244 + }
  245 + return "planetary-atmospheres";
  246 + case "Surface":
  247 + return "planetary-surfaces";
  248 + }
  249 + }
  250 + break;
  251 + case "star":
  252 + case "interplanetary_medium":
  253 + return "solar-wind";
  254 + }
  255 + return "";
  256 +}
  257 +
  258 +ini_set("soap.wsdl_cache_enabled", 0);
  259 +try {
  260 + $client = new SoapClient($ddservice_wsdl, array('trace' => 1));
  261 +}
  262 +catch (SoapFault $exception) {
  263 + echo "[ERROR] Cannot retrieve DDService - ".$ddservice_wsdl.PHP_EOL;
  264 + return;
  265 +}
  266 +
  267 +$amda_place_holders = array(
  268 + 'amda_rest_api_entry_point' => $amda_rest_api,
  269 +);
  270 +
  271 +$doc = new DOMDocument();
  272 +@$doc->load($localparams_tree);
  273 +
  274 +$xpath = new DOMXpath($doc);
  275 +
  276 +$output_file_handle = fopen($output_file, 'w');
  277 +fputcsv($output_file_handle, array_keys($mapping));
  278 +
  279 +$dataset_nodes = $xpath->query("/dataRoot/dataCenter/mission/instrument/dataset | /dataRoot/dataCenter/mission/observatory/instrument/dataset | /dataRoot/dataCenter/mission/instrument/datasetGroup/dataset");
  280 +$datasets = array();
  281 +foreach ($dataset_nodes as $dataset_node) {
  282 + $dataset_place_holders = array();
  283 + //Dataset id
  284 + $datasetId = $dataset_node->getAttribute("xml:id");
  285 + //if ($datasetId != 'psp-het-1hr')
  286 + // continue;
  287 + if (empty($datasetId)) {
  288 + echo "[WARNING] Cannot retrieve dataset id".PHP_EOL;
  289 + continue;
  290 + }
  291 + $dataset_place_holders['dataset_id'] = $datasetId;
  292 +
  293 + //Exclude dataset with group
  294 + $to_exclude = FALSE;
  295 + $crt_node = $dataset_node;
  296 + while (($crt_node != NULL) && !$to_exclude) {
  297 + if ($crt_node->nodeType == XML_ELEMENT_NODE) {
  298 + $group = $crt_node->getAttribute("group");
  299 + if (!empty($group)) {
  300 + $to_exclude = TRUE;
  301 + }
  302 + }
  303 + $crt_node = $crt_node->parentNode;
  304 + }
  305 + if ($to_exclude) {
  306 + echo "[WARNING] Exclude dataset ".$datasetId." (group restriction)".PHP_EOL;
  307 + continue;
  308 + }
  309 +
  310 + $UCDs = array();
  311 + $parameter_nodes = $dataset_node->getElementsByTagName("parameter");
  312 + foreach ($parameter_nodes as $parameter_node) {
  313 + $ucd = trim($parameter_node->getAttribute('ucd'));
  314 + if (empty($ucd))
  315 + continue;
  316 + $ucd_list = explode(';', $ucd);
  317 + foreach ($ucd_list as $u) {
  318 + $u = trim($u);
  319 + if (empty($u))
  320 + continue;
  321 + if (!in_array($u, $UCDs))
  322 + $UCDs[] = $u;
  323 + }
  324 + }
  325 +
  326 + $dataset_place_holders['min_sampling'] = parseSampling($dataset_node->getAttribute("sampling"));
  327 + $dataset_place_holders['max_sampling'] = parseSampling($dataset_node->getAttribute("maxSampling"));
  328 + $dataset_place_holders['spase_resource_id'] = $dataset_node->getAttribute("spaseId");
  329 + $dataset_place_holders['spase_measurement_type'] = $dataset_node->getAttribute("measurement_type");
  330 + $dataset_place_holders['measurement_type'] = getEpnTapMeasurementType($dataset_place_holders['spase_measurement_type'], $UCDs);
  331 + $dataset_place_holders['processing_level'] = parseProcessingLevel($dataset_node->getAttribute("xml:id"));
  332 + $target = $dataset_node->getAttribute("target");
  333 +
  334 +
  335 + $instrument_node = NULL;
  336 + $mission_node = NULL;
  337 + $observatory_node = NULL;
  338 + $dataset_group_node = NULL;
  339 +
  340 + $crt_node = $dataset_node;
  341 + while ($crt_node = $crt_node->parentNode) {
  342 + switch ($crt_node->nodeName) {
  343 + case 'instrument':
  344 + $instrument_node = $crt_node;
  345 + break;
  346 + case 'mission':
  347 + $mission_node = $crt_node;
  348 + break;
  349 + case 'observatory':
  350 + $observatory_node = $crt_node;
  351 + break;
  352 + case 'datasetGroup':
  353 + $dataset_group_node = $crt_node;
  354 + break;
  355 + }
  356 + }
  357 +
  358 + if (empty($instrument_node) || empty($mission_node)) {
  359 + echo "[ERROR] Cannot retrieve Mission or Instrument info for dataset ".$datasetId.PHP_EOL;
  360 + continue;
  361 + }
  362 +
  363 + $mission_name = $mission_node->getAttribute('name');
  364 + $instrument_name = $instrument_node->getAttribute('name');
  365 + if (empty($target)) {
  366 + $target = $instrument_node->getAttribute('target');
  367 + if (empty($target)) {
  368 + if (!empty($observatory_node)) {
  369 + $target = $observatory_node->getAttribute('target');
  370 + }
  371 + if (empty($target)) {
  372 + $target = $mission_node->getAttribute('target');
  373 + }
  374 + }
  375 + }
  376 + if (empty($target)) {
  377 + echo "[WARNING] No target defined for ".$datasetId.PHP_EOL;
  378 + }
  379 + $dataset_place_holders['spase_region'] = $target;
  380 + $dataset_place_holders['target_class'] = getTargetClass($target);
  381 + $dataset_place_holders['target_name'] = getTargetName($dataset_place_holders['target_class'], $target, $mission_name, $datasetId);
  382 + $dataset_place_holders['target_region'] = getTargetRegion($dataset_place_holders['target_class'], $target);
  383 + if (!empty($observatory_node)) {
  384 + $mission_name = $observatory_node->getAttribute('name');
  385 + }
  386 + $dataset_place_holders['mission_name'] = utf8_encode($mission_name);
  387 + $dataset_place_holders['instrument_name'] = preg_replace('/[^:\/\(\) \w-]/', ' ', $instrument_name);
  388 + if ($dataset_place_holders['instrument_name'] != $instrument_name) {
  389 + echo "=================> ".$dataset_place_holders['instrument_name'].PHP_EOL;
  390 + }
  391 + if (!empty($dataset_group_node)) {
  392 + if ($dataset_place_holders['processing_level'] == 'L2') {
  393 + $dataset_place_holders['processing_level'] = parseProcessingLevel($dataset_group_node->getAttribute("xml:id"));
  394 + }
  395 + }
  396 +
  397 + try {
  398 + $prior_id = trim($dataset_node->getAttribute('PriorID'));
  399 + if (!empty($prior_id)) {
  400 + $vi = str_replace("-","_",$prior_id);
  401 + }
  402 + else {
  403 + $vi = str_replace("-","_",$datasetId);
  404 + }
  405 + $res = $client->getGranules($vi);
  406 + }
  407 + catch (SoapFault $exception) {
  408 + echo "[ERROR] Cannot retrieve granules for ".$datasetId." - ".$exception->faultstring.PHP_EOL;
  409 + continue;
  410 + }
  411 +
  412 + if (empty($res)) {
  413 + echo "[ERROR] No granules for ".$datasetId.PHP_EOL;
  414 + continue;
  415 + }
  416 +
  417 + $granules = explode(PHP_EOL, $res);
  418 + foreach ($granules as $granule) {
  419 + $granule_info = explode(" ", $granule);
  420 + if (empty($granule_info) || (count($granule_info) != 4)) {
  421 + echo "[ERROR] Bad granule info in ".$datasetId.PHP_EOL;
  422 + continue;
  423 + }
  424 + $granule_place_holders['granule_index'] = str_replace(".nc", "", $granule_info[2]);
  425 + $granule_place_holders['granule_start_time'] = timestampToJulianDay($granule_info[0]);
  426 + $granule_place_holders['granule_stop_time'] = timestampToJulianDay($granule_info[1]);
  427 + $granule_place_holders['modification_date'] = timestampToISO($granule_info[3]);
  428 + $granule_place_holders['granule_start_time_timestamp'] = $granule_info[0];
  429 + $granule_place_holders['granule_stop_time_timestamp'] = $granule_info[1];
  430 + $granule_place_holders['creation_date'] = $granule_place_holders['modification_date'];
  431 + $granule_place_holders['release_date'] = $granule_place_holders['modification_date'];
  432 +
  433 + $fields = array_values($mapping);
  434 + $all_place_holders = $amda_place_holders + $dataset_place_holders + $granule_place_holders;
  435 + foreach ($all_place_holders as $place_holder => $value) {
  436 + foreach ($fields as &$field) {
  437 + $field = str_replace('@@'.$place_holder.'@@', $value, $field);
  438 + }
  439 + }
  440 + fputcsv($output_file_handle, $fields);
  441 + }
  442 +}
  443 +
  444 +fclose($output_file_handle);
  445 +?>
... ...
update_amda/mvTemplates.php
... ... @@ -45,5 +45,18 @@
45 45 $to = "$PARAMTEMPLATEDIR/$fileName.xml";
46 46 copy($from,$to);
47 47 }
  48 + // for predefined params
  49 + $predefinedNodes = $template->getElementsByTagName('predefined');
  50 + if ($predefinedNodes->length > 0) {
  51 + $paramPredefinedNodes = $predefinedNodes->item(0)->getElementsByTagName('param');
  52 + if ($paramPredefinedNodes->length > 0) {
  53 + if (file_exists("$AMDAINTERNALDIR/PARAM_DEF/$paramId.xml")) {
  54 + echo "Template ".$paramId.PHP_EOL;
  55 + $from = "$AMDAINTERNALDIR/PARAM_DEF/$paramId.xml";
  56 + $to = "$PARAMTEMPLATEDIR/$fileName.xml";
  57 + copy($from,$to);
  58 + }
  59 + }
  60 + }
48 61 }
49 62 ?>
... ...