def _test(): """Tests""" import ClearMap.Settings as settings import ClearMap.IO.IO as io import ClearMap.Visualization.Plot3d as p3d; import ClearMap.Alignment.Resampling as res from importlib import reload reload(res) r = res.resample_shape(source_shape=(100,200,300), sink_shape=(50,50,30)); print('resampled source_shape=%r, sink_shape=%r, source_resolution=%r, sink_resolution=%r' % r) r = res.resample_shape(source_shape=(100,200,300), source_resolution=(2,2,2), sink_resolution=(10,2,1)) print('resampled source_shape=%r, sink_shape=%r, source_resolution=%r, sink_resolution=%r' % r) source = io.join(settings.test_data_path, 'Resampling/test.tif') sink = io.join(settings.test_data_path, "Resampling/resampled.npy") source = io.join(settings.test_data_path, 'Tif/sequence/sequence<Z,4>.tif') sink = io.join(settings.test_data_path, "Resampling/resampled_sequence.tif") source_shape, sink_shape, source_res, sink_res = res.resample_shape(source_shape=io.shape(source), source_resolution=(1.,1.,1.), sink_resolution=(1.6,1.6,2)) axes_order = res._axes_order(None, source_shape, sink_shape); print(axes_order) resampled = res.resample(source, sink, source_resolution=(1.,1.,1.), sink_resolution = (1.6,1.6,2), orientation=None, processes=None); p3d.plot(resampled) p3d.plot(source) inverse = res.resample_inverse(resampled, sink=None, resample_source=source, source_resolution=(1,1,1), sink_resolution = (10,10,2), orientation=None, processes='serial') p3d.plot([source, inverse]) resampled = res.resample(source, sink, source_resolution=(1,1,1), sink_resolution = (10,10,2), orientation=(2,-1,3), processes=None); p3d.plot(resampled) inverse = res.resample_inverse(resampled, sink=None, resample_source=source, source_resolution=(1,1,1), sink_resolution = (10,10,2), orientation=(2,-1,3), processes=None) p3d.plot([source, inverse]) resampled = res.resample(source, sink=None, source_resolution=(1.6,1.6,2), sink_shape=(10,20,30), orientation=None, processes=None) p3d.plot(resampled) # ponints points = res.np.array([[0,0,0], [1,1,1], [1,2,3]], dtype=float); resampled_points = res.resample_points(points, resample_source=source , resample_sink=sink, orientation=None) print(resampled_points) inverse_points = res.resample_points_inverse(resampled_points, resample_source=source , resample_sink=sink, orientation=None) print(inverse_points) print(res.np.allclose(points, inverse_points))
def filename(ftype, file_type_to_name = None, directory = None, expression = None, values = None, prefix = None, postfix = None, extension = None, debug = None): """Returns the standard file name to use for a result file. Arguments --------- ftype : str The type of the file for which the file name is requested. directory : str The working directory of the project. expression : str or None The tag expression to use if ftype is 'expression'. file_type_to_name : dict The file types to name mappings. If None, the default is used. values : dict or None The values to use in case a tag expression is given. prefix : str or None Optional prefix to the file if not None. postfix : str or list of str or None Optional postfix to the file if not None. extension : str or None Optional extension to replace existing one. debug : str, bool or None Optional string for debug files in wihch the string is added as postfix. If True, 'debug' is added. Returns ------- filename : str The standard file name of the requested file type. """ if file_type_to_name is None: file_type_to_name = default_file_type_to_name; if ftype is None: fname = directory; if ftype in file_type_synonyms.keys(): ftype = file_type_synonyms[ftype]; if ftype == 'expression' or expression is not None: expression = te.Expression(expression); fname = expression.string(values=values); #Note: expressions are used for raw data only atm -> no prefix, debug prefix = None; debug = None; else: fname = file_type_to_name.get(ftype, None); e = te.Expression(fname); if len(e.tags) > 0: fname = e.string(values=values); #Note: expressions are used for raw data only atm -> no prefix, debug prefix = None; debug = None; if fname is None: raise ValueError('Cannot find name for type %r!' % ftype); if prefix and prefix != '': if isinstance(prefix, list): prefix = '_'.join(prefix); fname = prefix + '_' + fname; if postfix is not None and postfix != '': if isinstance(postfix, list): postfix = '_'.join(postfix); fname = fname.split('.'); fname = '.'.join(fname[:-1]) + '_' + postfix + '.' + fname[-1]; if debug: if not isinstance(debug, str): debug = 'debug'; #fname = fname.split('.'); #fname = '.'.join(fname[:-1]) + '_' + debug + '.' + fname[-1]; fname = debug + '_' + fname; if extension: fname = fname.split('.'); fname = '.'.join(fname[:-1] + [extension]); if directory: fname = io.join(directory, fname); return fname;
__author__ = 'Christoph Kirst <*****@*****.**>' __license__ = 'GPLv3 - GNU General Pulic License v3 (see LICENSE)' __copyright__ = 'Copyright © 2020 by Christoph Kirst' __webpage__ = 'http://idisco.info' __download__ = 'http://www.github.com/ChristophKirst/ClearMap2' import ClearMap.IO.IO as io ############################################################################### ### Files ############################################################################### base_directory = io.split(io.abspath(__file__))[0] """The base directory for test data.""" data_directory = io.join(base_directory, 'Data') """The base directory for test data.""" vasculature_directory = io.join(data_directory, 'Vasculature') """Directory for vasculature sample data.""" vasculature_raw = io.join(vasculature_directory, 'vasculature_raw.npy') """Vasculature sample data.""" vasculature_pre = io.join(vasculature_directory, 'vasculature_pre.npy') """Vasculature sample data.""" vasculature_surface_raw = io.join(vasculature_directory, 'vasculature_surface_raw.npy') """Vasculature sample data."""