From 0784a2d71ef00c472933e5e51a861c04833cf02a Mon Sep 17 00:00:00 2001
From: Valerio Mariani <valerio.mariani@desy.de>
Date: Wed, 31 May 2017 16:28:53 +0200
Subject: [PATCH] Renamed function and added function to check if the file is
 full

---
 cfel_cxi.py                            |  59 ++++++-------------------
 doc/build/doctrees/cfelpyutils.doctree | Bin 126572 -> 129393 bytes
 doc/build/doctrees/environment.pickle  | Bin 12509 -> 12641 bytes
 doc/build/html/cfelpyutils.html        |  52 +++++++++++++++-------
 doc/build/html/genindex.html           |  20 ++++++++-
 doc/build/html/objects.inv             | Bin 628 -> 638 bytes
 doc/build/html/searchindex.js          |   2 +-
 7 files changed, 68 insertions(+), 65 deletions(-)

diff --git a/cfel_cxi.py b/cfel_cxi.py
index e919457..c22de90 100644
--- a/cfel_cxi.py
+++ b/cfel_cxi.py
@@ -435,7 +435,7 @@ class CXIWriter:
 
         return self._fh
 
-    def are_stacks_initialized(self):
+    def stacks_are_initialized(self):
         """Checks if stacks are initialized.
         
         Checks the status of the stacks in the file and returns the status to the user.
@@ -447,6 +447,19 @@ class CXIWriter:
 
         return self._initialized
 
+    def file_is_full(self):
+        """Checks if the file is full.
+        
+        Checks if the file is full (i.e. the maximum number of slices have already been written), and returns the
+        information to the user.
+        
+        Returns:
+            
+            status (bool): True if the file is full, False otherwise.
+        """
+
+        return self._curr_slice >= self._max_num_slices
+
     def close_file(self):
         """Closes the file.
         
@@ -463,47 +476,3 @@ class CXIWriter:
 
         self._file_is_open = False
 
