Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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