Author Archive

Messier 51, a real headlight in the night sky

Friday, March 30th, 2012

Messier 51

Good old M51, one of the brightest galaxies visible in the northern hemisphere. At about 23 million light-years from us, discovered back in 1773, this nice looking pair of interacting galaxies is one of the most well known objects in the sky.

Not a particularly large galaxy, M51 would be about a third as large as the Milky Way, and maybe a fourth as massive.

This image, taken over two nights, on March 12th and 13th 2012, is the stack of about 6.8 hours of integration time (mode details by clicking on the image.)

In the full frame you can see some reflections that have afflicted my optical train, but that have since been solved.

A rose in the night sky

Friday, March 16th, 2012

Part of the Rosette Bebula

With a good blast, and after a long break, I can finally start posting astrophotography again! After a long and unnerving planning, setting up and breaking in time, my remote observatory is now (kinda) ready.

What?! A remote observatory? – you might ask.

Living in Finland comes with its perks, but this is far from the ideal country for the avid astrophotographer. Long winters oppressed by stubborn clouds, and then darkness-free summers mean that there are too few chances to image, and too many to get frustrated.

So I took the plunge and shipped my gear over to good folks at AstroCamp, where it’s taken good care of, under an amazingly dark and steady sky which is mostly cloud free.

I’m still warming up my gears, but I’ve already got a little to show. This image, available also in pure HST palette and whose every detail can be seen at its AstroBin page (just click on it), was the work of a few nights. I still have some flexure to deal with, and I’m going to move to an off-axis-guider. As I said, still plenty of work till the current setup can be made optimal.

The Rosette Nebula is a large, circular H II region located near one end of a giant molecular cloud in the Monoceros region of the Milky Way Galaxy. The open cluster NGC 2244 (Caldwell 50) is closely associated with the nebulosity, the stars of the cluster having been formed from the nebula’s matter.

The cluster and nebula lie at a distance of some 5,200 light-years from Earth (although estimates of the distance vary considerably, down to 4,900 light-years.) and measure roughly 130 light years in diameter. The radiation from the young stars excite the atoms in the nebula, causing them to emit radiation themselves producing the emission nebula we see. The mass of the nebula is estimated to be around 10,000 solar masses.

It is believed that stellar winds from a group of O and B stars are exerting pressure on interstellar clouds to cause compression, followed by star formation in the nebula. This star formation is currently still ongoing.

(source: Wikipedia.)

Manipulating the URL query string with Django and MultipleChoiceFields

Monday, February 6th, 2012

The problem: sometimes you want to add and remove URL parameters without knowing what’s already there. Say you are currently generating this URL:

/search/?q=foo&filter=bar&page=2

and, in that page, you have a button called Remove filters that should link to:

/search/?q=foo&page=2

The solution: this Django snippet implements a template tag called query_string that works like this:

{% query_string '' '' %}

where the first argument contains URL parameters that you want to add or modify, and the second one includes URL parameters that you want to remove.

Examples:


    Remove filters



    Go to page 3

The problem with this approach: while this approach has worked great for me for a while, I eventually hit a stumbling block: if you have a form for a group of checkboxes, and are submitting said form via GET, you will end up with an URL that looks like:

/search/?q=foo&opts=1&opts=2&opts=3

See how the opts parameter repeats several times? That’s a design flaw if you ask me, but that’s how HTTP seems to work.

When the URL parameters are pulled out of Django’s QueryDict, only the last one is preserved, i.e. opts=3, so you’d lose the tick on some checkboxes.

To prevent that, I have modified the query_string snippet. Here’s a version that works with MultipleChoiceFields, and multiple occurrences of the same URL parameter in general (I have replaced only the functions I modified. Please refer to the original snippet for the rest.)

class QueryStringNode(Node):
    def __init__(self, add,remove):
        self.add = add
        self.remove = remove

    def render(self, context):
        p_list = []
        p_dict = {}
        query = context["request"].GET
        for k in query:
            p_list.append([k, query.getlist(k)])
            p_dict[k] = query.getlist(k)

        return get_query_string(
            p_list, p_dict,
            self.add, self.remove,
            context)

