Wednesday, November 25, 2009

Python-based GUI version 2!!

I have to say I am pretty proud of this new version of the GUI! Still written in Python, with the Tkinter module, it makes extensive use of graphic elements (the Canvas class), and shows a schematic, but somewhat accurate, outline of the instrument... much more intuitive than the array of buttons of version 1 (see previous post). The GUI design is actually inspired from the one that controls the PHARO camera at the 200" Hale Telescope of Palomar Observatory, which I have used multiple times.

This time, driving optics in and out of the beam also moves boxes in the interface, which gives a good idea of where we're at, without having to think too much about the "guts" of the experiment. If one chooses one of the internal sources (visible or IR laser diode) instead of the tip tilt mirror, the left side focusing beam disappears and the color of the beam changes according to the wavelength.

The possibility of adjusting each of the IN/OUT position is left out of the main window (in an ideal world, the need for adjustment should really be minimal). To adjust, each element, one needs to access the TWEAK menu. On the picture, two were pulled out: depending on the degrees of freedom the mechanics offers (which can be up to five!), the TWEAK menu offers a variable number of controls.

Friday, November 20, 2009

First image with the Xenics IR camera!


Victory is ours! After a little bit of fiddling with the Linux SDK that accompanied our new Xenics IR camera (and some help from the Xenics folks), we finally took our first image today!

320x256 pixels may not look very impressive when deca-megapixel digital cameras can be purchased for a couple hundred of dollars, but this baby is sensitive to near infrared light (from 0.9 to 1.7 microns) and has a fairly fast readout... which makes it perfect for IR low-order wavefront sensing and maybe even for some science.

Wednesday, November 18, 2009

Python-based GUI for motors and actuators

I am fairly new to Python, but heard so many people in astronomy telling how great it is that I had to try it out. This is my first shot at a Python-based GUI, using the TkInter package that appears to be delivered with most Python distributions.

The IR coronagraph on SCExAO consists of several devices whose purpose is described on the project webpage: SRP, PIAA, binary mask, focal plane mask, inverse PIAA and of course, a camera. Each device is mounted on a motorized translation stage that can move the device in and out of the beam, depending on what's on the SCExAO user's mind. We use electronic drivers for stepper motors made and sold by AllMotion, connected to a DIGI serial port server.

It is amazing that in less than 300 lines of well "aerated" code, I managed to cram the definition of an interface, its callbacks, the reading of a configuration file as well as the socket connection to talk to the motors through the local network. The source code is posted here...

This is however just a prelude: SCExAO not only uses stepper motors but also linear actuators which also need to be integrated to this GUI. Design for this Python interface v 2.0 is ongoing.

Tuesday, November 17, 2009

3D model of the protection cage



A couple of weeks ago already, Frederic designed a protection cage for the SCExAO bench, made of square section aluminum tube and brackets purchased online. The project website already features some pictures of the cage, but the drawings were old-school (i.e. pen and paper). Don't get me wrong: I am perfectly happy with "old-school" and actually enjoy very much drawing myself (my notebooks are covered with sketches and drawings), but unlike electronic files, these are not easy to share or modify...

I have been fiddling with Google SketchUp for a little while now. It's a pretty fun piece of software that even if not OpenSource (yet?) is free, does wonders and works great on my Mac. The lack of an electronic file describing the cage was therefore just the perfect excuse to play with it. The file is available for download right here.


Tuesday, November 10, 2009

Linear actuators installed!



When thinking about instrumentation for a telescope, the first thing that comes to mind is of course optics: lenses, prisms and mirrors, that carry the light collected by the primary mirror of the telescope all the way down to a camera. SCExAO obviously uses a lot of these components and with time, this blog will hopefully give you some insights into the gory details of coronagraphs.

A piece of optics is a 3D component, that requires to be kept not only in one place in space, the usual (x,y,z) coordinates, but also with the right orientation which adds another three degrees of freedom. And to add to the fun, when the instrument is taking diffraction limited images, most of these parameters must be accurate within a fraction of one wavelength, which for SCExAO is not too bad since it works in the near-infrared (lambda = 1.6 microns)... but is still a bit of a challenge!

A lot of the optical mounts are therefore on stages driven by micrometers, and some of them need to be adjusted once in a while. Where it seems important and when we can afford it, we replace the manual micrometers by computer controlled actuators. Yesterday, Frédéric finished installing some of the Zaber linear actuators that we've chosen to do the job. The picture just shows a couple of these in-situ. The bench looks cooler and cooler everyday as we keep adding new hardware! Now, someone needs to finish writing the Python code that will talk to these actuators so that we can really computer control everything in SCExAO...

Thursday, November 5, 2009

Ladies and Gents, let me introduce you to... the SCExAO Project!



SCExAO is the acronym for the "Subaru Coronagraphic Extreme Adaptive Optics", a project that is currently being assembled in the Subaru Telescope main base, in beautiful Hilo HI. It is a system that will enable the Subaru Telescope to take direct images of extrasolar planets and disks in the direct vicinity of neighbor stars!

The project website has been online since June 2009, and our group tries to keep it updated with pictures of the project, scientific publications and the like.

Why decide on writing a blog about the project? That is a good question... do we really need a reason to start one? The fact that blogs are just cool (who does not read blogs these days, eh?) should be enough of a justification. But the real motivation is that we think we are doing some pretty cool stuff with the project, and we want to try and share it with as many people as possible, and maybe give science and research a friendlier, warmer face!