def visualize(simulation_dir):
    '\n    Launch ParaView to visualize simulation results.\n\n    @param simulation_dir: the simulation directory\n    @raise TypeError: if any input parameter is not of required type\n    @raise ValueError: if any input parameter is None/empty\n    @raise ServiceError: if error occurs during launching the ParaView\n    '
    signature = (__name__ + '.visualize()')
    helper.log_entrance(_LOGGER, signature, {'simulation_dir': simulation_dir})
    helper.check_not_none_nor_empty(simulation_dir, 'simulation_dir')
    helper.check_is_directory(simulation_dir, 'simulation_dir')
    try:
        files = []
        for f in os.listdir(os.path.join(simulation_dir, 'results')):
            for ext in VISUALIZATION_FILE_EXTENSIONS:
                if fnmatch.fnmatch(f, ('*.' + ext)):
                    files.append(os.path.join(simulation_dir, 'results', f))
        if (len(files) == 0):
            raise ServiceError('There is no accepted file to visualize.')
        _LOGGER.debug('List of files to load:')
        _LOGGER.debug(str(files))
        paraview_script = os.path.join(os.path.join(simulation_dir, 'results'), 'load_data.py')
        prepare_paraview_script(paraview_script, files)
        _LOGGER.debug('Start launching ParaView in subprocess.')
        subprocess.Popen([PARAVIEW_BIN, (('--script=' + paraview_script) + '')])
        _LOGGER.debug('End launching ParaView in subprocess.')
        helper.log_exit(_LOGGER, signature, None)
    except Exception as e:
        helper.log_exception(_LOGGER, signature, e)
        raise ServiceError(('Error occurs when launching the ParaView. Caused by:\n' + unicode(str(e))))
Launch ParaView to visualize simulation results.

@param simulation_dir: the simulation directory
@raise TypeError: if any input parameter is not of required type
@raise ValueError: if any input parameter is None/empty
@raise ServiceError: if error occurs during launching the ParaView
def visualize(simulation_dir):
    '\n    Launch ParaView to visualize simulation results.\n\n    @param simulation_dir: the simulation directory\n    @raise TypeError: if any input parameter is not of required type\n    @raise ValueError: if any input parameter is None/empty\n    @raise ServiceError: if error occurs during launching the ParaView\n    '
    signature = (__name__ + '.visualize()')
    helper.log_entrance(_LOGGER, signature, {'simulation_dir': simulation_dir})
    helper.check_not_none_nor_empty(simulation_dir, 'simulation_dir')
    helper.check_is_directory(simulation_dir, 'simulation_dir')
    try:
        files = []
        for f in os.listdir(os.path.join(simulation_dir, 'results')):
            for ext in VISUALIZATION_FILE_EXTENSIONS:
                if fnmatch.fnmatch(f, ('*.' + ext)):
                    files.append(os.path.join(simulation_dir, 'results', f))
        if (len(files) == 0):
            raise ServiceError('There is no accepted file to visualize.')
        _LOGGER.debug('List of files to load:')
        _LOGGER.debug(str(files))
        paraview_script = os.path.join(os.path.join(simulation_dir, 'results'), 'load_data.py')
        prepare_paraview_script(paraview_script, files)
        _LOGGER.debug('Start launching ParaView in subprocess.')
        subprocess.Popen([PARAVIEW_BIN, (('--script=' + paraview_script) + )])
        _LOGGER.debug('End launching ParaView in subprocess.')
        helper.log_exit(_LOGGER, signature, None)
    except Exception as e:
        helper.log_exception(_LOGGER, signature, e)
        raise ServiceError(('Error occurs when launching the ParaView. Caused by:\n' + unicode(str(e))))