def get_query_string(p_list, p_dict,
                    new_params, remove,
                    context):
    """
    Add and remove query parameters.
    From `django.contrib.admin`.
    """
    for r in remove:
        p_list = [[x[0], x[1]]\
            for x in p_list if not x[0].startswith(r)]
    for k, v in new_params.items():
        if k in p_dict and v is None:
            p_list = [[x[0], x[1]]\
                for x in p_list if not x[0] == k]
        elif k in p_dict and v is not None:
            for i in range(0, len(p_list)):
                if p_list[i][0] == k:
                    p_list[i][1] = [v]

        elif v is not None:
            p_list.append([k, [v]])

    for i in range(0, len(p_list)):
        if len(p_list[i][1]) == 1:
            p_list[i][1] = p_list[i][1][0]
        else:
            p_list[i][1] = mark_safe(
                '&'.join(
                    [u'%s=%s' % (p_list[i][0], k)
                        for k in p_list[i][1]]))
            p_list[i][0] = ''
        try:
            p_list[i][1] = template.Variable(
                p_list[i][1]).resolve(context)
        except:
            pass

    return mark_safe(
        '?' +
        '&'.join(
            [k[1] if k[0] == ''
                  else u'%s=%s' % (k[0], k[1])
                  for k in p_list]).replace(' ', '%20'))

Hope this helps.

Announcing AstroBin.com: the website the Astrophotography community needed

Tuesday, December 20th, 2011

I hadn’t had time to make the announcement here yet, but it’s with great joy that I let you in on a project that has taken me a year to complete, and that I have developed to serve the Astrophotography community.

The labor of love I’m talking about is AstroBin, the first image hosting website entirely dedicated to astrophotographers, seeking to preserve the value inherent to the great scientific-grade output that this community has produced for so many years.

AstroBin was born out of the desire to end something I had seen for too long, something that I didn’t want to see: the waste of incredible material to the sea of chaos that the Internet can be. For years, I have seen fantastic astrophotographs being uploaded to Internet Forums, often with little or no data, or to general purpose image hosting site, invariably with no data attached.

Such an image would be seen by some people, then quickly forgotten, and reduced to nothing more than a bunch of pixel in the giant wasteland of the Internet.

I respected the Astrophotography community too much to allow this, so I decided to do something about it. AstroBin is the result: an effort to host, collect, index and categorize the output of the astrophotographers all over the world, so that their precious data would serve a purpose, and have a meaning forever.

So, let me tell you why you too should upload your astro-images to AstroBin, and contribute:

  1. Unlimited uploads, unlimited size, for free
    Astrophotography images have scientific value that shouldn’t be lost in file compression. On AstroBin you can (and should!) upload full size images. And you have unlimited space for free.
  2. Smart albums
    Your astro-images will be automatically organized in dynamic and intelligent albums: by subject type (nebulae, clusters, galaxies…), by year and by equipment used.
  3. Dedication to data
    On a general purpose image sharing site, you would upload your image and be done with it. AstroBin, instead, has a user interface specifically designed to enable you to input all the technical data of your image. AstroBin will autocomplete your input using a vast database: everything from telescopes, CCDs and filters to astronomical objects in many catalogues will show in popup dialogs for easy selection when you start typing their names. AstroBin is connected to the SIMBAD Astronomical Database, which contains over 5 million objects under over 15 million names!
  4. Data is strongly interconnected
    Have you ever wanted to see how your next image is going to look like? On AstroBin, you can search for all images of a certain target that were taken with a certain telescope and a certain CCD or camera. Or a certain filter. How about all the images between 6 and 8 hours of integration? Or with a certain Moon phase? You can do that!
  5. All the data at a glance
    Each image on AstroBin is annotated of all the technical details about its acquisition. Telescopes involved, cameras, mounts, filters, everything is visible at a glance in the Technical Card. Even the Moon age at the time of the acquisition is displayed.
  6. More than just an image
    AstroBin will do more than just host a copy of your image: when you upload a photograph, a histogram and a black & white inverted version of the image will be generated on the fly, so it’s easier to spot faint nebulosity regions or spiral arms. Images will also be plate solved, and an annotated version will appear on the site. AstroBin will know what are the astronomical objects in your image without you telling!
  7. AstroBin supports multiple image revisions
    Don’t tell me you have never gone back to revise the processing of an image after you had published it. AstroBin embraces this concept and lets you publish several revisions of the same image easily and intuitively! Now it’s going to be really easy to tell whether your processing has improved.
  8. AstroBin is social!
    On AstroBin you can message other astrophotographer, follow them and be notified when they post new images, or perform requests for more data. You can also vote on images.
  9. Have your data neatly plotted
    Data is everything, and AstroBin will give you the tools to keep your data neat and organized. And with our plots, you can get insights on your productivity and on the gear you use the most.

