I have many pictures like the following:

enter image description here

As many of you may recognise, this is a picture of Jupiter and its four Galilean moons. Using these images, I am aiming to calculate the mass of Jupiter by finding the orbital distance and orbital period of each of these moons, and then plugging those values into Kepler's Third Law.

However, this requires a seemingly tedious process of the following sort:

1) Locate the centre of mass of Jupiter

2) Measure the distance to each of the moons

I have a lot of data (many, many pictures). I am hoping that there is a relatively easier and more accurate method of doing all of the above than using software like Gimp and guessing the centres for each object manually. Can anyone recommend anything?

  • 9
    I'm voting to close this question as off-topic because it is about automated analysis of scientific observations, not about the photography. – mattdm Jun 14 '16 at 11:09
  • 2
    Also, in any case, please use meaningful titles for your questions. – mattdm Jun 14 '16 at 11:13
  • This may fit on htttp://superuser.com – mattdm Jun 14 '16 at 11:13
  • 1
    I really doubt this would be welcome on Super User; it's too close to a product recommendation question, and it isn't really about computing per se. The sites I would reach for first would be either Astronomy or perhaps Space Exploration. – user Jun 14 '16 at 14:27
  • Astrometry can analyze astronomy pictures and return structured data about the contents of the image. I'm not sure this works well with planets, but it's worth a try. You can test it easily online. – agtoever Jun 14 '16 at 21:54

While I agree that this belongs in some math/sci group, let me recommend ImageJ , which has some very nice tools for finding blobs and centroids of blobs. There's a huge list of software tools at Harvard-Smithsonian

And in any case, this should be an opportunity for you to learn R or Python and write some automated processing code :-)


If you have some programming skills, OpenCV has all the functionality you'd need to write a program to analyse your images. For example you would likely perform some denoising before using circle detection, or bounding circles creation.

This tutorial might give you a good head start and has the advantage of using Python which might be more accessible than C++.

  • Or even Python :-) – Carl Witthoft Jun 14 '16 at 11:15
  • Ha ha good catch – zeFrenchy Jun 14 '16 at 12:14

You don't say what camera you use but many astronomy cameras save in a corner called FITS. A python library called pyfits is quite useful for this. I've used it in my code to track bright pixels in microscopy images.

It's going to be an interesting coding project unless someone has already done something very similar. Which isn't unlikely in astronomy, there's a lot of code out there.

You'll want to locate the centroid of each bright spot, determine what it is, and find the distance based on your telescope. And that's just to start with.

  • It's not all that hard to convert other digital images into FITS --> see fits.gsfc.nasa.gov/fits_viewer.html for example – Carl Witthoft Jun 14 '16 at 17:39
  • @Carl, that's true, though I'd skip that step given that the extra bit depth and metadata wouldn't be created. Conversion the other way is also quite easy. – Chris H Jun 14 '16 at 18:41

Not the answer you're looking for? Browse other questions tagged or ask your own question.