def main(): file_name = "/local/data/databank/Diamond/projections_13429.hdf" hdf5_file_name = "/local/data/databank/dataExchange/microCT/Diamond_2bin.h5" mydata = Convert() # Create minimal hdf5 file if verbose: print "Reading data ... " mydata.nexus( file_name, hdf5_file_name=hdf5_file_name, projections_start=20, projections_end=1820, projections_step=2, white_start=11, white_end=20, dark_start=1, dark_end=3, sample_name="unknown", ) # Add extra metadata if available / desired # Open DataExchange file f = DataExchangeFile(hdf5_file_name, mode="a") # Create HDF5 subgroup # /measurement/instrument f.add_entry(DataExchangeEntry.instrument(name={"value": "Diamond I12"})) ### Create HDF5 subgroup ### /measurement/instrument/source f.add_entry( DataExchangeEntry.source( name={"value": "Diamond Light Source"}, date_time={"value": "2013-11-30T19:17:04+0100"}, beamline={"value": "JEEP I12"}, ) ) # Create HDF5 subgroup # /measurement/experimenter f.add_entry(DataExchangeEntry.experimenter(name={"value": "Michael Drakopoulos"}, role={"value": "Project PI"})) f.close() print "Done creating data exchange file: ", hdf5_file_name
def main(): file_name = '/local/data/databank/Diamond/projections_13429.hdf' hdf5_file_name = '/local/data/databank/dataExchange/microCT/Diamond_2bin.h5' mydata = Convert() # Create minimal hdf5 file if verbose: print "Reading data ... " mydata.nexus(file_name, hdf5_file_name = hdf5_file_name, projections_start=20, projections_end=1820, projections_step=2, white_start=11, white_end=20, dark_start=1, dark_end=3, sample_name = 'unknown' ) # Add extra metadata if available / desired # Open DataExchange file f = DataExchangeFile(hdf5_file_name, mode='a') # Create HDF5 subgroup # /measurement/instrument f.add_entry( DataExchangeEntry.instrument(name={'value': 'Diamond I12'}) ) ### Create HDF5 subgroup ### /measurement/instrument/source f.add_entry( DataExchangeEntry.source(name={'value': "Diamond Light Source"}, date_time={'value': "2013-11-30T19:17:04+0100"}, beamline={'value': "JEEP I12"}, ) ) # Create HDF5 subgroup # /measurement/experimenter f.add_entry( DataExchangeEntry.experimenter(name={'value':"Michael Drakopoulos"}, role={'value':"Project PI"}, ) ) f.close() print "Done creating data exchange file: ", hdf5_file_name
def main(): file_name = '/local/data/databank/TXM_26ID/Miller1/ABR_1SP_.tif' #dark_file_name = '/local/data/databank/AS/Mayo_tooth_AS/BG__AFTER_.tif' #white_file_name = '/local/data/databank/AS/Mayo_tooth_AS/BG__BEFORE_.tif' hdf5_file_name = '/local/data/databank/dataExchange/TXM/TXM_APS26IDMiller1.h5' sample_name = 'Teeth' projections_start = 0 projections_end = 361 white_start = 0 white_end = 0 white_step = 1 dark_start = 0 dark_end = 0 dark_step = 1 verbose = True if verbose: print "Input projection base name: ", file_name #if verbose: print "Input white base name: ", white_file_name #if verbose: print "Input dark base name: ", dark_file_name if verbose: print "Output data exchange file name: ", hdf5_file_name mydata = Convert() # Create minimal hdf5 file mydata.series_of_images(file_name, hdf5_file_name, projections_start, projections_end, #white_file_name = white_file_name, white_start = white_start, white_end = white_end, white_step = white_step, #dark_file_name = dark_file_name, #dark_start = dark_start, #dark_end = dark_end, #dark_step = dark_step, #sample_name = sample_name, projections_digits = 4, #white_digits = 2, #dark_digits = 2, projections_zeros = True, verbose = False ) if verbose: print "Done reading data ... " # Add extra metadata if available # Open DataExchange file f = DataExchangeFile(hdf5_file_name, mode='a') # Create HDF5 subgroup # /measurement/instrument f.add_entry( DataExchangeEntry.instrument(name={'value': 'Australian Synchrotron Facility'}) ) # Create HDF5 subgroup # /measurement/instrument/source f.add_entry( DataExchangeEntry.source(name={'value': 'Australian Synchrotron FacilityI'}, date_time={'value': "2013-10-19T22:22:13+0100"}, beamline={'value': "Tomography"}, ) ) # /measurement/experimenter f.add_entry( DataExchangeEntry.experimenter(name={'value':"Sherry Mayo"}, role={'value':"Project PI"}, ) ) f.close() if verbose: print "Done creating data exchange file: ", hdf5_file_name
def main(): file_name = '/local/data/databank/TXM_26ID/20130731_004_Stripe_Solder_Sample_Tip1_TomoScript_181imgs_p1s_b1.txrm' white_file_name = '/local/data/databank/TXM_26ID/20130731_001_Background_Reference_20imgs_p5s_b1.xrm' hdf5_file_name = '/local/data/databank/dataExchange/TXM/20130731_004_Stripe_Solder_Sample_Tip1_nx.h5' log_file = '/local/data/databank/dataExchange/TXM/20130731_004_Stripe_Solder_Sample_Tip1.log' mydata = Convert() # Create minimal hdf5 file if verbose: print "Reading data ... " mydata.stack(file_name, hdf5_file_name=hdf5_file_name, white_file_name=white_file_name, sample_name='Stripe_Solder_Sample_Tip1') # Add extra metadata if available / desired reader = xradia.xrm() array = dstruct reader.read_txrm(file_name, array) # Read angles n_angles = np.shape(array.exchange.angles) if verbose: print "Done reading ", n_angles, " angles" theta = np.zeros(n_angles) theta = array.exchange.angles[:] # Save any other available metadata in a log file f = open(log_file, 'w') f.write('Data creation date: \n') f.write(str(array.information.file_creation_datetime)) f.write('\n') f.write('=======================================\n') f.write('Sample name: \n') f.write(str(array.information.sample.name)) f.write('\n') f.write('=======================================\n') f.write('Experimenter name: \n') f.write(str(array.information.experimenter.name)) f.write('\n') f.write('=======================================\n') f.write('X-ray energy: \n') f.write(str(array.exchange.energy)) f.write(str(array.exchange.energy_units)) f.write('\n') f.write('=======================================\n') f.write('Angles: \n') f.write(str(array.exchange.angles)) f.write('\n') f.write('=======================================\n') f.write('Data axes: \n') f.write(str(array.exchange.data_axes)) f.write('\n') f.write('=======================================\n') f.write('x distance: \n') f.write(str(array.exchange.x)) f.write('\n') f.write('=======================================\n') f.write('x units: \n') f.write(str(array.exchange.x_units)) f.write('\n') f.write('=======================================\n') f.write('y distance: \n') f.write(str(array.exchange.y)) f.write('\n') f.write('=======================================\n') f.write('y units: \n') f.write(str(array.exchange.y_units)) f.write('\n') f.close() # Open DataExchange file f = DataExchangeFile(hdf5_file_name, mode='a') # Create HDF5 subgroup # /measurement/instrument f.add_entry(DataExchangeEntry.instrument(name={'value': 'APS-CNM 26-ID'})) ### Create HDF5 subgroup ### /measurement/instrument/source f.add_entry( DataExchangeEntry.source( name={'value': "Advanced Photon Source"}, date_time={'value': "2013-07-31T19:42:13+0100"}, beamline={'value': "26-ID"}, )) # Create HDF5 subgroup # /measurement/instrument/monochromator f.add_entry( DataExchangeEntry.monochromator( type={'value': 'Unknown'}, energy={ 'value': float(array.exchange.energy[0]), 'units': 'keV', 'dataset_opts': { 'dtype': 'd' } }, mono_stripe={'value': 'Unknown'}, )) # Create HDF5 subgroup # /measurement/experimenter f.add_entry( DataExchangeEntry.experimenter( name={'value': "Robert Winarski"}, role={'value': "Project PI"}, )) # Create HDF5 subgroup # /measurement/sample f.add_entry( DataExchangeEntry.data(theta={ 'value': theta, 'units': 'degrees' })) f.close() print "Done creating data exchange file: ", hdf5_file_name
def main(): file_name = '/local/data/databank/TXM_26ID/Miller1/ABR_1SP_.tif' #dark_file_name = '/local/data/databank/AS/Mayo_tooth_AS/BG__AFTER_.tif' #white_file_name = '/local/data/databank/AS/Mayo_tooth_AS/BG__BEFORE_.tif' hdf5_file_name = '/local/data/databank/dataExchange/TXM/TXM_APS26IDMiller1.h5' sample_name = 'Teeth' projections_start = 0 projections_end = 361 white_start = 0 white_end = 0 white_step = 1 dark_start = 0 dark_end = 0 dark_step = 1 verbose = True if verbose: print "Input projection base name: ", file_name #if verbose: print "Input white base name: ", white_file_name #if verbose: print "Input dark base name: ", dark_file_name if verbose: print "Output data exchange file name: ", hdf5_file_name mydata = Convert() # Create minimal hdf5 file mydata.series_of_images( file_name, hdf5_file_name, projections_start, projections_end, #white_file_name = white_file_name, white_start=white_start, white_end=white_end, white_step=white_step, #dark_file_name = dark_file_name, #dark_start = dark_start, #dark_end = dark_end, #dark_step = dark_step, #sample_name = sample_name, projections_digits=4, #white_digits = 2, #dark_digits = 2, projections_zeros=True, verbose=False) if verbose: print "Done reading data ... " # Add extra metadata if available # Open DataExchange file f = DataExchangeFile(hdf5_file_name, mode='a') # Create HDF5 subgroup # /measurement/instrument f.add_entry( DataExchangeEntry.instrument( name={'value': 'Australian Synchrotron Facility'})) # Create HDF5 subgroup # /measurement/instrument/source f.add_entry( DataExchangeEntry.source( name={'value': 'Australian Synchrotron FacilityI'}, date_time={'value': "2013-10-19T22:22:13+0100"}, beamline={'value': "Tomography"}, )) # /measurement/experimenter f.add_entry( DataExchangeEntry.experimenter( name={'value': "Sherry Mayo"}, role={'value': "Project PI"}, )) f.close() if verbose: print "Done creating data exchange file: ", hdf5_file_name
def main(): file_name = '/local/data/databank/TXM_26ID/20130731_004_Stripe_Solder_Sample_Tip1_TomoScript_181imgs_p1s_b1.txrm' white_file_name = '/local/data/databank/TXM_26ID/20130731_001_Background_Reference_20imgs_p5s_b1.xrm' hdf5_file_name = '/local/data/databank/dataExchange/TXM/20130731_004_Stripe_Solder_Sample_Tip1_nx.h5' log_file = '/local/data/databank/dataExchange/TXM/20130731_004_Stripe_Solder_Sample_Tip1.log' mydata = Convert() # Create minimal hdf5 file if verbose: print "Reading data ... " mydata.stack(file_name, hdf5_file_name = hdf5_file_name, white_file_name = white_file_name, sample_name = 'Stripe_Solder_Sample_Tip1' ) # Add extra metadata if available / desired reader = xradia.xrm() array = dstruct reader.read_txrm(file_name,array) # Read angles n_angles = np.shape(array.exchange.angles) if verbose: print "Done reading ", n_angles, " angles" theta = np.zeros(n_angles) theta = array.exchange.angles[:] # Save any other available metadata in a log file f = open(log_file,'w') f.write('Data creation date: \n') f.write(str(array.information.file_creation_datetime)) f.write('\n') f.write('=======================================\n') f.write('Sample name: \n') f.write(str(array.information.sample.name)) f.write('\n') f.write('=======================================\n') f.write('Experimenter name: \n') f.write(str(array.information.experimenter.name)) f.write('\n') f.write('=======================================\n') f.write('X-ray energy: \n') f.write(str(array.exchange.energy)) f.write(str(array.exchange.energy_units)) f.write('\n') f.write('=======================================\n') f.write('Angles: \n') f.write(str(array.exchange.angles)) f.write('\n') f.write('=======================================\n') f.write('Data axes: \n') f.write(str(array.exchange.data_axes)) f.write('\n') f.write('=======================================\n') f.write('x distance: \n') f.write(str(array.exchange.x)) f.write('\n') f.write('=======================================\n') f.write('x units: \n') f.write(str(array.exchange.x_units)) f.write('\n') f.write('=======================================\n') f.write('y distance: \n') f.write(str(array.exchange.y)) f.write('\n') f.write('=======================================\n') f.write('y units: \n') f.write(str(array.exchange.y_units)) f.write('\n') f.close() # Open DataExchange file f = DataExchangeFile(hdf5_file_name, mode='a') # Create HDF5 subgroup # /measurement/instrument f.add_entry( DataExchangeEntry.instrument(name={'value': 'APS-CNM 26-ID'}) ) ### Create HDF5 subgroup ### /measurement/instrument/source f.add_entry( DataExchangeEntry.source(name={'value': "Advanced Photon Source"}, date_time={'value': "2013-07-31T19:42:13+0100"}, beamline={'value': "26-ID"}, ) ) # Create HDF5 subgroup # /measurement/instrument/monochromator f.add_entry( DataExchangeEntry.monochromator(type={'value': 'Unknown'}, energy={'value': float(array.exchange.energy[0]), 'units': 'keV', 'dataset_opts': {'dtype': 'd'}}, mono_stripe={'value': 'Unknown'}, ) ) # Create HDF5 subgroup # /measurement/experimenter f.add_entry( DataExchangeEntry.experimenter(name={'value':"Robert Winarski"}, role={'value':"Project PI"}, ) ) # Create HDF5 subgroup # /measurement/sample f.add_entry( DataExchangeEntry.data(theta={'value': theta, 'units':'degrees'})) f.close() print "Done creating data exchange file: ", hdf5_file_name