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')
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')
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')
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')