def test_movie(): """Test saving a movie of an MEG inverse solution """ # create and setup the Brain instance mlab.options.backend = 'auto' brain = Brain(*std_args) stc_fname = os.path.join(data_dir, 'meg_source_estimate-lh.stc') stc = io.read_stc(stc_fname) data = stc['data'] time = np.arange(data.shape[1]) * stc['tstep'] + stc['tmin'] brain.add_data(data, colormap='hot', vertices=stc['vertices'], smoothing_steps=10, time=time, time_label='time=%0.2f ms') brain.scale_data_colormap(fmin=13, fmid=18, fmax=22, transparent=True) # save movies with different options tempdir = mkdtemp() try: dst = os.path.join(tempdir, 'test.mov') brain.save_movie(dst) brain.save_movie(dst, tmin=0.081, tmax=0.102) # test the number of frames in the movie sp = subprocess.Popen(('ffmpeg', '-i', 'test.mov', '-vcodec', 'copy', '-f', 'null', '/dev/null'), cwd=tempdir, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = sp.communicate() m = re.search('frame=\s*(\d+)\s', stderr) if not m: raise RuntimeError(stderr) n_frames = int(m.group(1)) assert_equal(n_frames, 3) finally: # clean up shutil.rmtree(tempdir) brain.close()
def test_movie(tmpdir): """Test saving a movie of an MEG inverse solution.""" import imageio if sys.version_info < (3, ): raise SkipTest('imageio ffmpeg requires Python 3') # create and setup the Brain instance _set_backend() brain = Brain(*std_args) stc_fname = os.path.join(data_dir, 'meg_source_estimate-lh.stc') stc = io.read_stc(stc_fname) data = stc['data'] time = np.arange(data.shape[1]) * stc['tstep'] + stc['tmin'] brain.add_data(data, colormap='hot', vertices=stc['vertices'], smoothing_steps=10, time=time, time_label='time=%0.2f ms') brain.scale_data_colormap(fmin=13, fmid=18, fmax=22, transparent=True) # save movies with different options dst = str(tmpdir.join('test.mov')) # test the number of frames in the movie brain.save_movie(dst) frames = imageio.mimread(dst) assert len(frames) == 2 brain.save_movie(dst, time_dilation=10) frames = imageio.mimread(dst) assert len(frames) == 7 brain.save_movie(dst, tmin=0.081, tmax=0.102) frames = imageio.mimread(dst) assert len(frames) == 2 brain.close()
def test_movie(): """Test saving a movie of an MEG inverse solution.""" import imageio # create and setup the Brain instance _set_backend() brain = Brain(*std_args) stc_fname = os.path.join(data_dir, 'meg_source_estimate-lh.stc') stc = io.read_stc(stc_fname) data = stc['data'] time = np.arange(data.shape[1]) * stc['tstep'] + stc['tmin'] brain.add_data(data, colormap='hot', vertices=stc['vertices'], smoothing_steps=10, time=time, time_label='time=%0.2f ms') brain.scale_data_colormap(fmin=13, fmid=18, fmax=22, transparent=True) # save movies with different options tempdir = mkdtemp() try: dst = os.path.join(tempdir, 'test.mov') # test the number of frames in the movie brain.save_movie(dst) frames = imageio.mimread(dst) assert_equal(len(frames), 2) brain.save_movie(dst, time_dilation=10) frames = imageio.mimread(dst) assert_equal(len(frames), 7) brain.save_movie(dst, tmin=0.081, tmax=0.102) frames = imageio.mimread(dst) assert_equal(len(frames), 2) finally: # clean up if not (sys.platform == 'win32' and os.getenv('APPVEYOR', 'False') == 'True'): # cleanup problems shutil.rmtree(tempdir) brain.close()
def test_movie(tmpdir): """Test saving a movie of an MEG inverse solution.""" import imageio if sys.version_info < (3,): raise SkipTest('imageio ffmpeg requires Python 3') # create and setup the Brain instance _set_backend() brain = Brain(*std_args) stc_fname = os.path.join(data_dir, 'meg_source_estimate-lh.stc') stc = io.read_stc(stc_fname) data = stc['data'] time = np.arange(data.shape[1]) * stc['tstep'] + stc['tmin'] brain.add_data(data, colormap='hot', vertices=stc['vertices'], smoothing_steps=10, time=time, time_label='time=%0.2f ms') brain.scale_data_colormap(fmin=13, fmid=18, fmax=22, transparent=True) # save movies with different options dst = str(tmpdir.join('test.mov')) # test the number of frames in the movie brain.save_movie(dst) frames = imageio.mimread(dst) assert len(frames) == 2 brain.save_movie(dst, time_dilation=10) frames = imageio.mimread(dst) assert len(frames) == 7 brain.save_movie(dst, tmin=0.081, tmax=0.102) frames = imageio.mimread(dst) assert len(frames) == 2 brain.close()
lambda2, method='dSPM') stc_evoked.save(stc_fname) brain = Brain(subject, 'split', 'partially_inflated', size=(800, 400)) for hemi in ['lh', 'rh']: stc = read_stc(stc_fname + '-%s.stc' % hemi) data = stc['data'] times = np.arange(data.shape[1]) * stc['tstep'] + stc['tmin'] brain.add_data(data, colormap='RdBu', vertices=stc['vertices'], smoothing_steps=10, time=times, time_label=time_label, initial_time=-0.1, hemi=hemi) abs_max = (np.abs(data)).max() brain.scale_data_colormap(fmin=0, fmid=abs_max / 3, fmax=abs_max, center=0, transparent=True) brain.save_movie(meg_dir + subject + '_stc_evoked.mov', tmin=-0.1, tmax=0.5, time_dilation=10) brain.close()
""" create Brain object for visualization """ brain = Brain('fsaverage', 'split', 'inflated', size=(800, 400)) """ read and display MNE dSPM inverse solution """ stc_fname = os.path.join('example_data', 'meg_source_estimate-%s.stc') for hemi in ['lh', 'rh']: stc = read_stc(stc_fname % hemi) data = stc['data'] times = np.arange(data.shape[1]) * stc['tstep'] + stc['tmin'] brain.add_data(data, colormap='hot', vertices=stc['vertices'], smoothing_steps=10, time=times, hemi=hemi, time_label=lambda t: '%s ms' % int(round(t * 1e3))) """ scale colormap """ brain.scale_data_colormap(fmin=13, fmid=18, fmax=22, transparent=True) """ Save a movie. Use a large value for time_dilation because the sample stc only covers 30 ms. """ brain.save_movie('example_current.mov', time_dilation=30) brain.close()