Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

image_stack_to_movie is broken #65

Closed
ambarb opened this issue Dec 6, 2018 · 1 comment
Closed

image_stack_to_movie is broken #65

ambarb opened this issue Dec 6, 2018 · 1 comment

Comments

@ambarb
Copy link
Contributor

ambarb commented Dec 6, 2018

At one point, widgets were broken in jupytherhub, but now we are conda env associated with 2018-3. This function looks to be very broken at this point.

ValueError: Invalid file object: <_io.BufferedReader name=65> is the Exception, but I tried with just 10 images that were just a portion of the FastCCD image, so the problem is not with the input array.

Also not there are some requested enhancements for usability: #57

image_stack_to_movie(sub_images[0:10], vmin=np.percentile(sub_images[1],30), vmax=np.percentile(sub_images[1],90))  

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-193-d87213fc5ab6> in <module>()
      1 #THIS IS CURRENTLY BROKEN
      2 #
----> 3 image_stack_to_movie(sub_images[0:10], vmin=np.percentile(sub_images[1],30), vmax=np.percentile(sub_images[1],90))

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/site-packages/csxtools/ipynb/animation.py in image_stack_to_movie(images, frames, vmin, vmax, figsize, cmap, fps)
    102     plt.close(anim._fig)
    103     # return anim.to_html5_video()
--> 104     return HTML(_anim_to_html(anim, fps))
    105 
    106 

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/site-packages/csxtools/ipynb/animation.py in _anim_to_html(anim, fps)
    115             anim.save(f.name, fps=fps,
    116                       extra_args=['-vcodec', 'libx264',
--> 117                                   '-pix_fmt', 'yuv420p'])
    118             video = open(f.name, "rb").read()
    119         anim._encoded_video = base64.b64encode(video)

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/site-packages/matplotlib/animation.py in save(self, filename, writer, fps, dpi, codec, bitrate, extra_args, metadata, extra_anim, savefig_kwargs)
   1198                         # TODO: See if turning off blit is really necessary
   1199                         anim._draw_next_frame(d, blit=False)
-> 1200                     writer.grab_frame(**savefig_kwargs)
   1201 
   1202         # Reconnect signal for first draw if necessary

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/contextlib.py in __exit__(self, type, value, traceback)
     97                 value = type()
     98             try:
---> 99                 self.gen.throw(type, value, traceback)
    100             except StopIteration as exc:
    101                 # Suppress StopIteration *unless* it's the same exception that

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/site-packages/matplotlib/animation.py in saving(self, fig, outfile, dpi, *args, **kwargs)
    239             yield self
    240         finally:
--> 241             self.finish()
    242 
    243 

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/site-packages/matplotlib/animation.py in finish(self)
    365     def finish(self):
    366         '''Finish any processing for writing the movie.'''
--> 367         self.cleanup()
    368 
    369     def grab_frame(self, **savefig_kwargs):

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/site-packages/matplotlib/animation.py in cleanup(self)
    403     def cleanup(self):
    404         '''Clean-up and collect the process used to write the movie file.'''
--> 405         out, err = self._proc.communicate()
    406         self._frame_sink().close()
    407         _log.debug('MovieWriter -- Command stdout:\n%s', out)

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/subprocess.py in communicate(self, input, timeout)
    841 
    842             try:
--> 843                 stdout, stderr = self._communicate(input, endtime, timeout)
    844             finally:
    845                 self._communication_started = True

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/subprocess.py in _communicate(self, input, endtime, orig_timeout)
   1503                     selector.register(self.stdin, selectors.EVENT_WRITE)
   1504                 if self.stdout:
-> 1505                     selector.register(self.stdout, selectors.EVENT_READ)
   1506                 if self.stderr:
   1507                     selector.register(self.stderr, selectors.EVENT_READ)

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/selectors.py in register(self, fileobj, events, data)
    349 
    350         def register(self, fileobj, events, data=None):
--> 351             key = super().register(fileobj, events, data)
    352             poll_events = 0
    353             if events & EVENT_READ:

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/selectors.py in register(self, fileobj, events, data)
    235             raise ValueError("Invalid events: {!r}".format(events))
    236 
--> 237         key = SelectorKey(fileobj, self._fileobj_lookup(fileobj), events, data)
    238 
    239         if key.fd in self._fd_to_key:

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/selectors.py in _fileobj_lookup(self, fileobj)
    222         """
    223         try:
--> 224             return _fileobj_to_fd(fileobj)
    225         except ValueError:
    226             # Do an exhaustive search.

/opt/conda_envs/analysis-2018-2.1/lib/python3.6/selectors.py in _fileobj_to_fd(fileobj)
     37         except (AttributeError, TypeError, ValueError):
     38             raise ValueError("Invalid file object: "
---> 39                              "{!r}".format(fileobj)) from None
     40     if fd < 0:
     41         raise ValueError("Invalid file descriptor: {}".format(fd))

ValueError: Invalid file object: <_io.BufferedReader name=65>
@ambarb
Copy link
Contributor Author

ambarb commented Dec 6, 2018

#62 is the original issue so I am closing this.

@ambarb ambarb closed this as completed Dec 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant