Exemple #1
0
def __resize_batch_helper(item,
                          inputfolder,
                          outputfolder,
                          order=1,
                          append_resolution_to_filename=True,
                          **kwargs_to_ignore):
    inputfile, voxel_size = item
    metadata = Metadata()
    metadata.set_voxel_size(voxel_size)
    stack = Stack(filename=inputfolder + inputfile)
    zoom = np.array(stack.metadata['Voxel size arr']) / np.array(
        metadata['Voxel size arr'])
    stack.resize(zoom=zoom, order=order)
    stack.metadata.set_voxel_size(metadata['Voxel size arr'])
    path = os.path.dirname(inputfile)
    strres = str(metadata['Voxel size']).replace('  ', ' ').replace(
        '  ', ' ').replace('[ ', '[').replace(' ', '_')
    if path == '':
        if append_resolution_to_filename:
            outputname = outputfolder + inputfile[:
                                                  -4] + '_voxel_size_' + strres + '.tif'
        else:
            outputname = outputfolder + path + 'voxel_size_' + strres + '/' + inputfile.split(
                '/')[-1]
    else:
        outputname = outputfolder + path + '_voxel_size_' + strres + '/' + inputfile.split(
            '/')[-1]
    stack.save(outputname)
    stack.metadata.save(outputname[:-4] + '.csv')
Exemple #2
0
def __generate_stacks_batch_helper(item, outputfolder, input_voxel_size,
                                   stack_size_microns, **kwargs_to_ignore):
    filename, params = item
    if not outputfolder.endswith('/'):
        outputfolder += '/'
    stack = Stack(input_voxel_size=input_voxel_size,
                  stack_size=stack_size_microns,
                  cell_params=params)
    stack.save(outputfolder + filename[:-4] + '.tif')
    stack.metadata['StackID'] = filename[:-4].split('_')[-1]
    stack.metadata.save(outputfolder + filename[:-4] + '.csv')
Exemple #3
0
def __convolve_batch_helper(item, inputfolder, psffolder, outputfolder,
                            **kwargs_to_ignore):
    inputfile, psffile = item
    stack = Stack(filename=inputfolder + inputfile)
    psf = PSF(filename=psffolder + psffile)
    stack.convolve(psf)
    stack.save(outputfolder + psffile[:-4] + '/' + inputfile)
    for c in ['PSF sigma xy um', 'PSF aspect ratio']:
        stack.metadata[c] = psf.metadata[c]
    stack.metadata.save(outputfolder + psffile[:-4] + '/' + inputfile[:-4] +
                        '.csv')
    psf.save(outputfolder + psffile)
    psf.metadata.save(outputfolder + psffile[:-4] + '.csv')
Exemple #4
0
def __add_noise_batch_helper(item, inputfolder, outputfolder,
                             **kwargs_to_ignore):
    inputfile, kind, snr = item
    stack = Stack(filename=inputfolder + inputfile)
    path = os.path.dirname(inputfile)
    if 'isPSF' not in stack.metadata.index or str(
            stack.metadata['isPSF']) == 'False':
        stack.add_noise(kind=kind, snr=snr)

    if path == '':
        outputname = outputfolder + inputfile
    else:
        outputname = outputfolder + path + '_noise'
        snr = np.array([snr]).flatten()
        kind = np.array([kind]).flatten()
        if len(snr) == 1:
            snr = np.array([snr[0]] * len(kind))
        for i, k in enumerate(kind):
            outputname = outputname + '_' + k + '_snr=' + str(snr[i])
        outputname = outputname + '/' + inputfile.split('/')[-1]
    stack.save(outputname)
    stack.metadata.save(outputname[:-4] + '.csv')