Changeset 215


Ignore:
Timestamp:
Jul 31, 2012 9:04:26 AM (7 years ago)
Author:
tsr
Message:

update python script and example files so far

Location:
canSAS2012/examples/hdf5
Files:
17 added
2 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • canSAS2012/examples/hdf5/fakecansas.py

    r213 r215  
    33import os 
    44import sys 
     5import inspect 
    56import traceback 
    67 
     
    3132                self.nxdata.attrs["NX_class"] = "SASdata" 
    3233                self.nxdata.attrs["Q_indices"] = qi 
    33                 self.nxdata.attrs["I_indices"] = ii 
     34                self.nxdata.attrs["I_axes"] = ii 
    3435                if mi != None: 
    3536                        self.nxdata.attrs["Mask_indices"] = mi 
     
    4647                self.createFile() 
    4748                self.createEntry("sasentry01") 
    48                 self.createData("sasdata01", "*", "Q") 
    49                 #data = np.genfromtxt("silver.txt", delimiter=" ", dtype=np.dtype("int16")) 
     49                self.createData("sasdata01", np.array([0]), "Q") 
    5050                self.createDataSet("Q", np.random.rand(100,), {"units": "1/A"}) 
    5151                self.createDataSet("I", np.random.rand(100,), {"units": "1/cm"}) 
    5252                self.closeFile() 
    53  
    5453 
    5554class Simple1DTimeSeries(ExampleFile): 
     
    5756                self.createFile() 
    5857                self.createEntry("sasentry01") 
    59                 self.createData("sasdata01", ",*", "Time,Q") 
    60                 #data = np.genfromtxt("silver.txt", delimiter=" ", dtype=np.dtype("int16")) 
     58                self.createData("sasdata01", np.array([1]), "Time,Q") 
    6159                self.createDataSet("Q", np.random.rand(100,), {"units": "1/A"}) 
    6260                self.createDataSet("I", np.random.rand(10,100,), {"units": "1/cm"}) 
     
    6462                self.closeFile() 
    6563 
     64class Generic1DTimeSeries(ExampleFile): 
     65        def write(self): 
     66                self.createFile() 
     67                self.createEntry("sasentry01") 
     68                self.createData("sasdata01", np.array([0,1]), "Time,Q") 
     69                self.createDataSet("Q", np.random.rand(10,100,), {"units": "1/A"}) 
     70                self.createDataSet("I", np.random.rand(10,100,), {"units": "1/cm"}) 
     71                self.createDataSet("Time", np.random.rand(10,), {"units": "s"}) 
     72                self.closeFile() 
     73 
     74class Simple2DCase(ExampleFile): 
     75        def write(self): 
     76                self.createFile() 
     77                self.createEntry("sasentry01") 
     78                self.createData("sasdata01", np.array([0,1]), "Q,Q") 
     79                self.createDataSet("Q", np.random.rand(256,100,), {"units": "1/A"}) 
     80                self.createDataSet("I", np.random.rand(256,100,), {"units": "1/cm"}) 
     81                self.closeFile() 
     82 
     83 
     84class Simple2DMaskedCase(ExampleFile): 
     85        def write(self): 
     86                self.createFile() 
     87                self.createEntry("sasentry01") 
     88                self.createData("sasdata01", np.array([0,1]), "Q,Q", np.array([0,1])) 
     89                self.createDataSet("Q", np.random.rand(256,100,), {"units": "1/A"}) 
     90                self.createDataSet("I", np.random.rand(256,100,), {"units": "1/cm"}) 
     91                self.createDataSet("Mask", np.array(np.random.randint(0,1,256*100,).reshape(256,100), dtype=np.dtype("int8"))) 
     92                self.closeFile() 
     93 
     94 
     95class Generic2DCase(ExampleFile): 
     96        def write(self): 
     97                self.createFile() 
     98                self.createEntry("sasentry01") 
     99                self.createData("sasdata01", np.array([0]), "Q") 
     100                self.createDataSet("Q", np.random.rand(256*100,), {"units": "1/A"}) 
     101                self.createDataSet("I", np.random.rand(256*100,), {"units": "1/cm"}) 
     102                self.closeFile() 
     103 
     104 
     105class Generic2DTimeSeries(ExampleFile): 
     106        def write(self): 
     107                self.createFile() 
     108                self.createEntry("sasentry01") 
     109                self.createData("sasdata01", np.array([0,1]), "Time,Q") 
     110                self.createDataSet("Q", np.random.rand(33,256*100,), {"units": "1/A"}) 
     111                self.createDataSet("I", np.random.rand(33,256*100,), {"units": "1/cm"}) 
     112                self.createDataSet("Time", np.random.rand(33,), {"units": "ms"}) 
     113                self.closeFile() 
     114 
     115 
     116class Generic2DTimeTPSeries(ExampleFile): 
     117        def write(self): 
     118                self.createFile() 
     119                self.createEntry("sasentry01") 
     120                self.createData("sasdata01", np.array([1,3,4]), "Temperature,Time,Pressure,Q,Q") 
     121                self.createDataSet("Q", np.random.rand(7,3,3), {"units": "1/A"}) 
     122                self.createDataSet("I", np.random.rand(3,7,2,3,3), {"units": "1/cm"}) 
     123                self.createDataSet("Time", np.random.rand(3,), {"units": "ms"}) 
     124                self.createDataSet("Temperature", np.random.rand(7,), {"units": "ms"}) 
     125                self.createDataSet("Pressure", np.random.rand(2,), {"units": "ms"}) 
     126                self.closeFile() 
     127 
    66128 
    67129if __name__ == "__main__": 
    68     SimpleExampleFile("simple.h5").write() 
    69     Simple1DTimeSeries("simple1DTimeSeries.h5").write() 
     130    subclasses = [] 
     131    classType=ExampleFile 
     132    callers_module = sys._getframe(0).f_globals['__name__'] 
     133    classes = inspect.getmembers(sys.modules[callers_module], inspect.isclass) 
     134    for name, obj in classes: 
     135        if (obj is not classType) and (classType in inspect.getmro(obj)): 
     136            subclasses.append((obj, name)) 
     137    for file in subclasses: 
     138       filename = file[1]+".h5" 
     139       filename = filename.lower() 
     140       file[0](filename).write() 
     141       os.system("h5dump %s > %s.dump" % (filename, filename)) 
    70142 
     143 
Note: See TracChangeset for help on using the changeset viewer.