-
-if __name__ == '__main__':
-    import numpy
-
-    c1 = 0
-    c2 = 0
-
-    f1 = CXIWriter('test1.h5', )
-    f2 = CXIWriter('test2.h5', )
-
-    f1.add_stack_to_writer('detector1', '/entry_1/detector_1/data', numpy.random.rand(2, 2),
-                           'frame:y:x')
-    f2.add_stack_to_writer('detector2', '/entry_1/detector_1/data', numpy.random.rand(3, 2),
-                           'frame:y:x', compression=False, chunk_size=(1, 3, 2))
-
-    f1.add_stack_to_writer('counter1', '/entry_1/detector_1/count', c1)
-    f2.add_stack_to_writer('counter2', '/entry_1/detector_1/count', c2)
-
-    f1.write_simple_entry('detectorname1', '/entry_1/detector_1/name', 'FrontCSPAD')
-    f2.write_simple_entry('detectorname2', '/entry_1/detector_1/name', 'BackCSPAD')
-
-    f1.initialize_stacks()
-    f2.initialize_stacks()
-
-    a = numpy.random.rand(2, 2)
-    b = numpy.random.rand(3, 2)
-
-    c1 += 1
-    c2 += 2
-
-    f1.append_data_to_stack('detector1', a)
-    f2.append_data_to_stack('detector2', b)
-
-    f1.append_data_to_stack('counter1', c1)
-    f2.append_data_to_stack('counter2', c2)
-
-    f1.write_stack_slice_and_increment()
-    f2.write_stack_slice_and_increment()
-
-    f1.create_link('detectorname1', '/name')
-    f2.create_link('detectorname2', '/name')
-
-    f1.close_file()
-    f2.close_file()
diff --git a/doc/build/doctrees/cfelpyutils.doctree b/doc/build/doctrees/cfelpyutils.doctree
index d967c728cfd7d53ae959dee4d50bed52145a9795..d20c196e8140646916f49a4862935b4710a56c58 100644
GIT binary patch
delta 14037
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
Rdp{81-jCG!KHotH_;2Z}4vGK(

delta 12890
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

diff --git a/doc/build/doctrees/environment.pickle b/doc/build/doctrees/environment.pickle
index 51792dd7586d708c0d0c6c862b66cdc94ca88df0..bda2f347e036c125b45d598eb65d65b5a68bc64d 100644
GIT binary patch
delta 812
zcmZ8eO=#0#7;dPI*haLj*5P!?5VN%TTQ4fsxy|ihH&+V6KoLUPrAxEejwZz)lqq6|
zBSqYsB3`Nt#G{OP7?Zi_!Fk#|c+i801wHQWF7r!^EEPUJ-sgGV=Xqbg@4Ngn?Yp<9
zIu={-J-~f$)~dgkpn|u<AN)$26%qsyolI8IrNWdc7boBceiT0Ap##CDBuTk^&XlCZ
z<le9CFi9C03k#9X{X#aUD^kvovL#)IO{xMkMfnX=&P*DTTvQ-Mbu3=%+VNhx?e%yV
z)l{o$^^s|7)2*=53g=qk(^fbSuTGlSG905h>@6hdPJ9(LXlrntrl(h&(!mxnS{N_s
z3YEx@D>v=3ecx{I+9xDFL^wTTTezXf#f)le8;De^+O9irxuH-gc|viSH+Rh?%P;2(
zd0kE`x?$h78Ex6?AwABGqRO`R5f$3{Kjci%HXznLkJaHzcM7i~!a5F5LWiM`5fGVY
z;!Uy_-ji+cfjN!HZ6<~8S|m=S8%aqM4XVSh$T|2H2^?yKoND=nfhb3)?p{7Rf+B83
zM-Mi-`(592HF5_0YyipY(ZQhUayiQ-V5N(Mvn&_9@t;D%3pNZDHin$5Y(H_wr9+Jm
z19`*;G$$f?j2nb4&KdENOTc;FskXTxV#aM5<}VVnZlcByH{YTUUZ3cIeF9B9cI$B=
yiE?Iz-k|NGQE8EYiDB3hoYg3Ch<N7GVM@FJJEF6~J8^(`?v?^QWsHNlo{_)f>Km>A

delta 747
zcmaEubT^T;fo19?gN>}sY^<AiT;u*dxtC3XUr<j^ABf`PGxIV_;^Qa(Vv~W1C8wq4
z#3xr|P8MXBn!J=Pa&r*-6^Y3~iV9qbMXB+{C5g$|#gl6kr6;Q?6i>dQP`7!y;(unJ
za%Khwjf|3vsTor{OQvMipmMuVx&5fzDX84}lOL&;Fm9h5uBM~911QzQnOm8jT2hi)
zQ8H!nlpa>kyp+_6DQ#04r)2E`N@wkzyh2S)c^8NY;`i|Q=BJeAq$;4RJ39HJnuz9U
zppuNKSqSCa!KsNw$r%a(iRr0Grk<Isr!J$k9b_tq$e7wTCF?MVcLc@*nUr;Ua*p~U
z#`}}`H3EQSf`$i>T&ZErb{{C&V>|hvyzu0|8s<PjQ_TPYu%H7{FtTe~@FaoF^DCL6
zk#&D^o2K<-PAzVr`m>rgJQ>JRaa!I$;Z<6`K+;>=d9uAWNZBmyfXRK@+z|WZC!Z4)
zpDd(f0O49rPEZn=9HXPoQ;BR)zm6AB<1HO$o;qY<O<m8)vbrEM>vUasT9BpA>3Z<A
zBMbEFh)qt=W0`EDX8=^6tLMhkgDkyY&krcfr*A7b5lI-x?2(^*UP^p&u|Cv=wv*SY
tNK8JcuP!(ZO`-MVcPe6&`3=;0W+KT<b~13}nS(6QZ_vi5K3UAr8vvS40nGpa

diff --git a/doc/build/html/cfelpyutils.html b/doc/build/html/cfelpyutils.html
index d539a01..da04134 100644
--- a/doc/build/html/cfelpyutils.html
+++ b/doc/build/html/cfelpyutils.html
@@ -232,23 +232,6 @@ the write_slice_and_increment.</p>
 </table>
 </dd></dl>
 
-<dl class="method">
-<dt id="cfelpyutils.cfel_cxi.CXIWriter.are_stacks_initialized">
-<code class="descname">are_stacks_initialized</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#cfelpyutils.cfel_cxi.CXIWriter.are_stacks_initialized" title="Permalink to this definition">¶</a></dt>
-<dd><p>Checks if stacks are initialized.</p>
-<p>Checks the status of the stacks in the file and returns the status to the user.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True if the stacks are initialized, False otherwise</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">status (bool)</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
 <dl class="method">
 <dt id="cfelpyutils.cfel_cxi.CXIWriter.close_file">
 <code class="descname">close_file</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#cfelpyutils.cfel_cxi.CXIWriter.close_file" title="Permalink to this definition">¶</a></dt>
@@ -279,6 +262,24 @@ value of the overwrite parameter is True.</p>
 </table>
 </dd></dl>
 
+<dl class="method">
+<dt id="cfelpyutils.cfel_cxi.CXIWriter.file_is_full">
+<code class="descname">file_is_full</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#cfelpyutils.cfel_cxi.CXIWriter.file_is_full" title="Permalink to this definition">¶</a></dt>
+<dd><p>Checks if the file is full.</p>
+<p>Checks if the file is full (i.e. the maximum number of slices have already been written), and returns the
+information to the user.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True if the file is full, False otherwise.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">status (bool)</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
 <dl class="method">
 <dt id="cfelpyutils.cfel_cxi.CXIWriter.get_file_handle">
 <code class="descname">get_file_handle</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#cfelpyutils.cfel_cxi.CXIWriter.get_file_handle" title="Permalink to this definition">¶</a></dt>
@@ -305,6 +306,23 @@ operations on the file that are not covered by  CXI Writer API. Use it at your o
 stacks can be added to the CXI Writer after initialization.</p>
 </dd></dl>
 
+<dl class="method">
+<dt id="cfelpyutils.cfel_cxi.CXIWriter.stacks_are_initialized">
+<code class="descname">stacks_are_initialized</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#cfelpyutils.cfel_cxi.CXIWriter.stacks_are_initialized" title="Permalink to this definition">¶</a></dt>
+<dd><p>Checks if stacks are initialized.</p>
+<p>Checks the status of the stacks in the file and returns the status to the user.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True if the stacks are initialized, False otherwise</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">status (bool)</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
 <dl class="method">
 <dt id="cfelpyutils.cfel_cxi.CXIWriter.write_simple_entry">
 <code class="descname">write_simple_entry</code><span class="sig-paren">(</span><em>name</em>, <em>path</em>, <em>data</em>, <em>overwrite=False</em><span class="sig-paren">)</span><a class="headerlink" href="#cfelpyutils.cfel_cxi.CXIWriter.write_simple_entry" title="Permalink to this definition">¶</a></dt>
diff --git a/doc/build/html/genindex.html b/doc/build/html/genindex.html
index c7e545d..d25378c 100644
--- a/doc/build/html/genindex.html
+++ b/doc/build/html/genindex.html
@@ -77,11 +77,13 @@
  <a href="#A"><strong>A</strong></a>
  | <a href="#C"><strong>C</strong></a>
  | <a href="#D"><strong>D</strong></a>
+ | <a href="#F"><strong>F</strong></a>
  | <a href="#G"><strong>G</strong></a>
  | <a href="#I"><strong>I</strong></a>
  | <a href="#L"><strong>L</strong></a>
  | <a href="#P"><strong>P</strong></a>
  | <a href="#R"><strong>R</strong></a>
+ | <a href="#S"><strong>S</strong></a>
  | <a href="#W"><strong>W</strong></a>
  
 </div>
@@ -97,8 +99,6 @@
       <li><a href="cfelpyutils.html#cfelpyutils.cfel_geom.apply_geometry_from_file">apply_geometry_from_file() (in module cfelpyutils.cfel_geom)</a>
 </li>
       <li><a href="cfelpyutils.html#cfelpyutils.cfel_geom.apply_geometry_from_pixel_maps">apply_geometry_from_pixel_maps() (in module cfelpyutils.cfel_geom)</a>
-</li>
-      <li><a href="cfelpyutils.html#cfelpyutils.cfel_cxi.CXIWriter.are_stacks_initialized">are_stacks_initialized() (cfelpyutils.cfel_cxi.CXIWriter method)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -141,6 +141,14 @@
   </ul></td>
 </tr></table>
 
+<h2 id="F">F</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="cfelpyutils.html#cfelpyutils.cfel_cxi.CXIWriter.file_is_full">file_is_full() (cfelpyutils.cfel_cxi.CXIWriter method)</a>
+</li>
+  </ul></td>
+</tr></table>
+
 <h2 id="G">G</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
@@ -195,6 +203,14 @@
   </ul></td>
 </tr></table>
 
+<h2 id="S">S</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="cfelpyutils.html#cfelpyutils.cfel_cxi.CXIWriter.stacks_are_initialized">stacks_are_initialized() (cfelpyutils.cfel_cxi.CXIWriter method)</a>
+</li>
+  </ul></td>
+</tr></table>
+
 <h2 id="W">W</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
diff --git a/doc/build/html/objects.inv b/doc/build/html/objects.inv
index f75d756117de0f5576e92705d354a4cf0587a38e..c8846c95d119c07b2abfe116191d16e6511d0095 100644
GIT binary patch
delta 522
zcmV+l0`>j$1pWk&e}8V=FbsxwKZT1F=yXOibjjK&LxBPv(oNt=w9QtQ1W8WLefm<C
z&%WSpiF}J8Q{tzeqDWh|sNFP1(xG<K(_q!8vHn`i&EE8J&<}a$@VP!zmvd<>q@P0M
z!G1!cEvWTPbZ7^ReoEkWG%}Jk_2V`AHuFR~1f8h){`>jGQ-4ICFj7MZAK80zZ$K##
zBFMiYTJg3bIkeuYQl@iglu!^MQD^*asMI!~Xo=5jH_9VK6q?L_SxJzfAlgyu-LMYh
z9HHpJs5=Boh9ZHcf0&aHb`vv3fajoBxY~`KFP;cAI1V1oQdajs&R08Vk|_90Su`hq
z;2jG1EgZ>~mw)Z--tg7qCUR^=>+Qhu_<bm9A*uhAi%H(8PW7}lvaIM_U`2Xv5*?j*
zdH@&7xf?^Y)(aY-L-9)Zb{}Mtxrr`4fnK%W$}^I@^C!kQ@E(@aOXhM()<y7Lxv1>l
zupsWe`~*HC^ks>30SuH&ncW*j-mr+JdhF=AuKj3sD1U0^r@&Wk3fvxo!wlIAw8uYd
zjg#p<$g4wCPs+;raJ}}@P&@8#Tntr*hK$0~?5N?$e?07Zwr0QQG_1B|3;$xp3u?(_
zP)B>Y$(K;`(lND7NculjoTwYSx#@78$haRl(|O;V+;@>JrmLu`fZ%2So}O)a?XNul
MGe!O%`vbVbxguo{=l}o!

delta 511
zcmV<b0RaB~1oQ-ue}9hKFbszGJcWuY&?!c5=yGeP8wwQYaNPt(qHVUaBuMgI+@~*P
zIdKlja&i_!ro>M_Nt20c(fDahWTNoX)8O=IP<$0?wKshl%tP7Pe-``Q<z8M(6{eVY
zv7OKu2m1UbJ9Go4FlBH%T9wFI@pz5C%{<ZuK}Tx7|9*Z6lz%W}j4}}8NA6zT8_-(D
z1nRF$PQIOy99r*mEz^6nT53p;sWW~%G+-e`NtP0Up?|11W0i3cWlLO!&8UEoP#Ut^
zqwO%wqGS(N-$C1&vL%U|iSxH2BMqKaqFp-S9?1D?jD{3S4xX#ci5>Wc3VsU*a`l}y
zyEj}`?)yV4+kfB&mdEcyRoCZ{Q7<NY=hiaQdG-`Vr;oQv&rPDIBX1AjV?B3e$kqi(
z19T`~3E%F6%raNewHfGj`>nnr*}MEISPvn<lD%xMm*jkc(AA47{tXM_xyDc66k(_<
zq>o^sUdrs=XbP4^EZyVAz<nJ?yFpPiKPA5MP~h<pJ$M$#R-illIrli(?t?rLlYY`p
ziT(B2OM~z{-?$le9a^#)kF%qJ1OG{3*ORsQJ?G_aJ+|;KPQ0K|+y)}K%S*mQ!AHkD
zHX-Z(wBthExXn-d(?-GlD3vbvmg2sPY%yI$wTlQr_3!D$R?hw^`#*E!{{h6-riMBU
B1S$Xk

diff --git a/doc/build/html/searchindex.js b/doc/build/html/searchindex.js
index ae3b77f..dae648c 100644
--- a/doc/build/html/searchindex.js
+++ b/doc/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["cfelpyutils","index","modules"],envversion:51,filenames:["cfelpyutils.rst","index.rst","modules.rst"],objects:{"":{cfelpyutils:[0,0,0,"-"]},"cfelpyutils.cfel_crystfel":{load_crystfel_geometry:[0,1,1,""]},"cfelpyutils.cfel_cxi":{CXIWriter:[0,2,1,""]},"cfelpyutils.cfel_cxi.CXIWriter":{add_stack_to_writer:[0,3,1,""],append_data_to_stack:[0,3,1,""],are_stacks_initialized:[0,3,1,""],close_file:[0,3,1,""],create_link:[0,3,1,""],get_file_handle:[0,3,1,""],initialize_stacks:[0,3,1,""],write_simple_entry:[0,3,1,""],write_stack_slice_and_increment:[0,3,1,""]},"cfelpyutils.cfel_fabio":{read_cbf_from_stream:[0,1,1,""]},"cfelpyutils.cfel_geom":{apply_geometry_from_file:[0,1,1,""],apply_geometry_from_pixel_maps:[0,1,1,""],pixel_maps_for_image_view:[0,1,1,""],pixel_maps_from_geometry_file:[0,1,1,""]},"cfelpyutils.cfel_hdf5":{load_nparray_from_hdf5_file:[0,1,1,""]},"cfelpyutils.cfel_optarg":{parse_parameters:[0,1,1,""]},"cfelpyutils.cfel_psana":{dirname_from_source_runs:[0,1,1,""],psana_event_inspection:[0,1,1,""],psana_obj_from_string:[0,1,1,""]},cfelpyutils:{cfel_crystfel:[0,0,0,"-"],cfel_cxi:[0,0,0,"-"],cfel_fabio:[0,0,0,"-"],cfel_geom:[0,0,0,"-"],cfel_hdf5:[0,0,0,"-"],cfel_optarg:[0,0,0,"-"],cfel_psana:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method"},terms:{"boolean":0,"case":0,"class":0,"default":0,"float":0,"function":0,"import":0,"int":0,"new":0,"return":0,"true":0,For:0,Its:0,THe:0,The:0,Use:0,about:0,access:0,accord:0,across:0,add:0,add_stack_to_writ:0,added:0,adher:0,after:0,again:0,against:0,all:0,allow:0,allowa:0,alreadi:0,also:0,amost:0,ani:0,anoth:0,api:0,appear:0,append:0,append_data_to_stack:0,appli:0,apply_geometry_from_fil:0,apply_geometry_from_pixel_map:0,are_stacks_initi:0,argument:0,arrai:0,assign:0,attempt:0,attribut:0,automat:0,axes:0,backcspad:0,base:0,beam:0,been:0,befor:0,block:0,bool:0,brace:0,bracket:0,buffer:0,build:0,can:0,cannot:0,cbf_obj:0,cbfimag:0,center:0,cfel:0,cfel_crystfel:2,cfel_cxi:2,cfel_fabio:2,cfel_geom:2,cfel_hdf5:2,cfel_optarg:2,cfel_psana:2,cfelfabio:0,cfelgeom:0,cfelhdf5:0,cfeloptarg:0,cfelpsana:0,chang:0,characterist:0,check:0,choic:0,chuck:0,chunk:0,chunk_siz:0,close:0,close_fil:0,command:0,compress:0,comput:0,config:0,configpars:0,configur:0,contain:0,content:[1,2],convers:0,convert:0,coordin:0,corner:0,correct:0,count:0,counter1:0,counter2:0,cours:0,cover:0,creat:0,create_link:0,crystfel:0,crystfel_geometri:0,cxi:0,cxidb:0,cxiwrit:0,cxix:0,data:0,data_as_slab:0,data_filenam:0,data_group:0,defin:0,delet:0,describ:0,detector1:0,detector2:0,detector:0,detector_1:0,detectorname1:0,detectorname2:0,determin:0,dict:0,dictionari:0,directori:0,dirnam:0,dirname_from_source_run:0,distanc:0,document:0,doubl:0,dtype:0,dure:0,each:0,end:0,ensur:0,entri:0,entry_1:0,error:0,etc:0,event:0,exampl:0,exist:0,exp:0,expand:0,extract:0,fabio:0,fals:0,file:0,filenam:0,first:0,fix:0,fnam:0,follow:0,form:0,format:0,frame:0,from:0,frontcspad:0,full:0,further:0,gener:0,geometri:0,geometry_filenam:0,get:0,get_detector_geometry_2:0,get_file_handl:0,h5py:0,handl:0,has:0,hdf5:0,hold:0,html:0,http:0,identifi:0,im_out:0,imag:0,imageview:0,img_shap:0,implement:0,index:1,inform:0,initi:0,initial_data:0,initialize_stack:0,input:0,inspect:0,instanc:0,instanti:0,instead:0,integ:0,interact:0,intern:0,interoper:0,interpret:0,keep:0,kei:0,layout:0,left:0,level:0,like:0,line:0,link:0,list:0,load:0,load_crystfel_geometri:0,load_nparray_from_hdf5_fil:0,locat:0,low:0,make:0,manag:0,mani:0,manual:0,map:0,match:0,max_num_slic:0,miss:0,mod:0,modul:[1,2],monitor_param:0,more:0,multi:0,must:0,nake:0,name:0,ndarrai:0,need:0,never:0,next:0,non:0,none:0,nonetyp:0,normal:0,nparrai:0,number:0,number_of_entri:0,numpi:0,object:0,onc:0,one:0,onli:0,open:0,oper:0,option:0,order:0,org:0,origin:0,otherwis:0,out:0,output:0,overwrit:0,overwritten:0,own:0,p11:0,packag:2,page:1,paramet:0,pars:0,parse_paramet:0,parser:0,path:0,payload:0,petraiii:0,physic:0,pixel:0,pixel_maps_for_image_view:0,pixel_maps_from_geometry_fil:0,point:0,prefix:0,previou:0,print:0,process:0,project:0,provid:0,psana:0,psana_event_inspect:0,psana_obj_from_str:0,pyqtgraph:0,python:0,quot:0,rai:0,rais:0,rand:0,random:0,rang:[],rawconfigpars:0,read:0,read_cbf_from_stream:0,receiv:0,refer:0,reimplement:0,relev:0,replac:0,represent:0,reset:0,respect:0,risk:0,rule:0,same:0,search:1,see:0,sender:0,set:0,sever:0,shape:0,simpl:0,singl:0,size:0,slab:0,slab_shap:0,slice:0,softwar:0,sourc:0,specifi:0,squar:0,stack:0,start:0,statu:0,str:0,stream:0,string:0,structur:0,style:0,subdirectori:0,submodul:2,subsequ:0,succe:0,sure:0,sync:0,synchron:0,system:0,take:0,test1:0,test2:0,tfel:0,than:0,thei:0,them:0,thi:0,time:0,top:0,tri:0,tupl:0,turn:0,type:0,uncorrect:0,union:0,unless:0,usag:0,use:0,used:0,user:0,using:0,util:0,valid:0,valu:0,verbatim:0,visual:0,wai:0,want:0,what:0,where:0,which:0,widget:0,without:0,word:0,work:0,write:0,write_simple_entri:0,write_slice_and_incr:0,write_stack_slice_and_incr:0,writer:0,written:0,www:0,your:0},titles:["cfelpyutils package","Welcome to cfelpyutils&#8217;s documentation!","cfelpyutils"],titleterms:{cfel_crystfel:0,cfel_cxi:0,cfel_fabio:0,cfel_geom:0,cfel_hdf5:0,cfel_optarg:0,cfel_psana:0,cfelfabio:[],cfelgeom:[],cfelhdf5:[],cfeloptarg:[],cfelpsana:[],cfelpyutil:[0,1,2],content:0,document:1,indic:1,modul:0,packag:0,submodul:0,tabl:1,welcom:1}})
\ No newline at end of file
+Search.setIndex({docnames:["cfelpyutils","index","modules"],envversion:51,filenames:["cfelpyutils.rst","index.rst","modules.rst"],objects:{"":{cfelpyutils:[0,0,0,"-"]},"cfelpyutils.cfel_crystfel":{load_crystfel_geometry:[0,1,1,""]},"cfelpyutils.cfel_cxi":{CXIWriter:[0,2,1,""]},"cfelpyutils.cfel_cxi.CXIWriter":{add_stack_to_writer:[0,3,1,""],append_data_to_stack:[0,3,1,""],close_file:[0,3,1,""],create_link:[0,3,1,""],file_is_full:[0,3,1,""],get_file_handle:[0,3,1,""],initialize_stacks:[0,3,1,""],stacks_are_initialized:[0,3,1,""],write_simple_entry:[0,3,1,""],write_stack_slice_and_increment:[0,3,1,""]},"cfelpyutils.cfel_fabio":{read_cbf_from_stream:[0,1,1,""]},"cfelpyutils.cfel_geom":{apply_geometry_from_file:[0,1,1,""],apply_geometry_from_pixel_maps:[0,1,1,""],pixel_maps_for_image_view:[0,1,1,""],pixel_maps_from_geometry_file:[0,1,1,""]},"cfelpyutils.cfel_hdf5":{load_nparray_from_hdf5_file:[0,1,1,""]},"cfelpyutils.cfel_optarg":{parse_parameters:[0,1,1,""]},"cfelpyutils.cfel_psana":{dirname_from_source_runs:[0,1,1,""],psana_event_inspection:[0,1,1,""],psana_obj_from_string:[0,1,1,""]},cfelpyutils:{cfel_crystfel:[0,0,0,"-"],cfel_cxi:[0,0,0,"-"],cfel_fabio:[0,0,0,"-"],cfel_geom:[0,0,0,"-"],cfel_hdf5:[0,0,0,"-"],cfel_optarg:[0,0,0,"-"],cfel_psana:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method"},terms:{"boolean":0,"case":0,"class":0,"default":0,"float":0,"function":0,"import":0,"int":0,"new":0,"return":0,"true":0,For:0,Its:0,THe:0,The:0,Use:0,about:0,access:0,accord:0,across:0,add:0,add_stack_to_writ:0,added:0,adher:0,after:0,again:0,against:0,all:0,allow:0,allowa:0,alreadi:0,also:0,amost:0,ani:0,anoth:0,api:0,appear:0,append:0,append_data_to_stack:0,appli:0,apply_geometry_from_fil:0,apply_geometry_from_pixel_map:0,are_stacks_initi:[],argument:0,arrai:0,assign:0,attempt:0,attribut:0,automat:0,axes:0,backcspad:0,base:0,beam:0,been:0,befor:0,block:0,bool:0,brace:0,bracket:0,buffer:0,build:0,can:0,cannot:0,cbf_obj:0,cbfimag:0,center:0,cfel:0,cfel_crystfel:2,cfel_cxi:2,cfel_fabio:2,cfel_geom:2,cfel_hdf5:2,cfel_optarg:2,cfel_psana:2,cfelfabio:0,cfelgeom:0,cfelhdf5:0,cfeloptarg:0,cfelpsana:0,chang:0,characterist:0,check:0,choic:0,chuck:0,chunk:0,chunk_siz:0,close:0,close_fil:0,command:0,compress:0,comput:0,config:0,configpars:0,configur:0,contain:0,content:[1,2],convers:0,convert:0,coordin:0,corner:0,correct:0,count:0,counter1:0,counter2:0,cours:0,cover:0,creat:0,create_link:0,crystfel:0,crystfel_geometri:0,cxi:0,cxidb:0,cxiwrit:0,cxix:0,data:0,data_as_slab:0,data_filenam:0,data_group:0,defin:0,delet:0,describ:0,detector1:0,detector2:0,detector:0,detector_1:0,detectorname1:0,detectorname2:0,determin:0,dict:0,dictionari:0,directori:0,dirnam:0,dirname_from_source_run:0,distanc:0,document:0,doubl:0,dtype:0,dure:0,each:0,end:0,ensur:0,entri:0,entry_1:0,error:0,etc:0,event:0,exampl:0,exist:0,exp:0,expand:0,extract:0,fabio:0,fals:0,file:0,file_is_ful:0,filenam:0,first:0,fix:0,fnam:0,follow:0,form:0,format:0,frame:0,from:0,frontcspad:0,full:0,further:0,gener:0,geometri:0,geometry_filenam:0,get:0,get_detector_geometry_2:0,get_file_handl:0,h5py:0,handl:0,has:0,have:0,hdf5:0,hold:0,html:0,http:0,identifi:0,im_out:0,imag:0,imageview:0,img_shap:0,implement:0,index:1,inform:0,initi:0,initial_data:0,initialize_stack:0,input:0,inspect:0,instanc:0,instanti:0,instead:0,integ:0,interact:0,intern:0,interoper:0,interpret:0,keep:0,kei:0,layout:0,left:0,level:0,like:0,line:0,link:0,list:0,load:0,load_crystfel_geometri:0,load_nparray_from_hdf5_fil:0,locat:0,low:0,make:0,manag:0,mani:0,manual:0,map:0,match:0,max_num_slic:0,maximum:0,miss:0,mod:0,modul:[1,2],monitor_param:0,more:0,multi:0,must:0,nake:0,name:0,ndarrai:0,need:0,never:0,next:0,non:0,none:0,nonetyp:0,normal:0,nparrai:0,number:0,number_of_entri:0,numpi:0,object:0,onc:0,one:0,onli:0,open:0,oper:0,option:0,order:0,org:0,origin:0,otherwis:0,out:0,output:0,overwrit:0,overwritten:0,own:0,p11:0,packag:2,page:1,paramet:0,pars:0,parse_paramet:0,parser:0,path:0,payload:0,petraiii:0,physic:0,pixel:0,pixel_maps_for_image_view:0,pixel_maps_from_geometry_fil:0,point:0,prefix:0,previou:0,print:0,process:0,project:0,provid:0,psana:0,psana_event_inspect:0,psana_obj_from_str:0,pyqtgraph:0,python:0,quot:0,rai:0,rais:0,rand:0,random:0,rang:[],rawconfigpars:0,read:0,read_cbf_from_stream:0,receiv:0,refer:0,reimplement:0,relev:0,replac:0,represent:0,reset:0,respect:0,risk:0,rule:0,same:0,search:1,see:0,sender:0,set:0,sever:0,shape:0,simpl:0,singl:0,size:0,slab:0,slab_shap:0,slice:0,softwar:0,sourc:0,specifi:0,squar:0,stack:0,stacks_are_initi:0,start:0,statu:0,str:0,stream:0,string:0,structur:0,style:0,subdirectori:0,submodul:2,subsequ:0,succe:0,sure:0,sync:0,synchron:0,system:0,take:0,test1:0,test2:0,tfel:0,than:0,thei:0,them:0,thi:0,time:0,top:0,tri:0,tupl:0,turn:0,type:0,uncorrect:0,union:0,unless:0,usag:0,use:0,used:0,user:0,using:0,util:0,valid:0,valu:0,verbatim:0,visual:0,wai:0,want:0,what:0,where:0,which:0,widget:0,without:0,word:0,work:0,write:0,write_simple_entri:0,write_slice_and_incr:0,write_stack_slice_and_incr:0,writer:0,written:0,www:0,your:0},titles:["cfelpyutils package","Welcome to cfelpyutils&#8217;s documentation!","cfelpyutils"],titleterms:{cfel_crystfel:0,cfel_cxi:0,cfel_fabio:0,cfel_geom:0,cfel_hdf5:0,cfel_optarg:0,cfel_psana:0,cfelfabio:[],cfelgeom:[],cfelhdf5:[],cfeloptarg:[],cfelpsana:[],cfelpyutil:[0,1,2],content:0,document:1,indic:1,modul:0,packag:0,submodul:0,tabl:1,welcom:1}})
\ No newline at end of file
-- 
GitLab