Configure notebook style (see NBCONFIG.ipynb), add imports and paths. The %run magic used below requires IPython 2.0 or higher.
%run NBCONFIG.ipynb
Populating the interactive namespace from numpy and matplotlib
WARNING: pylab import has clobbered these variables: ['plotting'] `%matplotlib` prevents importing * from pylab and numpy
Because pandas does such a great job of IO (see pandas IO tutorial), skspec uses pandas IO with as little modification possible. The idea is to read your data into a pandas DataFrame, and then construct a Spectra from this. IE:
pandas.io $\rightarrow$ pandas.DataFrame $\rightarrow$ skspec.Spectra
Where the DataFrame
is NOT MultiIndexed.
The two specific cases where skspec Spectra can be constructed directly from data are:
The reason being that skspec implements custom behavior for these approaches. Therefore, let's start there.
From CSV
¶We can construct a Spectra directly from a .csv file using Spectra.from_csv(*args,**kwargs)
, where any argument to pandas.io.readcsv()
is valid. (see read_csv API here). In addition, the user may pass the following arguments:
header_datetime
: String formatting if header is datetimesindex_datetime
: String formatting if index is datetimesFor example, in the cell below I've copy pasted the first four rows and columns of a CSV file where the column header is datetimes and the index values are wavelengths, and the delimiter is \t
.
We can read this directly into a Spectra, and will specify that the index unit should be nanometers, and that the header is datetimes. We will have to specify the format, which is in this case "%Y-%m-%d %H:%M:%S". We'll read in one of the CSV files packaged in skspec.data
from skspec import TimeSpectra
TimeSpectra.from_csv('../../skspec/data/aunps_glass_full.csv',
specunit='nm',
index_col=0, #Specify that first column is index
header_datetime='%Y-%m-%d %H:%M:%S',
name='Sample Data')
2014-07-22 16:09:41 | 2014-07-22 16:09:45 | 2014-07-22 16:09:50 | 2014-07-22 16:09:54 | 2014-07-22 16:09:58 | 2014-07-22 16:10:03 | 2014-07-22 16:10:07 | 2014-07-22 16:10:12 | 2014-07-22 16:10:16 | 2014-07-22 16:10:20 | ... | 2014-07-22 16:28:05 | 2014-07-22 16:28:09 | 2014-07-22 16:28:14 | 2014-07-22 16:28:18 | 2014-07-22 16:28:23 | 2014-07-22 16:28:27 | 2014-07-22 16:28:31 | 2014-07-22 16:28:36 | 2014-07-22 16:28:40 | 2014-07-22 16:28:45 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
430.10 | 84.935418 | 85.058972 | 85.176862 | 84.841741 | 84.962590 | 85.161652 | 85.283487 | 84.887361 | 84.915510 | 85.003325 | ... | 77.643978 | 77.230672 | 77.357385 | 77.557712 | 77.488684 | 77.573793 | 77.462473 | 77.632346 | 77.508924 | 77.443999 |
430.47 | 88.515990 | 88.669467 | 88.777330 | 88.432236 | 88.543142 | 88.772123 | 88.823950 | 88.487920 | 88.526023 | 88.593852 | ... | 80.685014 | 80.341805 | 80.448408 | 80.658744 | 80.559703 | 80.664826 | 80.533486 | 80.713373 | 80.559989 | 80.565016 |
430.85 | 92.276577 | 92.419976 | 92.487811 | 92.162745 | 92.303709 | 92.512607 | 92.544426 | 92.258495 | 92.276551 | 92.354393 | ... | 83.836077 | 83.572969 | 83.679459 | 83.839803 | 83.730750 | 83.855886 | 83.754526 | 83.944427 | 83.761083 | 83.756061 |
431.22 | 96.247149 | 96.420471 | 96.488279 | 96.153240 | 96.254261 | 96.523078 | 96.554890 | 96.249054 | 96.287065 | 96.344920 | ... | 87.217112 | 86.984102 | 87.110482 | 87.250835 | 87.091769 | 87.246918 | 87.145538 | 87.315454 | 87.162148 | 87.147079 |
431.59 | 100.397721 | 100.610966 | 100.668747 | 100.293735 | 100.384814 | 100.723549 | 100.725353 | 100.419613 | 100.427579 | 100.535447 | ... | 90.758147 | 90.455235 | 90.641506 | 90.781867 | 90.582789 | 90.817951 | 90.656551 | 90.866481 | 90.723214 | 90.698096 |
431.96 | 104.478293 | 104.681461 | 104.729215 | 104.374230 | 104.475366 | 104.824020 | 104.795816 | 104.490172 | 104.508093 | 104.665973 | ... | 94.199182 | 93.866368 | 94.072529 | 94.232899 | 94.003808 | 94.308983 | 94.107564 | 94.327507 | 94.184279 | 94.139114 |
432.33 | 108.958865 | 109.201956 | 109.279683 | 108.834726 | 108.955918 | 109.334491 | 109.286279 | 108.950731 | 109.008607 | 109.186500 | ... | 97.980218 | 97.677501 | 97.893552 | 98.023931 | 97.794827 | 98.110015 | 97.888576 | 98.078534 | 97.925344 | 97.920131 |
432.70 | 113.319437 | 113.582451 | 113.620152 | 113.155221 | 113.306470 | 113.674962 | 113.646743 | 113.231290 | 113.369121 | 113.527027 | ... | 101.611253 | 101.358634 | 101.544576 | 101.694963 | 101.465846 | 101.781048 | 101.559589 | 101.739561 | 101.556409 | 101.601148 |
433.08 | 118.480025 | 118.682959 | 118.740633 | 118.295729 | 118.437037 | 118.805446 | 118.807218 | 118.351864 | 118.489649 | 118.647568 | ... | 105.922316 | 105.649798 | 105.845627 | 106.016023 | 105.796893 | 106.102108 | 105.890629 | 106.020615 | 105.837503 | 105.932193 |
433.45 | 123.370597 | 123.553454 | 123.661101 | 123.176225 | 123.367589 | 123.685917 | 123.727682 | 123.262423 | 123.390163 | 123.538094 | ... | 110.033351 | 109.800931 | 109.936650 | 110.157055 | 109.947912 | 110.193141 | 109.991642 | 110.131642 | 109.948568 | 110.013211 |
433.82 | 128.261169 | 128.413950 | 128.551569 | 128.016720 | 128.278141 | 128.556388 | 128.588145 | 128.202982 | 128.260677 | 128.438621 | ... | 114.094386 | 113.872064 | 114.007673 | 114.248087 | 114.078931 | 114.254173 | 114.072655 | 114.192669 | 114.019634 | 114.134228 |
434.19 | 133.691741 | 133.854445 | 133.972037 | 133.447215 | 133.698694 | 134.006859 | 134.068608 | 133.643541 | 133.661191 | 133.869148 | ... | 118.595422 | 118.433197 | 118.548697 | 118.809119 | 118.649951 | 118.805205 | 118.623667 | 118.733696 | 118.580699 | 118.695246 |
434.56 | 139.092313 | 139.284940 | 139.382505 | 138.837710 | 139.049246 | 139.427330 | 139.469072 | 139.094100 | 139.101704 | 139.229675 | ... | 123.096457 | 122.904330 | 123.069720 | 123.330151 | 123.140970 | 123.286238 | 123.154680 | 123.164722 | 123.101764 | 123.206263 |
434.93 | 144.312885 | 144.515435 | 144.642973 | 144.108205 | 144.319798 | 144.617801 | 144.669535 | 144.334659 | 144.322218 | 144.430201 | ... | 127.387492 | 127.195463 | 127.370743 | 127.671183 | 127.471989 | 127.677270 | 127.465693 | 127.495749 | 127.432829 | 127.537281 |
435.30 | 149.613457 | 149.765930 | 149.923442 | 149.368700 | 149.560350 | 149.848272 | 149.959998 | 149.565218 | 149.552732 | 149.690728 | ... | 131.658527 | 131.586596 | 131.711766 | 132.002214 | 131.813008 | 131.988303 | 131.796705 | 131.796776 | 131.733894 | 131.878298 |
435.68 | 155.484044 | 155.696438 | 155.803923 | 155.249209 | 155.470917 | 155.748756 | 155.810474 | 155.465792 | 155.463260 | 155.571269 | ... | 136.499590 | 136.437759 | 136.552817 | 136.853274 | 136.654055 | 136.819363 | 136.657745 | 136.637830 | 136.584988 | 136.739343 |
436.05 | 161.294616 | 161.516933 | 161.584391 | 161.059704 | 161.241469 | 161.519227 | 161.600937 | 161.286351 | 161.263774 | 161.401796 | ... | 141.250626 | 141.218893 | 141.313841 | 141.634306 | 141.415074 | 141.590395 | 141.428758 | 141.408857 | 141.336053 | 141.530360 |
436.42 | 167.015188 | 167.307428 | 167.314859 | 166.830199 | 167.032021 | 167.279698 | 167.351401 | 167.086910 | 167.034288 | 167.192323 | ... | 145.981661 | 145.950026 | 146.044864 | 146.355338 | 146.166093 | 146.311428 | 146.199771 | 146.099884 | 146.087119 | 146.241378 |
436.79 | 172.415761 | 172.697923 | 172.685327 | 172.180695 | 172.432574 | 172.640169 | 172.751864 | 172.437470 | 172.444802 | 172.542849 | ... | 150.292696 | 150.321159 | 150.365887 | 150.766370 | 150.527112 | 150.682460 | 150.580783 | 150.410911 | 150.438184 | 150.592395 |
437.16 | 178.266333 | 178.538418 | 178.545795 | 178.011190 | 178.243126 | 178.430640 | 178.582327 | 178.348029 | 178.305316 | 178.323376 | ... | 154.953731 | 155.062292 | 155.126911 | 155.497402 | 155.278132 | 155.423493 | 155.311796 | 155.161937 | 155.199249 | 155.373413 |
437.53 | 184.456905 | 184.748913 | 184.756263 | 184.191685 | 184.373678 | 184.631111 | 184.832790 | 184.518588 | 184.465830 | 184.543903 | ... | 159.974766 | 160.113425 | 160.117934 | 160.468434 | 160.279151 | 160.444525 | 160.342809 | 160.132964 | 160.260314 | 160.434430 |
437.90 | 190.697477 | 190.959408 | 191.016732 | 190.372180 | 190.654230 | 190.871582 | 191.073254 | 190.769147 | 190.696344 | 190.794430 | ... | 165.035802 | 165.164558 | 165.168957 | 165.529466 | 165.350170 | 165.485557 | 165.373821 | 165.153991 | 165.271379 | 165.465448 |
438.27 | 196.828049 | 197.059903 | 197.137200 | 196.472675 | 196.804782 | 196.982053 | 197.183717 | 196.879706 | 196.796858 | 196.874956 | ... | 169.946837 | 170.045691 | 170.039981 | 170.450498 | 170.291189 | 170.376590 | 170.294834 | 170.095017 | 170.172445 | 170.336465 |
438.64 | 203.308621 | 203.570398 | 203.667668 | 202.943171 | 203.285334 | 203.482524 | 203.644180 | 203.350265 | 203.287372 | 203.395483 | ... | 175.187872 | 175.256824 | 175.201004 | 175.641530 | 175.562208 | 175.627622 | 175.505847 | 175.266044 | 175.363510 | 175.557483 |
439.01 | 209.329193 | 209.560893 | 209.658136 | 208.943666 | 209.325887 | 209.452995 | 209.664644 | 209.330824 | 209.267885 | 209.416010 | ... | 179.958907 | 179.997957 | 179.952027 | 180.442562 | 180.313228 | 180.438655 | 180.296859 | 180.077071 | 180.154575 | 180.338500 |
439.38 | 214.929765 | 215.121388 | 215.238604 | 214.524161 | 214.916439 | 214.973466 | 215.245107 | 214.911383 | 214.858399 | 214.946537 | ... | 184.309942 | 184.439090 | 184.333051 | 184.823594 | 184.694247 | 184.819687 | 184.647872 | 184.428098 | 184.515640 | 184.709518 |
439.75 | 220.360337 | 220.491884 | 220.649073 | 219.864656 | 220.266991 | 220.303937 | 220.625570 | 220.281942 | 220.248913 | 220.307063 | ... | 188.510978 | 188.670223 | 188.594074 | 189.044625 | 188.885266 | 188.990719 | 188.838885 | 188.609124 | 188.696705 | 188.920535 |
440.13 | 226.460924 | 226.542392 | 226.689553 | 225.925165 | 226.327558 | 226.344421 | 226.706046 | 226.332516 | 226.319441 | 226.347604 | ... | 193.242041 | 193.441387 | 193.305125 | 193.825685 | 193.656313 | 193.761780 | 193.649925 | 193.350179 | 193.487799 | 193.691580 |
440.50 | 232.191496 | 232.262887 | 232.460022 | 231.665660 | 232.118110 | 232.104892 | 232.496509 | 232.113075 | 232.109955 | 232.078131 | ... | 197.713076 | 197.922520 | 197.796148 | 198.376717 | 198.147332 | 198.242812 | 198.110937 | 197.841206 | 197.998864 | 198.202597 |
440.87 | 236.932068 | 237.043382 | 237.250490 | 236.436155 | 236.888662 | 236.895363 | 237.286973 | 236.913634 | 236.870469 | 236.788658 | ... | 201.344111 | 201.603653 | 201.457171 | 202.037749 | 201.788351 | 201.883844 | 201.761950 | 201.512232 | 201.689930 | 201.863615 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
669.87 | 71.846097 | 71.849771 | 71.920262 | 72.222633 | 71.950403 | 72.016888 | 72.213711 | 71.789638 | 72.018548 | 71.844670 | ... | 307.484818 | 307.404915 | 307.690519 | 307.826430 | 307.589149 | 308.022818 | 307.968710 | 308.097704 | 307.999193 | 307.873333 |
670.21 | 71.186623 | 71.210226 | 71.260692 | 71.523088 | 71.260911 | 71.297321 | 71.534137 | 71.110151 | 71.359021 | 71.175154 | ... | 304.035769 | 304.015956 | 304.291459 | 304.427378 | 304.200086 | 304.613767 | 304.619641 | 304.688648 | 304.590172 | 304.484268 |
670.55 | 70.537148 | 70.540681 | 70.601122 | 70.843543 | 70.601418 | 70.667754 | 70.844563 | 70.450665 | 70.689493 | 70.485638 | ... | 300.616721 | 300.606997 | 300.832400 | 301.028326 | 300.731022 | 301.174716 | 301.200571 | 301.269591 | 301.151151 | 301.045203 |
670.89 | 69.907674 | 69.951136 | 69.971552 | 70.273998 | 69.961925 | 70.088187 | 70.194989 | 69.891179 | 70.049965 | 69.846122 | ... | 297.287672 | 297.288038 | 297.543340 | 297.669274 | 297.421959 | 297.865664 | 297.911502 | 298.010535 | 297.812130 | 297.756138 |
671.23 | 69.268200 | 69.311591 | 69.301983 | 69.594453 | 69.322433 | 69.428619 | 69.525414 | 69.231693 | 69.380437 | 69.226606 | ... | 294.018623 | 294.059080 | 294.264280 | 294.430223 | 294.142895 | 294.556613 | 294.592432 | 294.661478 | 294.513108 | 294.497073 |
671.57 | 68.618725 | 68.682046 | 68.632413 | 68.924908 | 68.662940 | 68.759052 | 68.875840 | 68.552206 | 68.700910 | 68.597091 | ... | 290.589575 | 290.660121 | 290.865221 | 291.021171 | 290.763832 | 291.127562 | 291.153363 | 291.242422 | 291.084087 | 291.108008 |
671.91 | 67.959251 | 68.052501 | 68.002843 | 68.275363 | 68.033447 | 68.109485 | 68.216266 | 67.912720 | 68.041382 | 67.977575 | ... | 287.410526 | 287.351162 | 287.546161 | 287.682119 | 287.484769 | 287.828510 | 287.844294 | 287.903365 | 287.805066 | 287.798943 |
672.25 | 67.289777 | 67.412956 | 67.353273 | 67.585818 | 67.383955 | 67.449918 | 67.546692 | 67.253234 | 67.381854 | 67.288059 | ... | 284.071477 | 284.032203 | 284.247101 | 284.393067 | 284.165705 | 284.509459 | 284.495224 | 284.584309 | 284.486045 | 284.429878 |
672.58 | 66.640287 | 66.773397 | 66.683691 | 66.926259 | 66.704447 | 66.840338 | 66.857105 | 66.613732 | 66.722313 | 66.628528 | ... | 280.712400 | 280.723214 | 280.888014 | 281.033988 | 280.756614 | 281.210380 | 281.086127 | 281.175224 | 281.056995 | 281.040785 |
672.92 | 66.010812 | 66.103852 | 66.024121 | 66.246714 | 66.044955 | 66.180771 | 66.207530 | 65.944246 | 66.062785 | 65.909012 | ... | 277.433352 | 277.444255 | 277.558954 | 277.654936 | 277.487551 | 277.891329 | 277.797058 | 277.846168 | 277.717974 | 277.701720 |
673.26 | 65.401338 | 65.544307 | 65.444551 | 65.587169 | 65.425462 | 65.581204 | 65.597956 | 65.314760 | 65.473257 | 65.319496 | ... | 274.394303 | 274.425296 | 274.469895 | 274.555884 | 274.428487 | 274.852277 | 274.747988 | 274.727111 | 274.628952 | 274.642655 |
673.60 | 64.831864 | 65.004762 | 64.854982 | 65.017624 | 64.835970 | 64.951637 | 65.008382 | 64.755274 | 64.893729 | 64.789980 | ... | 271.495254 | 271.446337 | 271.460835 | 271.576833 | 271.489424 | 271.883226 | 271.808919 | 271.728055 | 271.629931 | 271.653590 |
673.94 | 64.282389 | 64.425217 | 64.255412 | 64.408080 | 64.246477 | 64.382069 | 64.428808 | 64.165787 | 64.284202 | 64.200465 | ... | 268.506205 | 268.427378 | 268.481775 | 268.567781 | 268.470360 | 268.894175 | 268.829850 | 268.768998 | 268.650910 | 268.694525 |
674.28 | 63.712915 | 63.885672 | 63.745842 | 63.828535 | 63.716984 | 63.812502 | 63.859233 | 63.596301 | 63.724674 | 63.640949 | ... | 265.607157 | 265.558420 | 265.612716 | 265.768729 | 265.591297 | 266.045123 | 265.970780 | 265.849942 | 265.861889 | 265.875460 |
674.62 | 63.163440 | 63.286127 | 63.186272 | 63.218990 | 63.117492 | 63.252935 | 63.269659 | 63.006815 | 63.125146 | 63.041433 | ... | 262.698108 | 262.599461 | 262.703656 | 262.839677 | 262.662233 | 263.136072 | 263.091711 | 262.900885 | 262.952868 | 262.936395 |
674.96 | 62.573966 | 62.686582 | 62.566702 | 62.579445 | 62.507999 | 62.653368 | 62.670085 | 62.447328 | 62.555618 | 62.461917 | ... | 259.859059 | 259.700502 | 259.784596 | 259.960626 | 259.823170 | 260.277021 | 260.182641 | 260.071829 | 260.113847 | 260.087330 |
675.30 | 62.054492 | 62.137037 | 62.047133 | 62.019900 | 61.958506 | 62.143801 | 62.150511 | 61.927842 | 62.066091 | 61.962401 | ... | 257.210011 | 257.031543 | 257.115537 | 257.361574 | 257.184107 | 257.607969 | 257.543572 | 257.382772 | 257.464825 | 257.418265 |
675.64 | 61.495017 | 61.577491 | 61.487563 | 61.440355 | 61.389014 | 61.544234 | 61.590936 | 61.348356 | 61.496563 | 61.452885 | ... | 254.430962 | 254.272584 | 254.336477 | 254.562522 | 254.435043 | 254.828918 | 254.794502 | 254.543716 | 254.665804 | 254.659200 |
675.97 | 60.935528 | 60.977933 | 60.907981 | 60.820796 | 60.799506 | 60.934654 | 60.971349 | 60.768854 | 60.877021 | 60.853354 | ... | 251.491885 | 251.353595 | 251.407390 | 251.663442 | 251.465952 | 251.899839 | 251.825406 | 251.614631 | 251.716754 | 251.770107 |
676.31 | 60.276053 | 60.408388 | 60.298411 | 60.191251 | 60.130014 | 60.335087 | 60.341775 | 60.099368 | 60.247494 | 60.233839 | ... | 248.432836 | 248.324636 | 248.378330 | 248.664391 | 248.456889 | 248.880788 | 248.786336 | 248.625575 | 248.757733 | 248.821042 |
676.65 | 59.696579 | 59.788843 | 59.678841 | 59.571706 | 59.530521 | 59.765519 | 59.762201 | 59.489882 | 59.657966 | 59.654323 | ... | 245.413788 | 245.345677 | 245.399271 | 245.655339 | 245.457825 | 245.891736 | 245.787267 | 245.636518 | 245.738712 | 245.811977 |
676.99 | 59.157104 | 59.239298 | 59.129271 | 59.012161 | 58.951028 | 59.235952 | 59.212627 | 58.950396 | 59.128438 | 59.114807 | ... | 242.584739 | 242.566718 | 242.620211 | 242.876287 | 242.628762 | 243.022685 | 242.938197 | 242.897462 | 242.969691 | 243.062912 |
677.33 | 58.527630 | 58.689753 | 58.529701 | 58.412616 | 58.381536 | 58.656385 | 58.603052 | 58.370909 | 58.518910 | 58.495291 | ... | 239.785690 | 239.747760 | 239.791151 | 240.027235 | 239.809698 | 240.193634 | 240.119128 | 240.028405 | 240.150670 | 240.213847 |
677.67 | 57.938156 | 58.120207 | 57.960132 | 57.863071 | 57.792043 | 58.096818 | 58.043478 | 57.801423 | 57.959383 | 57.945775 | ... | 237.006641 | 237.038801 | 237.062092 | 237.238184 | 237.090635 | 237.454582 | 237.390058 | 237.249349 | 237.431648 | 237.424782 |
678.01 | 57.298681 | 57.490662 | 57.330562 | 57.233527 | 57.172551 | 57.437251 | 57.423904 | 57.141937 | 57.359855 | 57.336259 | ... | 234.057593 | 234.069842 | 234.123032 | 234.299132 | 234.191572 | 234.485531 | 234.430989 | 234.300292 | 234.492627 | 234.485717 |
678.34 | 56.729192 | 56.941104 | 56.730979 | 56.653968 | 56.583043 | 56.847671 | 56.834317 | 56.592435 | 56.800313 | 56.746729 | ... | 231.168516 | 231.160852 | 231.253945 | 231.380052 | 231.272481 | 231.596452 | 231.521892 | 231.431208 | 231.643577 | 231.616624 |
678.68 | 56.189717 | 56.371559 | 56.201410 | 56.124423 | 56.023550 | 56.288104 | 56.264743 | 56.042949 | 56.260785 | 56.177213 | ... | 228.479467 | 228.481894 | 228.624885 | 228.701001 | 228.633417 | 228.937401 | 228.872823 | 228.772152 | 228.954556 | 228.927559 |
679.02 | 55.660243 | 55.852014 | 55.661840 | 55.544878 | 55.494058 | 55.758536 | 55.735169 | 55.513463 | 55.751258 | 55.627697 | ... | 225.800419 | 225.832935 | 226.045825 | 226.101949 | 225.964354 | 226.328349 | 226.213753 | 226.143095 | 226.345535 | 226.338494 |
679.36 | 55.170768 | 55.332469 | 55.192270 | 55.045333 | 54.994565 | 55.268969 | 55.245594 | 55.023976 | 55.241730 | 55.128181 | ... | 223.331370 | 223.433976 | 223.616766 | 223.662897 | 223.495290 | 223.889298 | 223.784684 | 223.684039 | 223.896514 | 223.949429 |
679.70 | 54.661294 | 54.842923 | 54.692700 | 54.555788 | 54.475073 | 54.749402 | 54.766020 | 54.514490 | 54.722202 | 54.618665 | ... | 220.972321 | 221.005017 | 221.247706 | 221.273845 | 221.176227 | 221.460247 | 221.445614 | 221.334982 | 221.497492 | 221.600364 |
704 rows × 260 columns
Had we used Spectra.from_csv()
rather than TimeSpectra.from_csv()
, the difference is that TimeSpectra stores columns as a custom TimeIndex
while Spectra would have defaulted to a pandas DatetimeIndex
.
From JSON
¶skspec
has custom datastructures, it needs to overload the JSON behavior of¶Talk about the directory parser?
IE Spectra.spec_from_dir
¶Exporting a Spectra
¶