PK HF META-INF/PK HFOwaMETA-INF/MANIFEST.MFManifest-Version: 1.0 Ant-Version: Apache Ant 1.9.4 Created-By: 1.8.0_31-b13 (Oracle Corporation) Class-Path: lib/guava-18.0.jar X-COMMENT: Main-Class will be added automatically by build PK zFsdi/PK HF sdi/data/PK zFsdi/renderings/PK zFsdi/renderings/trim/PK zF sdi/units/PK zFLN џsdi/data/Bin.class4   getMin()DgetMax getReference SourceFileBin.java sdi/data/Binjava/lang/ObjectPK zF ~sdi/data/BinnedData1D.class4 getFillDetector()Ljava/util/Optional; Signature/()Ljava/util/Optional;getYUncertProvider6()Ljava/util/Optional; getMetadata()Lsdi/data/XYMetadata;()Ljava/lang/Object;CodeLineNumberTableLocalVariableTablethisLsdi/data/BinnedData1D;\Ljava/lang/Object;Lsdi/data/SimpleBinnedData1D;Lsdi/data/MetadataSrc; SourceFileBinnedData1D.java sdi/data/BinnedData1Djava/lang/Objectsdi/data/SimpleBinnedData1Dsdi/data/MetadataSrc    A 1*  PK zFsdi/data/BinnedData2D.class4 getFillDetector()Ljava/util/Optional; Signature1()Ljava/util/Optional;getZUncertProvider8()Ljava/util/Optional; getMetadata()Lsdi/data/XYZMetadata;()Ljava/lang/Object;CodeLineNumberTableLocalVariableTablethisLsdi/data/BinnedData2D;]Ljava/lang/Object;Lsdi/data/SimpleBinnedData2D;Lsdi/data/MetadataSrc; SourceFileBinnedData2D.java sdi/data/BinnedData2Djava/lang/Objectsdi/data/SimpleBinnedData2Dsdi/data/MetadataSrc    A 1* PK zFPW%sdi/data/ContiguousBinnedData1D.class4 getFillDetector()Ljava/util/Optional; Signature/()Ljava/util/Optional;getUncertProvider6()Ljava/util/Optional; getMetadata()Lsdi/data/XYMetadata;()Ljava/lang/Object;CodeLineNumberTableLocalVariableTablethis!Lsdi/data/ContiguousBinnedData1D;fLjava/lang/Object;Lsdi/data/SimpleContiguousBinnedData1D;Lsdi/data/MetadataSrc; SourceFileContiguousBinnedData1D.java sdi/data/ContiguousBinnedData1Djava/lang/Object%sdi/data/SimpleContiguousBinnedData1Dsdi/data/MetadataSrc    A 1* PK 4{FېN((sdi/data/DataList.class4 size()Iget(I)Ljava/lang/Object; Signature(I)TT;ALjava/lang/Object;Ljava/lang/Iterable; SourceFile DataList.javasdi/data/DataListjava/lang/Objectjava/lang/Iterable   PK HF_bbsdi/data/DataListImpl.class43 # $% & '( ') '*+,-backLjava/util/List; SignatureLjava/util/List;(Ljava/util/List;)VCodeLineNumberTableLocalVariableTablethisLsdi/data/DataListImpl;LocalVariableTypeTableLsdi/data/DataListImpl;(Ljava/util/List;)Vsize()Iget(I)Ljava/lang/Object;iIiterator()Ljava/util/Iterator;;Ljava/lang/Object;Lsdi/data/DataList; SourceFileDataListImpl.java ./ 01 2   sdi/data/DataListImpljava/lang/Objectsdi/data/DataList()Vjava/util/CollectionsunmodifiableList"(Ljava/util/List;)Ljava/util/List;java/util/List!    e **+      F *    Q *     F *%      !"PK zF sdi/data/FillDetector.class4 isFill(I)Z SourceFileFillDetector.javasdi/data/FillDetectorjava/lang/ObjectPK zF/sdi/data/FillDetector2D.class4 isFill(II)Z SourceFileFillDetector2D.javasdi/data/FillDetector2Djava/lang/ObjectPK 3{FuyG  sdi/data/List.class4 size()Iget(I)Ljava/lang/Object; Signature(I)TT;ALjava/lang/Object;Ljava/lang/Iterable; SourceFile List.java sdi/data/Listjava/lang/Objectjava/lang/Iterable   PK zF3(sdi/data/MetadataSrc.class4    getMetadata()Ljava/lang/Object; Signature()TT;(Ljava/lang/Object; SourceFileMetadataSrc.javasdi/data/MetadataSrcjava/lang/Object PK zFsdi/data/Named.class4 getName()Ljava/lang/String; SourceFile Named.javasdi/data/Namedjava/lang/ObjectPK zF\!sdi/data/SimpleBinnedData1D.class4   size()IgetXBin(I)Lsdi/data/Bin;getY(I)D SourceFileSimpleBinnedData1D.javasdi/data/SimpleBinnedData1Djava/lang/Object  PK zFH!sdi/data/SimpleBinnedData2D.class4 sizeX()IgetXBin(I)Lsdi/data/Bin;sizeYgetYBingetZ(II)D SourceFileSimpleBinnedData2D.javasdi/data/SimpleBinnedData2Djava/lang/Object   PK zF  +sdi/data/SimpleContiguousBinnedData1D.class4 size()I getXBinLo(I)DgetXBinReference getLastXBinHi()DgetY SourceFile!SimpleContiguousBinnedData1D.java%sdi/data/SimpleContiguousBinnedData1Djava/lang/Object    PK zFisdi/data/SimpleXYData.class4   size()IgetX(I)DgetY SourceFileSimpleXYData.javasdi/data/SimpleXYDatajava/lang/Object PK zF=4sdi/data/SimpleXYZData.class4   size()IgetX(I)DgetYgetZ SourceFileSimpleXYZData.javasdi/data/SimpleXYZDatajava/lang/Object  PK zF%#"sdi/data/UncertaintyProvider.class4   getUncertPlus(I)DgetUncertMinus SourceFileUncertaintyProvider.javasdi/data/UncertaintyProviderjava/lang/ObjectPK zFF$sdi/data/UncertaintyProvider2D.class4   getUncertPlus(II)DgetUncertMinus SourceFileUncertaintyProvider2D.javasdi/data/UncertaintyProvider2Djava/lang/ObjectPK w3{F:sdi/data/Units.class4%      !nameLjava/lang/String;(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLsdi/data/Units;getName()Ljava/lang/String;toString SourceFile Units.java " java/lang/StringBuilder Units [name= #$] sdi/data/Unitsjava/lang/Object()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;!   F **+   /*  FY*% PK zFesdi/data/Validator.class4^ 4 56 5789 : 5;< 5=>?@ A BC DE DFG DHI JKLM()VCodeLineNumberTableLocalVariableTablethisLsdi/data/Validator; checkValid*(Lsdi/data/SimpleContiguousBinnedData1D;)ViIrDd'Lsdi/data/SimpleContiguousBinnedData1D;n StackMapTable$(Lsdi/data/ContiguousBinnedData1D;)V!Lsdi/data/ContiguousBinnedData1D;(Lsdi/data/Bin;)VLsdi/data/Bin;isValid$(Lsdi/data/ContiguousBinnedData1D;)ZeLjava/lang/RuntimeException;K SourceFileValidator.java N OP QR"java/lang/IllegalArgumentExceptionbad bin S TU bad last bin VR duplicate refbad ref bad last ref  W XYZ [U \U.reference must be greater than or equal to min ]U+reference must be less than or equal to max )java/lang/RuntimeExceptionsdi/data/Validatorjava/lang/Object%sdi/data/SimpleContiguousBinnedData1Dsize()I getXBinLo(I)D(Ljava/lang/String;)V getLastXBinHi()DgetXBinReferencesdi/data/ContiguousBinnedData1DgetFillDetector()Ljava/util/Optional; sdi/data/BingetMin getReferencegetMax!3*      *<=d'**` Y*d* Y=dM* J)*`  Y )*)*` Y *d I(*d(* Y J$.4 G!Q%Z&b'p(z*+%0125> +!"b<#$SQ!"##$%&'"(" $& " )> * *W>? @  %* +q5** Y** YIJ4K 5%,( -.] *LTUVW/0 %*(F123PK zFAsdi/data/XYData.class4 getFillDetector()Ljava/util/Optional; Signature/()Ljava/util/Optional;getXUncertProvider6()Ljava/util/Optional;getYUncertProvider getMetadata()Lsdi/data/XYMetadata;()Ljava/lang/Object;CodeLineNumberTableLocalVariableTablethisLsdi/data/XYData;VLjava/lang/Object;Lsdi/data/SimpleXYData;Lsdi/data/MetadataSrc; SourceFile XYData.java sdi/data/XYDatajava/lang/Objectsdi/data/SimpleXYDatasdi/data/MetadataSrc      A 1* PK zFVimC&&sdi/data/XYMetadata.class4 getXUnits()Lsdi/data/Units; getYUnitsgetXName()Ljava/lang/String;getYName getXLabel getYLabel SourceFileXYMetadata.javasdi/data/XYMetadatajava/lang/Objectsdi/data/Named     PK zFsdi/data/XYZData.class4 getZFillDetector()Ljava/util/Optional; Signature/()Ljava/util/Optional;getXUncertProvider6()Ljava/util/Optional;getYUncertProvidergetZUncertProvider getMetadata()Lsdi/data/XYZMetadata;()Ljava/lang/Object;CodeLineNumberTableLocalVariableTablethisLsdi/data/XYZData;XLjava/lang/Object;Lsdi/data/SimpleXYZData;Lsdi/data/MetadataSrc; SourceFile XYZData.java sdi/data/XYZDatajava/lang/Objectsdi/data/SimpleXYZDatasdi/data/MetadataSrc       A1* PK zF%bsdi/data/XYZMetadata.class4    getZUnits()Lsdi/data/Units;getZName()Ljava/lang/String; getZLabel SourceFileXYZMetadata.javasdi/data/XYZMetadatajava/lang/Objectsdi/data/XYMetadata  PK zF)nsdi/data/package.html

Science Data Interfaces provide Java interfaces for commonly encountered datasets. These interfaces include examples such as X→Y (often rendered as a line plot) and X(i),Y(j)→Z(i,j) (often rendered as a spectrogram or color plot). These are immediately divided into two categories: those with metadata and those without. The "Simple" versions are ones without metadata. The others implement the Described interface and provide additional metadata, such as labels and units.

These interfaces are divided into the "Simple" versions and the rich versions with complete metadata.

Class Name Notes Example Rendering
SimpleXYData
  • X(i) → Y(i)
  • 0 ≤ i < size()
SimpleXYData.png
XYData
  • X(i) → Y(i)
  • Units are known.
  • Fill is detected.
  • Data is labeled.
XYData.png
XYZData
  • X(i),Y(i) → Z(i)
XYZData.png
SimpleBinnedData2D
  • X(i),Y(j) → Z(i,j)
  • 0 ≤ i < xsize()
  • 0 ≤ j < ysize()
SimpleBinnedData2D.png
BinnedData2D
  • Fill is detected.
  • Data is labeled.
BinnedData2D.png
SimpleContiguousBinnedData1D
  • Bins must be adjacent.
  • The minimum bound of each bin is accessible.
  • The maximum bound of the last bin is accessible.
SimpleContiguousBinnedData1D.png
ContiguousBinnedData1D
  • X(i) → Y(i)
  • Bins must be adjacent.
  • Fill is detected.
ContiguousBinnedData1D.png

Note often clients will need lists of these simpler types. For example, where the Radio and Plasma Wave Group at U. Iowa uses BinnedData2Ds (tables) with changing geometry, a List<BinnedData2D> should be used.

PK zFrs^~ ~ sdi/renderings/BinnedData2D.pngPNG  IHDRv EIDATx_h/A c05%Ч!k<&4 AoВoI\ĕ%5txMnHW#2is{珤s!FJ̙sL2F6F?LFF[!߈`5 çOoϾ\Uy/rxĉGDp"qknyW<2`" "o߾w2`"""⃙M[I| BM)vig!!"<QLGc T.0wٹx|%L@p!f.6 bcǎ---Qu?`Y)Lfww\./..vvv:cZۖ燇|!jQNWWښ'q.FCM4JJ!!)*xFVOGqH`$eQ(`#vorrroo^XXH$Dp )C$B0R0ruuQ$ ;pt:$m[YY14龭Χ 7<Y5~ʟs(5"2R:.L!lf)`(b`` w C& 8*`"X1DRtlk~~\/"8X`sN%|+hulFfy]7<bUYGLHC^:䃣B0|T})r\"hkk:oxxxkkK`wMN?"\T*"ngϞwpdRnr3D^Ehӧ(|p59Xf-'" G&988ApIMol%Χ \ oûJѣG%`r#@pdʗ/_q)?B,{I__P>xll޽{R0 Uѹzlkd/Χ t?yz(Σ> ZeMH{ҥK۷k^z}8#B9i+93dʞ  lڣG:;;hC$&[I)%iW.c"8i2DaUuQakof௛ Qcw4V`f~ SH>ʕ+H6M}}}|^ZZx{6"AITKROO+-a܋IRݼEn.I-&K02䃛`Rh&K02Dp̛ F,K02aD܊ƟQ4~QE?_r?/xw?bRRݼ L*s&$CLjql7/j" &= #C$ON882Oa |B\`;O^P|pLt:k]UST6%`[ZM;mݻDvU'}̓dJ~V3<;ܷYLj]b1"F]Lj`b56 &!,[8aٸ4L~ [#*Б7yz#龠ܓ7ғS M}@}0:088h}IJ0:U&y`"X`;^S˲-T4CX\7x8&O*_vĿrW5]fLk$sT4+-7T-س|p̨̻ODcoQIǨOD0JPIǨOD0JRed>} q2QU.]c{W6&G%X1|0(F/<&Qk.QD0\{G7Z&';4/PCMZ`DpQ1g`-3~<'Xg_wwy۳;׻g7Qi*G}߆B39'M2(mfS 8CmD}0ܔ7F>XXe"!>V9׿AM>P `"&`"&##Ȉ`2"&#k6&ГxnnnhhȺ;b}\om.K$mmmU.fhs2@&!Rg2 \./..vvvzs͵SSSTjkkKwP(< D/~vi"#{ =\[u5&xuuU!0Wb dg۳uuuysl{{{?x^XXk׮ Dph>XƖYQDj}p<UsUk>nUv^oD@MqpDsvb UN=ZFWXWZ~AD0LFFE`,bq5ۀoOF{zWnC!@q5ۀoOF0{z*aU{{3gvvvv%R =9gWUrR^Xdq5 =U"&⃝fWSsV3լޑEL$ rǏH5fɈ`fVm~X Xɓϟ?@qxɈ`22"&kJ?UMx\ IENDB`PK zFe)sdi/renderings/ContiguousBinnedData1D.pngPNG  IHDR}EϔIDATxQDso[̘LII%H&yMt5颻$I7I*It$1LIu1d;2SDI8T;g;g;y^>zgggnr0\/]\\;\pMJyg,[Vy@~)E*qA%`l??IuEXt:ܳ7??N<Oc5ϸ&LR𻴴ꛛ>_5: j۹͏Xd22F+wZ[[#COMM2.dơPH$1|l8HȾ`ќ Zdp>&;㱰)'8G"'''ՖaL4^}hhn7|q9xqq8h;ZZ^ՏIOOO~{}JZ?(~qmh#׹89X+'VQ|[[[uuuͶ*$VxxxP_~l4#?cԝg|ssC.>1V[[  XYiR]/`31kDfLc Sb5[u^ 1_k ڒ>~~~%QEygY)c~g t֏̖֞[[[ooo7667%buDcK/W#V[\11#V` 1| ` ƈ` 1W㇇_]]]]A`l###a}X@h>&!VA&dWT-j?PXW6w0p͸ _h@?1я` !@1C` Uo4(OZRK$h~Ӎ-lTHZlj0@ixWRv{0L|2V@W-l6Kx'cϟ|x̔喗}>cjCn4($V@ L&yhT;1c!0c޻fcN(hiiWxҶJ6_"wqqE޲w,cg9۽MGVWWOs^Wxss3[9cQy!u_\\fvV.#S$I"tDy)ic-;={ygggn;c2.[ٞ s1}RggѯKxT7ՙ^&ϫɩmmm+++Jr}}}|rv:Y.v "k||\X(hCcXaB"IENDB`PK zF; dd%sdi/renderings/SimpleBinnedData2D.pngPNG  IHDRlFu+IDATxAhUԲPc!h),B9"PI=&B%x*B"mKZj0ٗͼy;ov?Ly;ofD`] g rj3 Au/Ԏp=id™g͏?ܿѐœ>{̙3ϟ U. s6, 9;p\ؐpz䬯(;|?gO svD>3W8@Ꟊ V(_nk-^i߈q6!R7Sjp)_ngYY`ə&P{j>ɐE@stz|E@}0gxUkhUO ԊJFrtu[ZʧUF"S,| t͗\fœM j\?SxUf5>/Y4]fBenϮ%ϤU#>@:ʎ;vM _rǧ;yokkkœ]@LvѣGə]>@yyg3jvS1+;$g9LΖP~ۄZ m"(h٪*87uZrf3eh6ڷo_ܟBPo6}'rfxsnnn||ÇZ飷 oBFbtu[7 ZkGxFGGWWW7YY~P^vZYXc. pd/-xfG'g69 tp ,A(g?7yg(*q}~'ON8S먑jp@lr%JY"g*wb>~ ϛ,nwqI@oUg"xޥBP ov gWdXאqmIFTߪ:-93l>@ugϞINZVFTߪ8߉q6 Cifff~~AVP>] h,DWI/N=(jh]5 a>ӹ3ڀ[14 YbTߊrz }'STߪ8q3= ,D9ˉ裓8E2xV~:Y9{ɬqԩ{ɅW*s*Y6n[3rዻ;kDδow `{|J 9{8u:y38@ዻ2934Ylqqq#dTcףId;J>Br~Y9CrwO&}ə!g;cӄڈ縳{?G2t]"]A2o9*gHf[G'gV9g.jp[|FΜ$YNdJǙ:| tFpDA49L7.~_3 sik6MrfP.Nk6k{{@!^xJFrtu[ZKxc=TgYYYҍRAugeSe&%356߾}PlꎦCe&,3rfi( )Ѥ^BΪ[PLZפG'gf_,jpT5)8oS(fG'gV9ʱ|fN[x֞MJ.cșe:P9gۀ=p=iwPy|YEAx~S3x?g_B;='9s| P֌ʭp:]lGg3r֗MYE9c{J 9#g36ܜ1*A g r g#,K}Ҷ}U&2ϔwt:YlԣG̵}U&tdlnnʜ!ORNqb>3 %`vbkkl?~Ao(Vli8 `8 `8 `#dDZ,kwwWҁmu1T*}||Ou ;;VCY+MEV'0 ``UzF4?`)J/0e e   `4`[-cߴè"1͡xxն_c .c!MFEQ*Vk8\BFW tL&ꓫ2G,2% |ytsX-cm7` dx\FalL[xXIENDB`PK zFtCK K sdi/renderings/SimpleDataXY.pngPNG  IHDRvA IDATx]HT[E $t"y̘C ! D d`  #FAHЋ>H 2_;>s>gXά7k^dEI$cEC@"H1t:IldsppP9tU>fAK\8...D"z19a =sL?9Fs17??_YY_cEd*Ѱġm Zrcϟ?9B~E999bN& (TWW:b.\)ښZ__cۍC)cnjj !OO:9yAح[927>>bOwvv r&llp:q|!b\F+<i/C@$]_zx"H?!&|BzzzDU)OHSS1k/^|?T]]\j\&oK񠪪bk@z0x 1[ikyyyc7n( I$!CT-**J,/=55Ee?[2Խ'1M`Gnmms[ COP޽{TСCǎkii:sIw+)U(J=Mvڛ7o_t}8m&OžO;svR.蟚Dss~כ/_:6#8z"mŜN8!?5tt͛߫ӧTވeR-,,={}vh\>%bNI$l\{{ׯ_%zzz>~II3 > 0/,,lkkLUYLbccCتUui1'`0ʨd1*++\T L\9bN؊I{]Q,@5x}@ sj Hq-P_iUu_֞ITWou?' D\LB8㥥?~4|&נuuuGF8}mmm%%%ƿg޽k@FC2[]pW ƿ{ڳt4\Psz_vvj86d2SI탆i?}Qs,5~wwwn7&IhMh&jQ;::醁T]m*;pV,0V} 9N'.r͜\$xbltd2 u31XʰT^Ve BHQä> f pQ5WJ5BCVseee333~fl7ZeyG?vn熇OZ9L6\ͪ*$lQ[A^5a[T.p$NKIۆ5l/zeR9{<Dz$f|fÀS}&ҶmI|0==]]]6/_???_ZZD۠ ti\b&6x8G禦N>'WgaBn\1IÊ>2T'qa*sqm}}}n[= bN$U1sU1|~c<39j}e9Vdnljܪ9K2gMy#?nd-{e9s G㑹 VWt6b|?'ueeQUvYbΒfgg+WoJY9nCPNNɓb1}ұ^7jK閬PvwwÇ_~.j>~b_lO>>~ȒsKKF_[ì19b#9b>&1'aV4b#s4|d1Gs$".iH#91G"s$b.N_ϨO7QNŹ%Ǔp8^|#sJ_7L,'ǛA[^^...[raJur øH+Z[[Y|i90:9DMLLD9+|珍aNrmDK{:w7X󕕕I + {ݹsxwx#U^^!s|?og\׍NĖ9! <1-oMzCrr<'cԽ?BmiiIk9:|c<9Saa!jSS/H"#s$_ MSIENDB`PK zF sdi/renderings/SimpleXYData.pngPNG  IHDRlb. IDATx]_HSa"Dj#',R9JF#*0@‡$Vj 0Ї|(@ ,Bh1"|a` ѥݽ9rwle Jb<44Tv)`^YZZWjiu.TUU}zqTݩ3g8?`={V[W;}Q^5vٯSp&߾}sFo߾?`9cgXrUaYN,+ n{`;1ɓ'p1Ռ5 -p(*$|>xdaAzU;E,Ç:rk0ƪJ&DwuunnnNOO۷O02tT;T.C\0333}u@/$ x:^wJr@]HKK⢆Ѯ_~ L4̑bߺh6 ۘW^t EceO:J lB&| ;v˗[Ϊ*oppVd['XcVW8 ƁSx 3d2uS!I0s񨪝S@&ڄi+<.p$K0&QZXXqXZrln60[D]aΥuEwnwo>{^ɍmĀ oVdK7lW6;;;P[[~#ÒAi]= `?~bAziT _͆k׮ m_9 v,|olllnn> . -;&Zavy~q*R\[W>NfcumR 𶶶J[ͽn>0 ϋ ߅Mx> DbDN#P(r@߽{"Xd KVXHYk7oXiwSO2%-@QR#zU)}3 I&BPMMMzQCW$p.Mʕ+til;q =M`5‹om_=`>X0LNFJ-8M& `xLb0 LB$举pP&R)ϷsN~!'u<5O<9 V{T_)=nlll^gY~ɖ\V89n(tU]z{{ƶf͛xY{({zEwb-/^~ip A#֠h4{[WW'D҇(R8&XUm徣IENDB`PK zFd d sdi/renderings/XYData.pngPNG  IHDRvo- +IDATxQHS_+&)=(nS`*= h"Y L |8ABbFQ2""!xvsν2~(T: L ҆^n' VzVWWfsTzX[dgg>}rڞFGmz ?OgggEEO޽{!X lHp]rڞ`0 mfsX}pp}Uif\඲ Cz4'(33ӧOrF;;;yyy߾}}BztQI e~RmmOCCyl(ȿ`~~?҃mUVV?v#=h{ X̏d3ң=Q\?~ȀFO!gvgg'ߕ+WU=H- TX,sA8y許\ =p0@C*?00 HOAh/_ '.aj^3<< E|O8nd!=<|J( 5'>pq:8uPRPPP=ps҉Q!t:# 566=_|I=z~?}3vEO`H&) F}U)@pnCb=ׯ_fggSsyߞ\#1pdL5e贺zzz:jK.Ep&z.׼^[N:>33q/ a "9p ܻwyUJʹPyl9$ϊz)fFT!25z h 8~Ojz(URV!#l2@q?VTՀw!eš!m d$---) a* ӧ.\s0>|(k{::: y3J*. rRrg{`̶Bg{fffK"LIPBm/0.=gϞ9tғzHG :BL&y*=9@؞v.1=pʞ?聿7ONNZVRz QQ+`Q4//8I"=~?++K>eڊ5kt""s]oE _&=J:Wssf.><~e:ʆah{S~~>pľi(DrLz<33q JйAOqΘ+] t؈)fYkN)((Yâ'B+M =>/o-J73vIioo' AOr=b?ғPpFK\EzQR=Wyyy]Q2z.Υmp[X@z(jK\twu.mOMM .љaԹ\ mFK\b|OnE.AafχLQLpþ 'ѓʨ\JmzNNT.Azk6UY ~'qV^_\\t{[YyzW(?SUU5==MDts%҃BiA}+:kIO؋&&&JJJȧзGefEID}+{lrsss BfEB"9----'fEKObf-_7-z n'=4+Jz"nEc{BbX=E,\X'gF%=x Qwo{hmm݅SSSvߍ蟝fEIAg>ƅ{ @lc8Ҭ(҃2='IENDB`PK zF3u5e e sdi/renderings/XYZData.pngPNG  IHDRvW ,IDATxH]AkĕPDZWǮE- !@KG6جlb$ !l`)BG+&M`^ZkBㆷqSnKM5bIV.ꧼ'X7,υzرN!EӔ]~=}Pរ,+a͛VaX6ӧw!K|vzJ*VaѣG 1kΝp/ 7`v>ud!.kB C$X}5f]jϟ"GV!C\|KmC`E?bWiJz harVSX Rߥunn.LX vG+֐a=qm`4@X?e3)0<<\YYYXXokUUȈg"9uú44~_NK 1x… !dp:o`Eh̴_J W7TC<[Q7Q>!$6mkss39kK欿gGVJ|Vx2NC#vG+% ₑե_;wz MIk!.BWJ`ҥK["2EΔn;XO<* K7YwXGv.A7֭[qx _7*><+8C\타ԉ [=$%M.RW*R?Fix qX7cud;`(d =i,hIY\6f=k־"d٢[ۡͽY -`nE,vǁ ְa>b۴;7#6>>|{6I Rdw1j,,,검ull re&b.S<7 bkjqe."?fSL$y^̥g-++:88Qd]X?쀪:Bm۶m=p_H$jkkqa!"426"D>E=k},Y` f2kˏa\Y` `߀ی]yͿLM-`MJ{<_66uWOo_+/9;"zuWF~7 : uWpw3@D.]irw2 mߠn]{ ^d`} 1`p'X VI3`%XP=`%XV'JFFd+JFFA@'籵@«%YYY r6 $X@V@+z \52Ij zW^qU9SOz*@«%L&! p= `_ bdTUMo.U= ր @Bs)gͩр $Z2᠞D*h $XV22`U]_B___uuY"x%%% n*&L} 󫫫;^'5S̆$5"[j"CCCl P>u ,{lG9`%(&|xRs8Yê٦gyY J yI`0|HΪgexT$544"+7w+'{f̶ԗ :A `%#XBn਼NIENDB`PK zF? sdi/renderings/generateImages.jy# This is a an Autoplot script that generates the images. See also trimImages.jy # which trims the whitespace which is not needed in the HTML documentation. reset() setCanvasSize(350,252) # note there's a bug in Autoplot, so this must be done manually. out= '/home/jbf/ct/autoplot/git/dev/ScienceDataInterfaces/src/sdi/renderings/' # SimpleDataXY plot( dataset([ 1,2,3,4,5]), dataset([1.5,3,4.5,2,3]) ) writeToPng( out + 'SimpleXYData.png' ) # DataXY ds= putProperty(dataset([1.5,3,4.5,3.6,99,3,4,3.5,3.7]), QDataSet.FILL_VALUE, 99 ) ds= putProperty( ds, QDataSet.LABEL, 'Density' ) tt= dataset([ 1,2,3,4,5,6,7,8,9])*datum('1s')+datum('2015-03-17T10:47') plot( tt, ds ) writeToPng( out + 'XYData.png' ) # DataXYZ ds= putProperty(dataset([1.5,3,4.5,3.6,99,3,4,3.5,3.7]), QDataSet.FILL_VALUE, 99 ) ds= putProperty( ds, QDataSet.LABEL, 'Density' ) tt= dataset([ 1,2,3,4,5,6,7,8,9])*datum('1hr')+datum('2015-03-17T12:00') zz= putProperty( copy(ds)+randu(9), QDataSet.LABEL, 'Radius (Rs)' ) plot( tt, ds, zz ) writeToPng( out + 'XYZData.png' ) # SimpleContiguousBinnedData1D xx= [ 1,2,3,4,5,6,7,8,9 ] yy= [ 1.5,3,4.5,3.6,4.2,3,2,2.1,1] plotx( xx, yy, renderType='stairSteps', yrange=[0,5] ) from org.das2.graph.DefaultPlotSymbol import NONE dom.plotElements[0].style.plotSymbol= NONE writeToPng( out + 'SimpleContiguousBinnedData1D.png' ) # ContiguousBinnedData1D xx= [ 1,2,3,4,5,6,7,8,9 ] yy= [ 1.5,3,4.5,3.6,99,3,2,2.1,1] yy= putProperty(dataset(yy), QDataSet.FILL_VALUE, 99 ) plotx( xx, yy, renderType='stairSteps' , yrange=[0,5], xtitle='Density', ytitle='Normalized' ) from org.das2.graph.DefaultPlotSymbol import NONE dom.plotElements[0].style.plotSymbol= NONE writeToPng( out + 'ContiguousBinnedData1D.png' ) # SimpleData2D zz= ripples(10,10) xx= [ 1,2,3,4,5,6,7,8,9,10, ] yy= [ 10,20,30,40,50,60,70,80,90,100 ] plotx( xx, yy, zz, renderType='nnSpectrogram' ) writeToPng( out + 'SimpleBinnedData2D.png' ) # Data2D zz= ripples(20,20) zz= zz[10:20,10:20] zz[7,9]= -1e31 zz[8,9]= -1e31 xx= [ 1,2,3,4,5,6,7,8,9,10, ] xx= putProperty( dataset(xx), QDataSet.UNITS, Units.lookupUnits('hours since 2015-3-23') ) yy= 10** ( dataset( [ 10,20,30,40,50,60,70,80,90,100 ] ) /30 ) plotx( xx, yy, zz, renderType='nnSpectrogram', ztitle='Density', ytitle='Energy' ) writeToPng( out + 'BinnedData2D.png' )PK zFǶksdi/renderings/trimImages.jy# trim the whitespace from images. dr= '/home/jbf/ct/autoplot/git/dev/ScienceDataInterfaces/src/sdi/renderings/' ff= listDirectory(dr + '*.png' ) for f in ff: p= getParam( 'p', 3, 'extra padding in pixels' ) from org.virbo.autoplot.ScreenshotsTool import getTrim from javax.imageio import ImageIO img= ImageIO.read(URL('file:%s%s' % ( dr,f ) )) rect= getTrim(img) x= rect.x - p y= rect.y - p width= rect.width + p*2 height= rect.height + p*2 img= img.getSubimage( x, y, width, height ) from java.io import File mkdir('%s/trim/' % (dr ) ) ImageIO.write( img,"png", File('%s/trim/%s' % (dr, f ) ) ) PK HF AMETA-INF/PK HFOwa+META-INF/MANIFEST.MFPK zFA sdi/PK HF ABsdi/data/PK zFAisdi/renderings/PK zFAsdi/renderings/trim/PK zF Asdi/units/PK zFLN џsdi/data/Bin.classPK zF ~sdi/data/BinnedData1D.classPK zFsdi/data/BinnedData2D.classPK zFPW%sdi/data/ContiguousBinnedData1D.classPK 4{FېN(( sdi/data/DataList.classPK HF_bbr sdi/data/DataListImpl.classPK zF  sdi/data/FillDetector.classPK zF/sdi/data/FillDetector2D.classPK 3{FuyG  sdi/data/List.classPK zF3(sdi/data/MetadataSrc.classPK zFsdi/data/Named.classPK zF\!sdi/data/SimpleBinnedData1D.classPK zFH!sdi/data/SimpleBinnedData2D.classPK zF  +sdi/data/SimpleContiguousBinnedData1D.classPK zFiasdi/data/SimpleXYData.classPK zF=4Fsdi/data/SimpleXYZData.classPK zF%#"=sdi/data/UncertaintyProvider.classPK zFF$5sdi/data/UncertaintyProvider2D.classPK w3{F:4sdi/data/Units.classPK zFe !sdi/data/Validator.classPK zFA(sdi/data/XYData.classPK zFVimC&&,sdi/data/XYMetadata.classPK zFc-sdi/data/XYZData.classPK zF%b0sdi/data/XYZMetadata.classPK zF)n1sdi/data/package.htmlPK zFrs^~ ~  Asdi/renderings/BinnedData2D.pngPK zFe)Msdi/renderings/ContiguousBinnedData1D.pngPK zF; dd%Usdi/renderings/SimpleBinnedData2D.pngPK zF뒙../]sdi/renderings/SimpleContiguousBinnedData1D.pngPK zFtCK K 5bsdi/renderings/SimpleDataXY.pngPK zF msdi/renderings/SimpleXYData.pngPK zFd d wsdi/renderings/XYData.pngPK zF3u5e e Psdi/renderings/XYZData.pngPK zF? sdi/renderings/generateImages.jyPK zFǶk*sdi/renderings/trimImages.jyPK**