In conclusion, as you have undoubtly realized by now, AstroBin is way more than an image hosting service. It’s what the Astrophotography community has needed for a long time. Posting your astrophotographs on AstroBin not only means you gain a great place to store your work, a great way to keep your data consistent and organized and fantastic tool to accompany you in your hobby; it also means you are contributing something to the community, you are helping others know what to expect from their equipment, and you are keeping important data safe and organized.

If you are as convinced as I think you are, go ahead and sign up!

Pelican Nebula

Friday, October 14th, 2011

Pelican Nebula

Here’s my rendition of the famous Pelican Nebula, the Ha rich neighbor of NGC7000. It took four hours in 15-minute subframes to accomplish this decently clean and signal rich image.

2000 light-years away, it’s a very active star forming region.

A soap bubble and a treasure chest

Thursday, October 6th, 2011

NGC7635 and M52

Only three hours could go into the making of this peculiar portrait, picturing the beautiful Bubble Nebula, aka NGC7635, and the bright open cluster M52.

The Bubble is an area of ionized hydrogen, currently being blown away by the stellar wind of a massive and hot central star, whose mass is believed to be twenty to forty times that of our Sun. The Bubble extends over a diameter of about 10 light-years, lies 11000 light-years away and is a set for very violent and turbulent processes at work.

The Elephant’s Trunk

Thursday, October 6th, 2011

The Elephant's Trunk

Four hours and forty-five minutes went into the making of this rendering of the Elephant’s Trunk, part of the nebulosity around the open cluster IC1396.

The elongated cloud you see in the image, resembling the trunk of an elephant, is really over 20 light-years long, and the whole complex is 2400 light-years away from Earth.

This bright emission area is thought to be a star forming region.

Crescent nebula reprocessed for natural colors

Wednesday, October 5th, 2011

Crescent nebula

Here’s a humble attempt to reprocessing the Crescent I did with Gustaaf Prins and (waiting for clearance to disclose name). It’s a composition of red, green, blue, Ha, SII and OIII channels.

Of course when performing this kind of processing, there is usually no pretense of achieving real natural colors. The problems lies mostly in two factors: first, the Ha and SII channels are both reddish, while the OIII channel is greenish blue; second, the intensity of the signal at different bandwidths varies considerably, and if you don’t want to end up with a very color-unbalanced imaged, you need to stretch different channels differently.

This image uses red, Ha and SII (mixed in different percentages) for the red channel, green and OIII for the green channel, and blue, OIII and a pinch of Ha for the blue channel.

Wizard Nebula in H-Alpha

Sunday, October 2nd, 2011

Sh2-142

Here are seven an a half hours, split in fifteen 30-minute subs, on the Wizard Nebula, aka NGC7380, aka Sh2-142.

NGC 7380 is a typical starforming region in the direction of an outer spiral arm of our galaxy (around 7,000 light years distant). This field contains many young energetic stars that make the natal gas that surround them glow an intense pink/red. The majority of stars for this newly formed group are out of the field to the upper left (right, in my image). Their winds and radiation sculpt clouds of gas and dust into the mountainous ridges seen here. The darkest parts of this image are foreground clouds of dust thick enough to extinct the light beyond them

(Quoted from http://www.noao.edu/outreach/aop/observers/n7380.html)

A quick gulf

Sunday, October 2nd, 2011

NGC7000

Only 100 minutes went into the capturing of this NGC7000, split into five 20-minute subs. Obviously this is an area extremely rich of hydrogen, as the amount of signal is incredible for my tiny 80mm refractor.

NGC7000, aka The North America nebula (obvious nickname), is a very large nebula, actually covering an area four times as large as the full moon. The area I imaged is called “Cygnus’s Wall”.

Very interesting, the shape you see is not the result of a particularly shaped cloud of gas, but it’s determined by the fact that between us and NGC7000 lie some bands of interstellar dark dust.

The distance of the nebula is not known, nor is the star that lights it. Some sources indicate that the star might be Daneb; in that case, NGC7000 might be 1800 light-years away, and it’s absolute size would be about 100 light-year across.