PK HF META-INF/þÊPK HFOwaºÃÃMETA-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.classÊþº¾4   getMin()DgetMax getReference SourceFileBin.java sdi/data/Binjava/lang/ObjectPK ™zF ~©¶ÎÎsdi/data/BinnedData1D.classÊþº¾4 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 ™zFÔݰÔÔsdi/data/BinnedData2D.classÊþº¾4 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 ™zFP—‡Wÿÿ%sdi/data/ContiguousBinnedData1D.classÊþº¾4 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.classÊþº¾4 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.classÊþº¾43 # $% & '( ') '*+,-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.classÊþº¾4 isFill(I)Z SourceFileFillDetector.javasdi/data/FillDetectorjava/lang/ObjectPK ™zF/©ó��sdi/data/FillDetector2D.classÊþº¾4 isFill(II)Z SourceFileFillDetector2D.javasdi/data/FillDetector2Djava/lang/ObjectPK Ø3{FuÇyG  sdi/data/List.classÊþº¾4 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.classÊþº¾4    getMetadata()Ljava/lang/Object; Signature()TT;(Ljava/lang/Object; SourceFileMetadataSrc.javasdi/data/MetadataSrcjava/lang/Object PK ™zFœ²ŸÁ��sdi/data/Named.classÊþº¾4 getName()Ljava/lang/String; SourceFile Named.javasdi/data/Namedjava/lang/ObjectPK ™zF\äðÏÏ!sdi/data/SimpleBinnedData1D.classÊþº¾4   size()IgetXBin(I)Lsdi/data/Bin;getY(I)D SourceFileSimpleBinnedData1D.javasdi/data/SimpleBinnedData1Djava/lang/Object  PK ™zF³¦ñHóó!sdi/data/SimpleBinnedData2D.classÊþº¾4 sizeX()IgetXBin(I)Lsdi/data/Bin;sizeYgetYBingetZ(II)D SourceFileSimpleBinnedData2D.javasdi/data/SimpleBinnedData2Djava/lang/Object   PK ™zFÞøô  +sdi/data/SimpleContiguousBinnedData1D.classÊþº¾4 size()I getXBinLo(I)DgetXBinReference getLastXBinHi()DgetY SourceFile!SimpleContiguousBinnedData1D.java%sdi/data/SimpleContiguousBinnedData1Djava/lang/Object    PK ™zFÑÉÀi¬¬sdi/data/SimpleXYData.classÊþº¾4   size()IgetX(I)DgetY SourceFileSimpleXYData.javasdi/data/SimpleXYDatajava/lang/Object PK ™zFä=4ç½½sdi/data/SimpleXYZData.classÊþº¾4   size()IgetX(I)DgetYgetZ SourceFileSimpleXYZData.javasdi/data/SimpleXYZDatajava/lang/Object  PK ™zF%¹#ô¸¸"sdi/data/UncertaintyProvider.classÊþº¾4   getUncertPlus(I)DgetUncertMinus SourceFileUncertaintyProvider.javasdi/data/UncertaintyProviderjava/lang/ObjectPK ™zFÅF½½$sdi/data/UncertaintyProvider2D.classÊþº¾4   getUncertPlus(II)DgetUncertMinus SourceFileUncertaintyProvider2D.javasdi/data/UncertaintyProvider2Djava/lang/ObjectPK w3{FËõØ:¤¤sdi/data/Units.classÊþº¾4%      !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 *·*+µ±   /*´°  F»Y·¶*´¶¶¶°% PK ™zFŸe¬¾¾sdi/data/Validator.classÊþº¾4^ 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·¿=d¢M*¹ J)*`¹ —š »Y ·¿)*¹˜›)*`¹—ž »Y ·¿„§ÿ²*d¹ I(*d¹˜›(*¹—ž »Y ·¿±J$.4 G!Q%Z&b'p(z*”+ž%¤0®1Ç2Ñ5> +!"b<#$SQ!"®##$Ò%&Ë'"(" ý $úüü&ú úü"ú )> *¸ *¹W±>? @  %* +q5*¹*¹—ž »Y·¿*¹*¹˜œ »Y·¿±IJ4K 5%,( -.] *¸¬L¬TUVW/0 %*(F123PK ™zFAº«šÕÕsdi/data/XYData.classÊþº¾4 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.classÊþº¾4 getXUnits()Lsdi/data/Units; getYUnitsgetXName()Ljava/lang/String;getYName getXLabel getYLabel SourceFileXYMetadata.javasdi/data/XYMetadatajava/lang/Objectsdi/data/Named     PK ™zF¡Ôsdi/data/XYZData.classÊþº¾4 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%ƒb´òòsdi/data/XYZMetadata.classÊþº¾4    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 ™zFrÙs^~ ~ sdi/renderings/BinnedData2D.png‰PNG  IHDRëv¦�ó EIDATxÚí�_hÙ‡/¸A˜àªã cŒ±0Ô5¡‚³˜�ö%¤Ð§æ!k‚«—’†<¸&4 AÁo¥Ð’‡ô¡o‚Áõ¦ÆI\•Ä•½%5ê’Ät½Á“ÖxMnH‚W#¦‡Ì2i¤sï�{ç�¤sø!FšÑèJúæÌ™sî�ËL2²F6F?LFF[­!ó߈`Á5 çOñoϾî\ïžUy/rœ¼xñâĉGŽ�å¦õÁDp˜Ç"qúknyþüù«W¯Â<Â2ù`"؂㠑"Áoß¾……wïÞÁ2ù`"Ø‚»"ñÀšû"ĭ⃙¹¡¦M[I£à| B—M)¹vÎi˜g‚÷Ì!¸�!"ìÅÁ�<ÈQLGžàc ‘T.Â0ìwÙ¹x|ùò%Lû@pš!Šf.Ùß6ÍÍÍ Åb±cÇŽ---Qu‚?`ˆ¢Yñ·)™Lfww·\./..vvv’Ž:ÁßcˆZÑÛ–Ï燇‡‰à¨|†!jQ‚­“NWW×ÚÚš'‚×Ôô©­¤qßù„þ.ÇFÍÃCM‡”4J´Jÿˆ!!)ÏÏÏÂ*x„åFòÁVÑßßOG�àq†H„`$eÖÑÑQ(`#‘võîãorrroo^XXH$DpÔ þ)C$B0R¶€0ruuàQ$¤ È;¿•ûø›žžp�ét:½¼¼Œ$m[YY1–4îªé¾­‘•ÛΧ £¾7<œYù¸ê5~ÐÈÊŸs(5…—"‘ª2R:.‹LЇ”!ì¹lˆfÓÈèƒÉ)ú`í(b`` Š«wÝ ‚C&ø× ‘®8¢‘Ô*ù`"Xžàß1DR¹»tl¿k~~\/¬‚Çå"ð8XÁŠù`Ïs��§N%�|å+Úh®uløFð¢fË»ÃyÏ]7ˆà¨<ϵbUYGLHðC¸¯^½Š:Á䃣B0|T})ÖäÀr¹\"‘hkk“:à²oxxxkkKˆ`œwòÁMNð?"Å\ÄÔÔT*•ª"nÛÛÛgÏžíïïw÷pdR¼“nr‚3DŠùàÞÞ^¤‡­ˆ‹EhÃéÓ§±(á�|p“Œþ–Š59X•ÍfÛÛÛ-'‚"¶¼¼ áG&“988€§‡ðãàš¼‡ApIMol%�ÇΧ ”à§\ oûJ¥ÒÑ£G%â`Ár™™™éé鹆#‚£@pÖdˆ«Ê—/_¾qã†)?B,{òäI__ŸP>xllìÞ½{R‰0ä ‚U±±ÊÜѹŸ zlkdå/Χ t¬ò?yzˆŽ(æ¢Î£ò> Ze¬ò�M†HÑ{ž�æÒ¥KîíÛ·k^•±š¸z×}8ÁþŒ“#œþ�É©ÇÁB9iÅ+9Å‘3Ü×dˆ«Êž †Ø ÑlÚ£G�:;;­hC$&ößÿœ§ª[Iã¦ó)%˜›i®âŠÊWäÒÉ.ác•ý"8i2DaU•ßõõuQ�Çako«ßfž—௛ QcÔ䬯»œw4V™Ž`f~ SH>øÊ•+H6¶ºM}}}ù|^ZZÒx{6"¸Aþ¦ðú¦IT•K¥ROO�Õ+-ø¶ÁaÜ‹IùþÁRݼÊE�n.‚¿…I-›&ÛÍK0»À¤2䃛�àï`R«hØ&ØÍK0»À¤2Dp³Ì› F¡ª,ÛÍK0»À¤2aDÜŠÆŸQ²ž4~QE?ú_r?÷À©¤ñ¬ò•/x­w¸Æñ?õ“àbRöÁRݼ³ L*s†&‚ƒ$øCLjq°l7/Áì‚j¿"¸¹þ &µª²çž= �‹ ‚#Cð$¦œONð€£882Oa £ª|ሧááB\Œ`;Oá^Pç˜|pƒüL�ûà‰‰‰t:ýúõkóý]US©T6›%‚‰`ä[ÿ“ZMŽ;ÔmÝÝÝ»»»ÎD²ûvU‘'˜}Ì“�©dÚJ~Vñ„þ—3<½Á;óô© Ü·Üô“àYLj¹]ÝÆb1"˜F¾õ]Ljù`ÝÇÝb5¹6— ö®äž&ˆàÆ!øï˜”ï,[8aÒßÙ¸4ŒôL~ÄÓ ¦Ï [#*ž‚Бž7yzŒ#åé¾ Ü“éú7Ò“S Ü‘Mó}”ùà@}0:è0ð88h‚}éIJ0:¸U­&çyù`"Xœ`´;^SÖäüéÉË˲-T‡4CX\Å7ú»äxª8Ã&�O*_ávÎÄ¿rWÌ5ÿî]Éþ‡Šf¥õ¥ªLk$øsT4+-ùà¨ü7T-س‡|pƒÌ»ýªÔß̨OòÁD°cíoQIìǨOòÁD0JðÏPIìǨOòÁD0Jð‡¨ªÊRed£>Ï›} �ïÃÌq2ùQU.ý]¸c¤ñ{W6&ÁßG%àƒ�Xû1ê³ñ|0(ÁßF¥/ö<ê“&‚Q‚¿‰Êk.Â×QŸD0ì\{€ŠòÁG�à7¨Z¯&';4Š›à/Pµž–íëC‡Mðç¨Z�`Ùþ–DpØQ1½g`-3Ôú~Ç<§Í'XŸù·g_w®wÏ<‚ÿŠJ[6Íô:Cmú`"8P‚ñÁڪʞg¨ÕI°ÈXe q0(ÁD¥­ªìy†Zý>£�ôy«¬ÑüÛ³¯;×»gÁ7Qi«*G¨¢¡}œ™ß†þ¿B¥39'M°ç±Ê2§¹(®mÜfS Ð8CmD}0Ü”7F>XïXe"˜!¡>V9˜Ý׿³A›M>˜P ‚‰`"˜&‚‰`"˜ŒŒ&##‚ÉȈ`2"˜ŒŒ&#k6‚݈¥&ГÚxnnnhhȺ;bÕ}�¤ö\om.—K$mmmUÙ.Åfçóù��höèè¨s2@Í&‚õ›»ã„ÔÄ!Rg2  \./..vvvzÞs͵SSS©TjkkKûw„£¢P(À<ªü D°/æî¼æ~Åvi"#{¶ ¼Úðð°ç=×\ÛÛÛ[å×u5Û&xuuUå!‚ýù0Wb© ôdgÛ³ºuuu­­­yÞs½í³Ùl{{{?øx�Í^XX°¢ˆk×®©ü Dph>Xׯ–YQDÕjÕ}p<·ÏõUsUk>nŸëUv^oDØù@´MqpDsvb© ô�þÇîUÓÓÓÀ¼’N§———=ï¹æZ¸F…W­€XW³­ÈZ~ýúõªàA¶ÙD0LFF“‘E…`÷,bû¶ø½¤ªq5Û€oOFš{±zWÓõnC!’ß@ªq5Û€oOF×0{±zÍ*‚aU{{û™3gvvvªv%R�ÃÛ ¸=ü•9g«WUrûÝR©^ÞXýdªq5Û ²=ü•UÍ"&âƒ�fWS¹·—sVãªÂèš3™Õ¬Þ‘ÁæžEL$¶ ËårÇ�çÆÁH5®fðíɈ`³fV¡Þm~ÜÛX ±Xìäɓϟ?¯—‹@ªqxðíɈ`22"˜ŒŒ&kJû?UM²x\ IEND®B`‚PK ™zFõìe)sdi/renderings/ContiguousBinnedData1D.png‰PNG  IHDR¡}EÏ”µÏIDATxÚí�QDsoÇÇ[ŽÉ̘LII%ÓÅH&yMt5颻$I7I¥é*It½‹î’$1“LIu1µ»dÒ;2S“D’I¦ÿÏÿá8T;g;g;Ïyöý^§³³ó>ïóÙ÷÷<¿çwvfû‚D— ]ÆPe3¶)„®–1zP|ƇÃn·ƒÁt:]\€J$#Çãl6»´´ä÷û Âùï›ÎÏÏÿñ*˵Í`ÆLÕÕÕ:Çoj·áÎrm3˜q.—[^^öù|:r0æ‘1s¤$I�@ ™LªÎÂàc«úب\ ŒE`ŒX ƒ1| ÆðqAË,`,ã¿¿ ŒEˆÕ` ƒ1 Éø�B2 -«Ð«««…v›ìãÑÑÑH$B;{{{“““ùÿ�ëëk�Ç£±Ëàc^“�åýü>þøøðz½gggð±Å»Ýnr0íììì¸\®“±œ/]\\›;�±õæ\áp¸­­M’¤ŽŽJ´«yg,[Vy³@~ÓÔìéé)—ËE£Ñü*øØò¹ÓññqA«%`lã??IuE£˜X½¿¿ït:µÜ³7??ÿþþNŒ<O™c5ϸ¦¦&™LR ¦ð»´´”çê›››„–>���§§§_å­ƒ±Þ5:‰ j·Û¹Í�ÁXïˆÃáÈd2Æ2F¬æ+wZ[[#COMMÁÇÂ2.©ÀØdÆ¡PH’$�ù1|lÕñ8‘H”Ⱦ`ÌÑœ ±ZdÆóóóáp>™ñææ&»;ã±°Œ)'Ö8G"¯×ËêÇ'''ˆÕ–aLÌ4^}hhèöööëÿ›Ün7|¬‘qž9¤Âxqq±Ðñ8“Éh©;ÁÇZZ^ÆÕ�IOOO~¿ÿ·{}JZ?(¥~«ÓqÕ÷ê©mòÝh#×¹âñ89X£ï+'VëQ™|¬ñê[[[uuuͶ*$VóÎxxxøðð°P_²‹¢~l4#?¶cÔ�Äg|ssCÉ.»Ûòþþ>�1¡•ŸÁV[[  ÈXù²Yßi›žž®ªªR]ã/ýÏ`3ÖÇ1þk¶DfLc°ü ¶‡‡Sb5[u^ ƒ1—žñ�_kÓ ±Ú’>~~~¦ñ˜%QEƒ�yg¼¾¾ÞÕÕõùùY´)ác~g³Ùööö�� �ÀtÖ�çææÌ–žú±©Öž[[[‹¯ooo766¾¾¾ê7%buéD�cäœKã/W#V[†±ž\ÈØú1óÂù1#VÃÇ` ƒ1| Æ` ƈÕ` ƒ1W㇇¿ß_]]ÝÝÝ]Ð]A`lÆ###ìa‹´¥}øX@Ƈƒ©ÞÞÞh>³&!ïÿV¡²A&ÉdW£T-jáâ?ŸPÎñŒ­ÇXžWÓ6“Éw¿0p͸ ‹_h›Þ@?‚1úŒÑ�` ™ÿ!@€1ÆC` Uã¢o4(OZRô÷èKÝ$íh~Ó�-lTHZ¬l˜jšÿ0¶@ixWR“ìv{0L§Ó|2Ví@WÍ-ÃÏ¡l6K¡xÈ'cÕ„�µŠ«ÏŸÅ|ÌóxÌ”Ëå–——}>Æc½ójCn4(Å$V’¤@ �L&yhÛ÷›¶T;ù1òcŒ!0†ÀcÞ»ÏfcNÁ�(Ùhii¡ÄWxÒ¶J6_"‘ ÄwqqŒE°÷÷÷�‡íßÞÞ²Åòw,cg®­­9·Û½½½MGVWWéOås•ŠÇã^¯W¾xss3[9c“Qy!Úçó±çu_\\fvæÖÖV.—#äìçS$I"ØtDy)å÷÷÷i‡ÞÒßßóåc‚-;’=€ÿ{yggg§§§Çn·³�ü;c2.[Ùž˜˜ Ï s1³}Rggçîî®ìѯßKx©TйŸ¤ý··7ùÕ™™™£££ÞÞ^ŒÇ&ϫɩmmm+++Jr}}}�|Œ¯rv:�ëëëòÁÙÙYö.væóó³Ëå¢ Æ"k||\ÀX(‘¡ÉåÑh¹ÆCÚõ–cXªaB"IEND®B`‚PK ™zF; ¾dd%sdi/renderings/SimpleBinnedData2D.png‰PNG  IHDRÍlFž¡u+IDATxÚí�AhUÆÔ²äPc!h)¡,B‰9Ã"¥ ·ž¼´PâIð¨„ÒÒ=ä&B%‡xð�*–B�—†¥ÅÝ"–¢mK§Z°”¥jŠ„ñ™À0Ù—ùæÍ¼y;ov¾?ËL²›y;óËÞûofDÀ`ØÁ]À g r–j3 ûAÎu/ø¾ïÔŽp­=i›d™ÎgÍ�?žœœÜ¿£Ñ�Ëä¬ÂœÕ�>£{¾óÌ™3çÏŸ— òU.“³ s6,€ 9;pàÀúúº\ØØØ�Ëpz䬯œ½(€ô;|‰?”gOæ³ svD•>Ÿ‘3W8@ꟉàŽ�îÇ ðV(Ï_‰®nk-^· òi­ç߈®q6!€R�7ÃSjø©p¼)_»ÝngêYY¯êŒ`É™‹œ½&€úP{ ¹j>ÔÉ�äÌEÎÞ@s¦öïtz|äÌEÎÞ@}0gêxUkþîh·ÛÑU¹O ÔŠþàJ¨Fûrtu[ËñZ�ʧµ�ö×ÑUF"SˆùŒù,§|ö®Òá tÍ—––ÆÆÆä¯ä«\fÿ¬ÂœM ÎÀ¡—§ÕjÉùš\?S®êxUý‰fÊ5æì>Ô/Yõ4”çÿ]ÝÖf¼žBenÏ®ï%ϤÑU#Î>@:œÊŽ;vóæM¹ _år©ëgäÌŒ³¤ã;�®y§Ó‘o�¯kkkä¬Âœ]@†ùLvËÂóæÑ£G�öÑÉ™]Î>@yõÏäyóàÁƒÌgæì3”j¼©vÍåS¦1ù+ùª;Þ$gƒÉÙ¨€ú9LΖP~®¿ÙôÑï”ÁÀ‘Û„Z åù ÑÕm��×"Þ(h­µúÙª*8Ÿ©õ7›uZrf“3™ãeèÈh6›‡Ú·o_ÜŸBPëo6}'rf“³�áxsnnn||üáÇó™Z³é£· ìðoãõÔB¨Fûbtu[çâµ…7 ZkÍG—�ÏxÖÏFGGWWW³Ÿ7ÕúóYYó܆~€üÕìììÐÐP½^¿víZöþYXcÿ¬¬œý.€ óÙððp˜�d/-Ëx³§þfÓG'g69ë ÃþÙôôt˜�²pÖßúæ ÏÃ¥,ÄßA(ïg?ºú¿Ä7±êyg�(­½¦*që}†~À“'ONœ8±SÿŠë¨‘³jpö�ª”@Îlr¶%€JÏYšùäÌ"gë�*Øwb>Î~ Ï›ä,ÎnÈÜwÚqÀßIØ@�oUœ�¾Šg‘"èxÞ¥˜‚ºˆBP oµv×÷òüåèª gWdX×�qûömÉIFÎTߪ¸:-93âl>@†uÚgÏžINZ­VFÎTߪ8߉œq6 Cßifff~~·Aà¦÷øVÅùèËPÀ´>‡ä] Õh,DW¥üI/N=ïìÞ(jí®ïÕh]5ñÑß �a>Ó¹3Ú€ê[1Ÿ•4Ÿ½ óþYbÐTߊý³’röz € }'SÎTߪ8�œqæˆõ3ÖÏò©Ÿ= úä,ÎDðó9ˉ³�裓³œ8E2¾ÿÙøøx­V›˜˜¸~ý:óY•9{ɬ®qêÔ©{÷îÉ…«W¯ŽŒŒ�³*sö*’Y�6Œn·[¯×3rõá‹»¯;®kðú€Dδo„œÞw «`’�Œó¶{|øâîJÎ 9{É8Ÿu:™Éäy3Ë8@õá‹»293äì4’YÿlqqñðáÃq#€dÎT¾¸ûºc�×£ûIœ½�dæ;™úèêç™ÏJ›Ï>Br¤~ÆþYù9›CrÄwO&ë×}ÝÉ™!g‘ªä;ácÓ„Úˆï縳{?G2ótª]ä¬"œ]A2o–ë9¯äÌ*gËHfõ³âŸ[�ÆG'gV9ûÉøþgÉÕ.æ³jp·[ö|FΜáì$öÏÈYNœý…d樿JÇ™:Íæ| tíFpDA×4£9ØÏßLø7.¶~¦Î_³é�3›œá sŽÔiÃùk6ýMrf“³»P.øNÑùk6çk {ø¯{@ž!^x¢ÇJ¨Fûrtu[ZÜKxî‰îcòœ¯ñ=Táù¬gþóYYóYÒ�©RA“áš´uþûgeåìS¨”œe¸&%Ýü3›ó56³ß¾}P÷�÷lꎦòäìC¨”œe¸&¥,õ3rfÆÙi( ß)•Ѥ^“BΪÁÙ[PùLZõž×¤”ÅG'gfœ½•_ÿ,îšæ³jpöTÖñ¦þ5)䬜‰¡8o›œåÃÙS(ÇîfÓG'gV9ûʱ|f¯N[x¸Öž´MJâì.”cœÙó�È™eÎ:P9ŸÖÔgð¤Û€=½ðp­=i›”ÄÙwPyžÖö|óYEò¼Ax~¾SÜ3xØ?«g_Båæ;Å=ƒ'·9s›³¨Ü|§âë´ Û÷ÿÇPùŸÖŒò™ÕÊ­ö¿¦pêÏ:ø]lG†gð�3rÖ—ÃMÎÈYE9c{J 9#g䌕œ‘36©Üœ1*äŒAÎäŒÁ g rÆ g¶#ó•,¶¾¿ýK}Ò¶ÄÙ}U&Î2Ï”´wtÝ:‘ö¸¶¯ÊÄYæ™ßöŽ«lÆÐÐÐÔÔÔ£G�œâ̵}U&Ît®délnnÊœ!ORNqææ¾b>3 Ž%óÙ`öÏvbkk«Ùl?~œý³Ao¦½’Åê(¯V«�li�‰8 `8 `8 `#†Ã°dÀÞßßDZ,kwwW‰Ò�¶Ûmu Õ1“¬T*}||¨ƒÏÏOuŒÃ ¸ø;;VÁ¨ÕCY+M‡EñœV'á–ûüñç0 º``³U¢z�Fñš™4?`)JÚÏ/Óð0€Œáe eˆ“   `È4`±[ ¹-—cß´˜Ã¨"–1Í¡§xùxÕ¶_óc .cšï!ÅMFEQ£*‹­Vk8Š\ÆBF¯úW tášL&ê“«2G,°à2®�Ãæ%íó´‡ ŸÃ|yž×ét�sXš-ÐìÖc¶m7›ÍÁ` dx¿¿»\FöalœÀÐLÿ[ÀxXÃñûIEND®B`‚PK ™zFtCK K sdi/renderings/SimpleDataXY.png‰PNG  IHDRÑvÙAáî IDATxÚí�]HT[ÇE”’ ¢$†t¤"Éyˆ‘’̘¤C ±! D„ d�ôÁ`‚ ôÁ #ÃFˆ’AÃÀHЋ>H 2÷_‡;׿ãÌ>sÎ>g¯ÿƒÌXάÙç7kíµ×^ûdEI$c•EC@"æH‚1·½½ít:³²’³˜õ·”½Il¥d®³³sppP†9õt§øÛÕÕU>¿ŽÜfÅAKÉ\8...ŽD"z1Çâ‰9¡™«««›˜˜�a ¿ÏÏÏÏÍÍ=sæL?ù9F�ŒŒ´¶¶s17??_YYÉèÏà¯_¿þøñcE“¶ÕdúðáÃ*—ÒѰ’ÿÄ¡mÆ ZræÊËËÙcèÏŸ?�9B~ŽEÙÙÙøø999äçþbN&Ñ æ´(TWW÷öö:b.åú\±§˜”¬¬¬àÁ÷ïßëëëÛÛÛ)‡�×ÚÚšËåZ__Çc·Û�ÐCÌ)cnjj !OO�:…ÉÜÞÞù9yÕÖÖƒAéñØØØ­[·ˆ9ãê27>>æbOwvv àùˆ¹Ìr&llÝØØp:�q„ù|¾¡¡!bŽü\F®+<‚iÜ/C¡@$æÈÏé]_½zåñx"‘Hâ?!“˜žž&æþ—|�BÎä�zzzÈÏÉDU)ÁOÔÈÈHSS1÷¿äkü/^¼¸|ùò?T]]�§Ä\¢£j\&�ŸÄÜo¥­ñ¸÷ïßK�ñ ªªŠbkœ�@ª¨z0“xòä 1÷[iküyyyûûûÒc<ÀSòsqQÕáp,//Ëÿ·………ãÇ�Ës)s,5þ¸ßçææÊ;6Ñjü���~¿ŸåÖÔÔLNNR�?}�ŸüœŒ‚Á &ŒÞ ™¦}¢û9–Ü|O‰9Iëëë.—‹½Æ°»»«¥&!P½UÊ[777óVqrˆÚÚZ¸.E¯¯e§@ÌA===´>§±±±7n(Í �I”••©Ë$¨!´ŸCT-**Jµ,/·Û=55EÌe�?[2‡¨Ô½äÁ�'Ä1·ÊMÚ`íììÀGnmms[™ CŸ¯¯¯OPæÞ½{‡TôСCÇŽkiiùñã‡:†ÄñsIw+)U(¸J=¥M˜»víÚ›7oðá÷÷÷‘Ã_ºt‰�™ÃŽ}8m&¡´Ož±O;sv�­R®ªË.ó蟚Dss³ÐÌÁÏùý~¯×›ô/©�_Šª:6å#“8zô¨"‚mÅœä�Nœ8!?5¹�ttôæÍ›ß«££ãéÓ§ÂÕøú¹¡¡¡Ø“T³§Þˆe·’R-,,œ={–}vhÏù\â>%bN÷¨—I°×$lÂ\{{ûׯ_%˜zzzî¡>~IãããºäªI3 ö> ›0ëÑ/,,lkkÛÜÜLü‘ûøµÔUY´»»‹LbccCÜØª‹ìäçUui‡–üÜÀÀ1§'Ö¾`0¨¥®Ê¨™™dÄ1ÝÚÚ*++Ë\T� L»\®¹¹9bNôØŠÌI{]•Qˆ­,™„@5þ¨x}ü�@ s¹j¢�© “HÛq-P�_i¿ÕýœUu_ÖžITãWÚÇou?' D†„ù\ÚLB ¿8ý­ãã㥥¥ÙÙÙ?~4þÝÁœ|&¡× uuuáºè¸GFÿ¿8}ümmmðâ%%%£££Æ¿û³gÏîÞ½k@�¿¦¦Fº‰€–C2[ãÇÏ]¸pWâðáà ƿ{Ú³›t4ð�\Pòsz­é_ã¤�vv¹j86Ñd2SI탆Ĩi?}Qs,5~úøwwwÝn7¾÷æ&ŸIh´MêÒ¸h&jüQúø;::¤ºªé†�¹T‘]‹mÒÑ*±;p´V¢‹,çç0ÅÁ•†«ãÁ°���ÖÖV} À9�N�'.rÍœµü\$¹xñbl‘ÂtÃd2 u¶á¥ð31§XÝÝÝ÷ïßçʰT¥^¶ÅVe …B˜åHQ•ä> íƒf pQ5þ«W¯J5þ¸BCVôsˆªeee333~’fŠl“€ƒ7ÀZeÌy½ÞÙÙÙýýý½½½G��?vn¬î熇‡OZå„9ÄÖÄL‚Ý6\ͪª*$ãÆl�Q[A^Ò5a[ž±¶¶†T.ñp$N˜KšI°Û†ï�5l/–zæeRù9ûõñ{<ž¤Ç²ò“Ü$fŒ¶ù|¾ææfÀSÏÜÒÒÒùóç¿}û&óÒ¶éãmõõõI›òùÙ|0==]]]­Ô6ÄÓÆÆÆ/_¾ðÞÇ???_ZZúùóç´DÛ § ©ƒtižý\b&‘Ö6x8G›à禦¦NŸ>ýéÓ'–WgaŽóBþnª\1—IÈÛöðáÃŠŠŠƒë>œ2÷üùóT'q¨îãçÙÏaÎ*ßèÀsq™„Œm}}}n·[ã=ì bNæž$öëã‡åÈU1sU1|~üœÏçc<š˜3š9–Ôj}ü˜e³”¹ˆ9óóV½dnljðܪ—¯ˆ9K2g®ŸëííM»y„˜#?§›¤nd-{e‰9òs ”´Gš˜ã‘¹´ úVéãWt¿6bÎ|?'Ïÿ±ueeQUûvYbÎ’Ììçfgg�À•+WØo„JÌY€9nûøC¡PNNÞåäÉ“ö¾®b1‡}ü“““Ò±ó^¯7£åjžKé–¬ñ³PÞúø‘«vww·´´èµÃ‡ü_~.j‹>~bŽ_ælÙÇOÌñµ>—¡>~’È’ósKËúKF_�[ìþ1‰9bŽ˜#æˆ9bŽ>&1'ºaV4bŽ˜#æèºs4|d1GÌs$’".iHĉ˜#‘ˆ91G"s$b.Nª_ϨOŽ7QÛÛÛN§“·Å¹¥¥%�Ç“——çp8^¾|É#sJ_7L,'Ç›«ÎÎÎÁÁA®˜[^^...ž™™Á¸á[úàÁ™ÓrøºaJur¼‰ ‡Ã¸º‘H„+æZ[[Y|›ÉÌi9”Ø0¥:9ÞDÕÕÕMLLD9+|åçç���aNrûömD™K{ø:”´w‡7Xóóó•••IÐä„ +Ëçóýúõ ’{÷îݹs‡üœš«Ëxwx#U^^¾¸¸È!s¸|±ö?�og�ù\ÚÃ×�”¢»ÃìN´Ä–9! <È‹1-oMzøº¹CÉrr<'üñc„Ô½?B�miiIk˜9æ¦:|ÝÜác<9ž˜‹Saa!¢jSSÓÁ‚/æH"‹˜#s$»ë_…× MçƒSãIEND®B`‚PK ™zFó˜ » » sdi/renderings/SimpleXYData.png‰PNG  IHDR lb‡.µ ‚IDATxÚí]_HSa"DÚjÁ #',R9JF#†*ø0Â@‡$Vj‹ ú0Ї|(ê¡@² ,Bh1‹¢"|™a`´°‡ ‘ûÑ¥±îî½ûîݽßýã9rÙÜwöÝßý�ïœó�ïllj£eݘ„ Jb¶È<44Tüv)`Œ‹^YZZâÿðòWj‘iÊuê”ó.¾€TUU�}züøqÐTòÝ©©©3gÎ8?í`Ÿ={V޾[÷W;}ÿþÝQ^´æ5ØvãÙ¯©©ÁS«œý˜˜˜p&À…‹‚�¿ß¾}sŒ“�Foß¾­ü?“““`9ÅÁöcð³gÏXrUð®a¥•YN™,+ ú‚�Œnö½{÷`;1øÉ“'áp˜1ÕŒ5˜Åó €-p(*»ú$ŸÏû|>xÔd¢ía¢AßúúzU;E°ç,–øáLJªªª:räÈóçÏ‘³ƒ�k0ƪ†J&“‰DÂÞwuu­®®nnnNOOïÛ·O0û2–tT;T.—CÄ\–ôö0Ñ333‡}ÀuÑ@«/$ £Áª—Ýx°:Àù¼^ï»wïJr@]ôÈÈHKKËâ⢆Ѯ_¿~ãÆ ç¢L4Ì‘ÜóbߺhÐóÂíÐ6è Û˜ÁW¯^ýõ놂¨ t »×EcõeO:J lB&»|çÎà ‚;vìåË—[Ϊ‹Æúâ÷ûçææ*°¯¯opp�Vdð­[·´�'¹Ÿ±XŒ–cðÚÚVß÷ïßW8 Æ�‘SØx ›3ód2�Çu³³³S!ÇI›0sÎãñ¨ª�S «°ñ@&Ú„™§Ói½è+<.pÖ$K0‰Á&ÌQ�ËåZXXÐqXÄZr©l»n60¾[�Á‰D¢½½]ßaÇÇÇåÎ¥Ùu³ÁŽEwˆ‹úûûÝnw…±o©À>{½^É�mÓÄ€¯á ²—oVd¢K7lW6;;;‹ïP[[»ÿ~#ƇÒA—¶i]Áì©= ¥`¹ÍÛ¾?~üèbAÁziÄø©T Æ_¯Í†k×® m_°9› v,|olllnnÖÝ> ’Ëå�€. Æ-­««;þ¼á&Za³Áv‡ÏõÂy~ûö­q*À�Rç\[W�¾¾>N–Âfcá»uÜÑÑÑÝÝm¨R<ë¥K¦Z�£££§OŸÖÐíe[':àþx<DÀ†*Íd2MMM•LÎ,ì¼\΄²‹Ånª´óûý"+Í®«8ì¥..Âö´(4c0Z)–ODÛ¦¹¾¾Ÿñ\™èÿ7®pÔh¥¥çÒ5ÂQe)Â%KÜq˜ÍÂ~­ÑJADX‹â؆Eãøøx4­Ð±Òð£G�„\ô‹/©i)‡Ãáâöt”ŠÎ¥•Õ× ÏÄòò²Žß�`„‹‹‹[wD½V ßÍe0 å èW)k„c£¶÷–þ&‘®(“eýÂwà ta„8?Uðæ\.Wá\š‚F|C¸÷ í"8¼ºº‰DDÛ……%Dz…ï###ÍÍÍ¢Šv> ð¶¶¶”ÕØÓÓßJ[ͽn¹è>€»0Ñ Ï‹ ß…’ØÒMx> ÿÄÄD¡bDN#«P(ÄrÕ@ß½{÷À�"÷ªXʾ›åd KV³òXHYk¿¤Æ7oÞèîXi¸´�’ÚÂwSŒ ·O2%Ä-øƒ@QR#éúúzµ§U)Ññ}áÿ3ÎÜ I&“B£éÒÓPMMMªzåQ¢CÌÐW®$–À ¯p.M¤ñÊ•+¢tÌil;€q =ÚM¸`¥‹5Âù‹•om_�Ïç=�‚óÂ`»>Xö³0LÀ†NÀFJ-8M˜&€ `x»Lb–À0 LB“À$¶˜ñ举¢p’ÝPâ&¥R)ŸÏ·sçN½Æ~!µ'Çu…“ìÆÉüü<î5O€ñ<á9þüù³™ V{îT_)=Én�lllà^g³Yžûý~É–¢\V89n´(tUÕ]z{{ÇÆÆ¶øf² ëæÍ›ÕÕÕxˆ§§§·ƒYºªê{¯Ïè({÷îzEà¯èw®¾—íªÊÇb-/^~õê•i—žçp ª¹ÌA#Ö h4Š{[WW'¬DÒ‡(R¤8˜„&±ªüX™U¤må¾£IEND®B`‚PK ™zFöŠù²d d sdi/renderings/XYData.png‰PNG  IHDR¿voÕ- +IDATxÚí�QHS_Ç+�&)ˆ¬‘þ=(nSÄ`È*øàƒ= ¤©h"Y úàƒÐЃL Ä|”’8ABbˆFQ‘2£""!þxþì¿v¶³sçνçîþ¾2·³³³»Ïýý~ç÷»ç܇(T¢:�‡…ô  LÏ ”ÖÒ†žÞÞ^ú³•‹n¶±±�'· ÑÇVzVWWÍfsTz”š¤ÇXôìïï[­Öùùù¨ôdggŸ>}º¶¶öû÷ïrÚž½½½ººº¢¢¢ÆÆF¤GmzÚÚÚŸ ?OgggEEOˆ³ñ·Þ½{·!X ÿ©¬¬lÃH¢�­ôp†]rÚž`0˜““ Îm�fs®XŸ}ppÐÝÝ}õêUi£fð\à¶²²² €Cz4¦'ü(33³ªªêÓ§OrFÍ;;;yyyß¾}»}û¶ËåBztœïQŸžÉÉI‡ÃÖ×× e~R„mmOCCÃÀÀyl(óƒ¶ç¸úóç„Ìà¶È¿`~ÒÓÓý~?Òƒ¶‡ËmUVV†?æÇív#=h{â XéïïÌ�Édúüù3Ò£=Që\?~ü¨¨¨ÈÈÈ€óËF¸­‚‚ÚOµ´´!ú‘½Îgvgg'<€¿ðX6Ïåõz¯]»F?¿¹¹ !=éaÔ¹²³³ÿþMr*ðX6Ûsÿþý®®®¨/�ùaà.NàFív;^` A£ÎþLD¥B†:WYYÙÂÂBÔ—|>ß•+WU®=Á�HÑ-ÖÀ Tç’ÙöÀ±³X,Œš˜ŸsçÎÁA8yòäè許æ\ Ç=šÐpôôô0@ôC*ª¡³··—ŸŸ?00ðâÅ ¼¦¦¦ŒHOèAhη¶¶¤Šš/_¾ æ'.aj^ô3<< £ Eô¢Â|O‚‚°¦¸¸8ndª²ù�!=þ<|J( Ì5'¨¾¾>˜pq:8uÌPRPP´P€Òóóç϶=p–sÖÒ‰ùQ!õìt:#²Þ ´²²ÒÕÕ566¦=¹¹¹¥¥¥_¾|I=zü~?}–3äv»EO¾`H&“) F}U)@pnCÎö¹b=×ׯ_ŠŠŠfggSÉsÁyÙÞÞÎßž\÷Å�Æ#1p§´ÉÁd›L5âžååeè´ººzzz:jƒ‰‰‰’’’ÌÌÌK—.Ep&çz.˜×¼ÿ^Ñ[ªªªN�:•žž>33“ôñìììq/ aÞ "9p²ðí �ôÜ»w yõêUÜù£JʹP´í�y�Ùl†9—$ô€ÏŠz)�£fF•T†«â!2­®®²5z öhššš 8~®OjzÁœ(š±ÓURVä�À÷ŠÑêéé!#±Ùl2˜@±q¹?V•T†Õ€wîÜ!eÅ¡¡!m ¢ÝÝÝd$---)¾ë¥Ò aÔ*© ¶çéÓ§.\èëë“ÁsÁ0>|(ƒÛk{::: æy3£J*Ã. �ç¥r¾‡³RÁ¨’r®g{ÈÖ`ò̶ŒB�šg{fff¢î±‚KÏââ"L¿IžP¿ÙBm/�0.=gÏž…9—Þé—ªtùÒ“zHGÀ „:½BÃçó™L&y*£¢§°°Ðëõ=³³³9@½Øžööv©.è1=pÊž?è�¿ì7ONNZ­VRçzóæ §QQÁö+ºàéÑ`Îç÷ÚÚÚáQ¹4//ï8£I"=~¿?++KÃë>‘eÚÚÚŠÈ5k¸°¿¿ßét""Ðs÷î]øÕÉoßÑÑÁÓE ¨¨¨ˆº_‚&«ëëë=ÏJå:Wss³Ífûõë×áÑ.>Ó<~ü˜ýþååe°:ìʆš«až¨ò–ƒh{þS~~>’pľiÞèè(DÖñr¸â®LzÔ<33q÷ ”JôйA˜OqΘÈÇ+] ˜tÛÓØØˆ)fYè�kNºí)((ºYÒâ'Bª­+M =>Ÿ/´o-J73vIèioo'¡ AOr=—Åb±?Ò“ú¶‡ìP¹³³ƒpèƒF�Kýõ\ýýýš¯ðEzˆQçR=WyyyÜ]®Q2z.ºÎ¥òšŠíímp[’¬X@z(j�Kåõ\�ܰôtw·ÃØu.•mOMM .¾Ñ™íaÔ¹Ô\Ï Ñmé�F�KÍõ\ããã˜bÆ|O‚ô¸ÝnE÷.Aa®ù™ÍfŸÏ‡L íQLpþ …¶'¦úúú¤ÚéÑ“íÁʨîç\ŠŒJmÏúúzNNŽT÷.AzŽk6UYÏ Ÿ~üÑ'ÚqÇV^ÛÃ�„·_\\´ÛítŒ{Ä[YâyzW(Ú‡?SUU5==M¿D÷£t¿©”™s%ýØòôŒù”ÜùÒƒBiA}+:kIOØ‹Œè&&&JJJȧзGe÷‘fEID}+‚˜Ñ{ŒìÏlËår�ƒƒˆsssãÎ BŠ•fEÉå¹B·"ˆ™9ø›Æî-Œ¬†×ë---å§'”fEÉKOø­bf-©_7êî-±z nÌÛÒÒ'=Œ4+Jz"nEÀc{ªB„b—X=ÏE,\ÔX'¢gFš%=ô­xâž Qwo¡{hmmÝÝÝ…öSSS±vß�èŸ�fEIAg>”ÞÆ…±{ ÝÃÈÈ@ÏØl¶¹¹¹¸c8¤Ò¬(Ì÷ �Òƒ2‚þ›='¤Ÿ®IEND®B`‚PK ™zF3uü5e e sdi/renderings/XYZData.png‰PNG  IHDRävW›¨’ ,IDATxÚí�H]ÉDzA‚kßÄ•PDâZWÄõ�ÐÇ®„E‚- !…@KóG6ج…†l�b$ !Éæ�l`)BƒûG+&Mƒ`^‚µÅZŒkBㆷqS±nÈKM5¤b‚IVÍÔ.²þê§¼¾œ·ì'X7,ÆÏ…ÈzìØ±ÎÎN¤!ÒéôñãÇëëëEÒÓ”¹]¿~=å­}P±ážš÷õôÎ,€+aˆç¬‚ùûæÍ›¥‹¬VËÿðЬ­aî¹�X6ÄêêêéÓ§wìØ!¬K‹|vzýJ°*VÉaúÑ£Gðé 1kçÎ�p/ ¬Ù7`»víºÿ>u°d‡µŽ!.òkB¾ÔÔÔÙ ÜÀîC†Õï¦$X}‡5ÎŒ¬f]jøÿçÏŸÃÍââ"ÜGVЬ²Àú!C\|–Á¬Km«C‘•`E×?bˆÛíWiˆ¤ÈJ°z 놸øh€a—šrV‚ÕSXÎ ÈîR«ß¥ŽÀunn.LX µvG+Ö�a=ÈÏqm€`ä§4@X?eˆ3)0<<\YYYXXo�kUUÕÈȈg°"Ú»9uŽÃº4Ä4ðÿ~Ä_NK ë1†x‘µ¦¦æÂ… ð!œÉdàŸp…ûžžžºº:o`E´Èh…ÚÌ´ž_J W¬û7¿“TðC<¦[‘Q7Ь¯ÙÜQ>ÉÖý»„¤‘µƒ!$£›6m‚kss3¼´µµÕûÑÇ9k¾Àº–æK×ø‹›ò欿gˆ‹GV÷J|Vx2�NCæê#¬vG+¨ƒ% ¬â‚‘Õ¥_±‚‚‚;w•©àz «ßMI°úk‚!.B›WJü––`ôÒ¥K½�Ð[�"«°2ÄE´Δøn;XOž<¡È* ¬K7ù£“üYÂwXGâvõ¬.•øªA7ËÖ­[·ÖÔÔ¿®qÿxï ††_ò7§*>‘õ<¼…+8C\Þ타ԉ‰ [=$½�%ôM.ºRW*R¿?”êFÅòi꿾¾x�âßã qX½7«cüð°udµ;`(d =²ªiÀ,hIY¤ÓÆßÀ\€6÷âf=ýšõ¥´··kÖ¾˜"d¡�Ù¢ë[˜Û¡Í½¸Y ‚§-`ŸnE„,vÇ� Ö°aý>æbÛ´;7#6>>|{6àI Rd•Öw1ެîÅÍj ,,,ìêê²€ull reˆ‹&òÖb.S<7Û ˆÅbkžÁjq†eù.ÅÍ"¢?föSÁ£™L†$‚yë^Ì¥g-++ƒÀ:88¨éÖQdÍ]X?ÆÜÿ¬ì€ª¾Ë:²B¯mÛ¶mð=pÅ_�H$jkk•qàááa!“"«4°Â<ÀÈzðàAà nz{{�9âÙhÀþýûïÞ½Ë_�ß‹7 EVù`mÃÂÊ2¨“6€"«D°>E=ú‘ùk£}¢ë,ê¹YÍ` ²f2kÓÓË�¯¬®aýõ\ÉYÍ` `߀¦¦ÛŒ]yóÍ¿LM-¬î`M¢îJàãî¶‚ßûìÝ{µ¢â<øåË_“6À•6€ýuWÚ�ÃôöO–û¹oÀ_Ü+/ÿûûï9;û‚"«»ÈzuWÚ‰F~Ú7 :°þ uWÚï�pw3@ûDÖ.Ô]irðw2¿ mÿß n]ˆ{ ^d`Åÿô�}‰Ê 1Üð`Žp'X VI3‚•`%XƒëP=óÄ‚•`%XÉVª'ÁJFF°’‘¬d+ÁJFF°’¬AÕ@'ç±µ@«%ÎêYYY ¯†«r6® õ$Xƒ@V½·µ@Â+ù™ƒz�ŽŽÂ \52ÍÐëI°�jê õ«z¯WÂ^õ¬©©¹qãÜÀU9SOžz¬�Â*¸@«%ê™L&!ð ž©p= Öà`_ bd…TUM¶oß.U= Ö€ °µ@B†œÒËs )gͩрìåâ $¼Z2á ž‰D*¼®Êh€ õ$XÉÈV22‚•Œ`õÞôóUúÉýì¾’]_B___uuµòýY"xù%%% Áºnúù*³Ž³&¤L} ÍÍÍóóó«««šž;^æøøø‰'‚õ5Sç«Ì†$5°"[j"ƒšCCCÊl“ ¬P>uÞ Ö×,{¾Êl²G“Ù9`†%(ŸéúÙ&¤|xRsŠ8Y¾Ãª™¯‰¬Ù¦Îgªy§Y J ê ôyª¦äÆÆÆÉÉI¢„`Ý0ý|•HΪÂg¸¥¦¾„¶¶¶ååex¾¿¿¿´´T$²Ž��544"+7ìw+¸è'{Ìf¹Ì¶ÔÔ—ÐÝÝ ŒÂÿÄãñ‘‘Ë:€AɆ ‚•ŒŒ`%#XÉÈB·ÿ–˜n਼ÚNIEND®B`‚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ºÇ¶k††sdi/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 ™zFíA sdi/PK HF íABsdi/data/PK ™zFíAisdi/renderings/PK ™zFíA–sdi/renderings/trim/PK ™zF íAÈsdi/units/PK ™zFLN ÑŸŸ¤�ðsdi/data/Bin.classPK ™zF ~©¶ÎΤ�¿sdi/data/BinnedData1D.classPK ™zFÔݰÔÔ¤�Æsdi/data/BinnedData2D.classPK ™zFP—‡Wÿÿ%¤�Ósdi/data/ContiguousBinnedData1D.classPK ¢4{FÛ�þN((¤� sdi/data/DataList.classPK HF_Óübb¤�r sdi/data/DataListImpl.classPK ™zFç �šŠŠ¤� sdi/data/FillDetector.classPK ™zF/©ó��¤�Ðsdi/data/FillDetector2D.classPK Ø3{FuÇyG  ¤�šsdi/data/List.classPK ™zF3(ìì¤�ësdi/data/MetadataSrc.classPK ™zFœ²ŸÁ��¤�sdi/data/Named.classPK ™zF\äðÏÏ!¤�Îsdi/data/SimpleBinnedData1D.classPK ™zF³¦ñHóó!¤�Üsdi/data/SimpleBinnedData2D.classPK ™zFÞøô  +¤�sdi/data/SimpleContiguousBinnedData1D.classPK ™zFÑÉÀi¬¬¤�asdi/data/SimpleXYData.classPK ™zFä=4ç½½¤�Fsdi/data/SimpleXYZData.classPK ™zF%¹#ô¸¸"¤�=sdi/data/UncertaintyProvider.classPK ™zFÅF½½$¤�5sdi/data/UncertaintyProvider2D.classPK w3{FËõØ:¤¤¤�4sdi/data/Units.classPK ™zFŸe¬¾¾¤� !sdi/data/Validator.classPK ™zFAº«šÕÕ¤�þ(sdi/data/XYData.classPK ™zFVimC&&¤�,sdi/data/XYMetadata.classPK ™zF¡Ô¤�c-sdi/data/XYZData.classPK ™zF%ƒb´òò¤�™0sdi/data/XYZMetadata.classPK ™zFÛ)�n¤�Ã1sdi/data/package.htmlPK ™zFrÙs^~ ~ ¤� Asdi/renderings/BinnedData2D.pngPK ™zFõìe)¤�Ä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 ™zFöŠù²d d ¤�µwsdi/renderings/XYData.pngPK ™zF3uü5e e ¤�Pƒsdi/renderings/XYZData.pngPK ™zFÅÊ?ÿÿ ¤�í�sdi/renderings/generateImages.jyPK ™zFºÇ¶k††¤�*™sdi/renderings/trimImages.jyPK**Ñ ê›