Observation by NigelTheNerd: JUICE

Uploaded by

NigelTheNerd

Observer

NigelTheNerd

Observed

2024 Aug 11 - 23:50

Uploaded

2024 Aug 15 - 10:48

Objects

Spacecraft

Equipment
  • 200mm EdgeHD +ASI6200
Exposure

155*60 as Sum 30 Step 5

Location

Ipswich Suffolk

Target name

JUICE

Title

JUICE

About this image

Now only 2.48 million km away, and closing!

Files associated with this observation
Like this image
Comments
Grant Privett
Grant Privett, 2024 Aug 15 - 11:18 UTC

Nice gif. What software are you using to generate the individual frames?

NigelTheNerd
NigelTheNerd, 2024 Aug 16 - 08:57 UTC

I have 3 elements:

-process the individual 60 second frames - I use ASTAP. This can also give plate scale and alignment of north

-Shift them to follow the predicted motion - I use IRIS as I can shift each frame an individually specified amount 

-beforehand, work out how to shift the files to follow an 'invisible' object.

 

 Here I use a home-grown excel spreadsheet with VB macros to: 

-import predictions from JPL Horizons or other, covering my observation window

- create an analytical expression to map the target position as a function of time. This is in the same style as Besselian Elements for Total Eclipses and can follow a curved trajectory.

- generate the script file for IRIS to open each file, shift it the specified amount, tart it up, save it. This can be thousands of lines long.

 

Once all aligned, I stack them as I want. Here it is Sum 30 step 5 using IRIS again, followed by movie creation in VirtualDub

HTH

Grant Privett
Grant Privett, 2024 Aug 16 - 11:09 UTC

Thanks for that full account. Really interesting. Had kind of hoped someone made a tool that made it easy! 

Looks a fun project to get code of my own going and look at some old C3 data.

Am hoping to image Juice tonight if visible.

One final question: Were the source mages autoguided?

NigelTheNerd
NigelTheNerd, 2024 Aug 16 - 13:10 UTC

No, the mount is an iOptron CEM120EC with an optical encoder. My previous mount was an HEQ5Pro with a separate guide scope. When it worked well it was great but...

Grant Privett
Grant Privett, 2024 Aug 16 - 21:13 UTC

Thats interesting. Thanks for letting me know. Was trying to think of sneaky ways the dim background pattern could be reduced.... using my own code rather than something like pixinsight. Food for thought.

Dr Paul Leyland
Dr Paul Leyland, 2024 Aug 17 - 16:45 UTC

Nigel & Grant:

I also have a script. Mine assumes that each sub has a WCS on it; a local install of astrometry.net does the job. The script then takes two parameters --- the movement in RA and Dec in arcsec/hour --- and a list of images. The images then have their WCS modified to reflect the movement after the earliest taken image.

The result can then be stacked anyway you like, with your usual tools. I use SWarp.

My Perl script has 60 lines, including comments and white space layout. Here it is in case anyone else can make use of it.

8<---------------------------------------------------------------------------------->8

#! /usr/bin/perl
use strict;
use warnings;

sub gregorian2jd ($$$)                    # Convert Year/Month/Day to Julian Day number.
{                                         # Algorithm from Wikipedia.
    my ($y, $m, $d) = @_;
    use integer;
    return (1461 * ($y + 4800 + ($m - 14)/12))/4 +    # All of this
       (367 * ($m - 2 - 12 * (($m - 14)/12)))/12 -    # is very
       (3 + (($y + 4900 + ($m - 14)/12)/100))/4 +     # deep magic.
       $d -
       32075;
}

scalar @ARGV < 3 and die "Not enough arguments\n";

my %file_times = ();                    # Time of observation for each file.
my %file_RA = ();                       # RA of reference point for each file.
my %file_Dec = ();                      # Dec of reference point for each file.

my $deltaRA = shift;
$deltaRA =~ /^[-+]?\d+\.\d+$/  or die "Funny sky deltaRA $deltaRA\n";
$deltaRA /= 3600 * 3600;                # Convert arcsec/hour to degrees/second.
my $deltaDec = shift;
$deltaDec =~ /^[-+]?\d+\.\d+$/ or die "Funny sky deltaDec $deltaDec\n";
$deltaDec /= 3600 * 3600;

my $start = 1e20;                       # Way in the future.
undef $/;                               # Slurp.

foreach my $file (@ARGV) {              # First pass, read times & coordinates of reference point.
    open FITS, "< $file" or die "Can't read $file\n";
    my $data = <FITS>;
    close FITS;
    my ($year, $month, $day, $hour, $minute, $second) =
    $data =~ /DATE-OBS= '(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)/;    # Second resolution good enough.
    if ($year) {                        # Co-added files generally don't have a DATE-OBS card.
    my $time = gregorian2jd ($year, $month, $day)*24*60*60 + $hour*60*60 + $minute*60 + $second;
    $file_times{$file} = $time;
    $start = $time if $start > $time;        # Record earliest observation.
    ($file_RA{$file}) = $data =~ /CRVAL1\s+=\s+(\S+)/;
    ($file_Dec{$file}) = $data =~ /CRVAL2\s+=\s+(\S+)/;
    }
}
foreach my $file (keys %file_times) {            # Second pass: move the reference point for each image.
    open FITS, "< $file" or die "Can't read $file\n";
    my $data = <FITS>;
    close FITS;
    my $deltat = $file_times{$file} - $start;
    my $newRA = $file_RA{$file} - $deltaRA * $deltat;
    my $newDec = $file_Dec{$file} - $deltaDec * $deltat;
    $data =~ s/(CRVAL1\s+=\s)(\s*)(\S+)/sprintf ("%s%20.9f", $1, $newRA)/e;
    $data =~ s/(CRVAL2\s+=\s)(\s*)(\S+)/sprintf ("%s%20.9f", $1, $newDec)/e;
    open FITS, "> new_$file" or die "Can't write new_$file\n";
    printf FITS "%s", $data;
    close FITS
}

# That's all folks!

 

 

Copyright of all images and other observations submitted to the BAA remains with the owner of the work. Reproduction of work by third parties is expressly forbidden without the consent of the copyright holder. By submitting images to this online gallery, you grant the BAA permission to reproduce them in any of our publications.