Printable Version of Topic

Click here to view this topic in its original format

Unmanned Spaceflight.com _ Image Processing Techniques _ What to do after the closure of Midnight Mars Browser?

Posted by: paraisosdelsistemasolar Nov 30 2019, 04:59 PM

I've been a heavy user of Midnight Mars Browser for several years and I'm incredibly grateful for the work that Michael has done.

Now I ask myself, should we create again an alternative way to look and search for images coming from Mars? In the last several months I developed a way to ingest InSight images in order to have a small database and a telegram bot that tells me when a new image is uploaded to the InSight web site and I can try to do the same with the MSL imagery.

But, I have several questions: What is the better way to show the data in the web page? Which is the best way to order the images?

I'd love to hear some suggestions for that.

Greetings.

Posted by: Phil Stooke Dec 5 2019, 05:20 AM

I would suggest something that resembles the structure of MMB. I have found it very useful for years. Having access via a list of sols, and access to the previous and next sols, is great. And ordering images by time within a sol is very useful.

Phil

Posted by: PaulH51 Dec 6 2019, 12:59 AM

QUOTE (Phil Stooke @ Dec 5 2019, 01:20 PM) *
I would suggest something that resembles the structure of MMB. I have found it very useful for years. Having access via a list of sols, and access to the previous and next sols, is great. And ordering images by time within a sol is very useful.

Phil


Not sure how far you want to take this, but Joe Knapp's MSL image browser also had some very useful features, of the many features the one I used the most was the pointing data which Joe got from the mission NAIF service.

Good luck if you choose to create a browser smile.gif

Posted by: fredk Dec 7 2019, 03:46 PM

In addition to ordering by sols, ideally a page would also somehow allow you to know which images you haven't looked at yet, ie which are newly downlinked images. This can be as simple as including ordinary text links to the full size images (presumably on the jpl server) which the viewer's web browser will change the colour of once visited (as Joe's site does). Ie, you can let the browser's own history handle it.

The option to order by downlink time is very nice when very old images are finally downlinked, otherwise they may be many sols back and you might miss them.

Otherwise displaying the LMST and UTC of image capture, and UTC of downlink are important. Also displaying the full-res image size in pixels is nice, so you can tell if the image is just a subsampled thumb or not.

(And it goes without saying that the page should only load thumbs, not full-res that are rescaled by the browser, until you open the full-sized image! wink.gif )

Thanks a lot for considering this, and best of luck!

Posted by: charborob Dec 7 2019, 10:07 PM

Would it be very complicated to implement a function that would debayer the Mastcam images when we download them?

Posted by: fredk Dec 7 2019, 10:52 PM

That would be a great feature to have. It would be easy to do a quck-and-dirty job (showing some green artifacts) if you could run something like gmic (runs on linux). But you would need server space to host the deBayered images.

Posted by: paraisosdelsistemasolar Dec 8 2019, 08:28 AM

Thanks for all the suggestions!,

I'm thinking on creating two versions: a simple similar to Midnight Browser that was perfect for looking at the last downlinked imagery and a more complex one that allows searching (by Sol, by time of the day...).
I'm already doing some automatic debayering for the downlinked images. The program checks if the image is bayered and runs a debayering algorithm (there is still room for improvement in that point

). I know it will take some space on the server, but it is worth.

Thumbnails are quite useful for load times, right now I have this functionality implemented in the InSight image download code I'm using.

Of course, the viewer should allow to see the downlink time and when the image was taken in Mars and Earth time and if the image was taken day or night (might be useful for MAHLI night images and astronomical images). MAHLI images also will show the scale per pixel and the motor count.

The only problem I have is the pointing data. I have to study a bit because I never used the SPICE kernels for calcultations, but I hope I can achieve that.

Thanks for all the suggestions!

Posted by: charborob Dec 8 2019, 11:37 PM

To reduce the need for server space, I was thinking that the debayering could be done on-the-fly during the downloading process, so that only the undebayered images would have to be archived.

Posted by: fredk Dec 9 2019, 05:25 AM

It would still be nice to have at least deBayered thumbs stored on the server to ease browsing the images.

Thanks again for this, paraisosdelsistemasolar, and I'm sure you'd have a bunch of willing beta testers here if needed...

Posted by: paraisosdelsistemasolar Dec 9 2019, 07:23 AM

At this point I don't have any limitations regarding file space, so debayered files won't be any problem.
If more space is needed than my host allows, I can host it by myself at home. As soon as I have a beta version I'll show you all for feedback.

Greetings!

Posted by: atomoid Dec 24 2019, 01:47 AM

I was hoping Midnight Planets / MMB could be branched out to live into the future, so much work was perfected by Mike it would be great to continue that.
Per a recent http://www.unmannedspaceflight.com/index.php?s=&showtopic=682&view=findpost&p=246051, he sounds too busy to continue with it, but didn't mention what he plans to do with his code base, so I was hoping for an opensource dump, but hard to say if that will happen.. In any event, however the plans manifest going forward, i'd be happy help out anyway i can.

Posted by: paraisosdelsistemasolar Dec 24 2019, 06:04 PM

Sorry for the delay,

We have had some rough weeks at home, but I'm now working again on the code and I hope to have a first version in a few days (I hope so).

The code and the database will be open source as soon as I release a first version. The scraping is being done in Python, the web will be in PHP and the database will be MySQL.

Posted by: Sean Dec 28 2019, 04:01 PM

Looking forward to this! Thanks for putting time into it 'Para-doodle' smile.gif

Posted by: paraisosdelsistemasolar Dec 29 2019, 09:37 PM

Hi to everybody,

Sorry again for the delay, but I'm a simple geologist and not a good programmer. I'm about to finish the robot that reads the MSL image archive. It's not only for showing the latest images, I plan, also, to be useful for searching images. That said, some of the avaiable fields will be:

- MTC, LTST and LMST
- Leds on/off
- Sun height.
- open/closed LID in MAHLI images
- Focus merge products
- Distance/resolution to object (MAHLI)

I hope to learn about spice kernels for driving/position purposes, but that will be in a later phase.

Posted by: phase4 Jan 7 2020, 12:16 AM

Hey all,

I wrote a basic Navcam viewer that reads the official json files and shows Curiosity’s panorama’s in a web browser.
It currently comes without interface and is pretty featureless in comparison to the great MidnightPlanets but it performs really well.
Check it here: https://captainvideo.nl/rob/mslview.html

To view panorama’s from a specific sol just add ?sol=2633 (or any other sol number) to the web adress.
For example: https://captainvideo.nl/rob/mslview.html?sol=2633

Hope you enjoy!
Rob

Posted by: paraisosdelsistemasolar Jan 7 2020, 03:26 PM

Wow Rob, I really liked your panorama viewer! biggrin.gif

I'm still finishing the image viewer, but I'm pretty confident at least all the big data ingestion will be done and finished by the end of the week.

QUOTE (phase4 @ Jan 7 2020, 01:16 AM) *
Hey all,

I wrote a basic Navcam viewer that reads the official json files and shows Curiosity’s panorama’s in a web browser.
It currently comes without interface and is pretty featureless in comparison to the great MidnightPlanets but it performs really well.
Check it here: https://captainvideo.nl/rob/mslview.html

To view panorama’s from a specific sol just add ?sol=2633 (or any other sol number) to the web adress.
For example: https://captainvideo.nl/rob/mslview.html?sol=2633

Hope you enjoy!
Rob


Posted by: atomoid Jan 8 2020, 01:21 AM

Yes, many thanks for this, its very nice! and fast!! just a few hundred lines of code and already its the best available way to get a quick pano view of the latest MSL adventures (not to downplay, i recognize this certainly represents a heck of lot of work on your part, just saying all these years later NASA has yet to match what you've accomplished!)

It looks like it loads all image data straight from mars.jpl.nasa.gov, rather than self-hosting like MP did. I can just plug in sols at random and many happen to have a large sweep of navcams so provide a pretty good view, so its already quite useful if you know what you want to see. For now, sol2595 looks to be hardcoded in the javascript, and i'd suspect a sol browser having navcam counts per sol is likely a big effort in itself. makes me wish i had chosen a career in software dev so i could get in the game not just cheer from sidelines, great work!

Posted by: Sean Jan 8 2020, 12:12 PM

Rob!

This.

Is.

Awesome!!!

Thanks for sharing this. If you have plans to develop further I would love to make some suggestions but it is already an instant bookmark for me.

dd.gif ohmy.gif

Posted by: nogal Jan 8 2020, 10:20 PM

QUOTE (phase4 @ Jan 7 2020, 12:16 AM) *
Hey all,
I wrote a basic Navcam viewer ...

Congratulations Rob, well done! This is a really nice way to "transport" us there, and it realy is fast!
Thank you for sharing it.

Fernando

Posted by: atomoid Jan 8 2020, 10:41 PM

So I went sol-searching for the intent of coding self-improvement...
And it seems as if the NASA index Rob is using is all jacked up: https://mars.jpl.nasa.gov/msl-raw-images/image/image_manifest.json
The data seems fine until you get to sol "191" which for some reason has "sol192" inside, then it just snowballs from there, by the time its gets to sol '2382' it has 'sol2639' inside! or maybe i just dont understand what NASA is doing..? anyways, i didn't look into it any further yet and so remain thoroughly flummoxed and perplexed! ..of course i had to check again, it goes nuts at 'sol' 200 implying no MSL downlink for 15 days -and yes thats what i see in http://www.midnightplanets.com/web/MSL/sol/00200.html "Memory anomaly", so Rob probably didnt use those numbers for anything and just looks at the catalog_url, so NASA seems to have incorrectly labeled their index 'sols' but its really just a plain old enumerated sequence unrelated to actual sols.. its nice to know there is this https://mars.jpl.nasa.gov/msl-raw-images/image/images_sol2639.json indexed for each recorded sol

Posted by: charborob Jan 9 2020, 11:18 AM

Paraisos, if I may formulate another request for your MSL image browser: it would be very useful if we could select a range of images and download them all simultaneously, instead of having to do it one by one.

Posted by: phase4 Jun 9 2020, 11:51 AM

Hey everyone, you are welcome to visit the latest version of the Mars rover navcam viewer.
It is available at https://marslife.org and should work on every device that supports WebGL.

New features are:
- display of the rover traverse path.
- clickable sol/site positions for easy navigation.
- menu option to select and view image products from pds (when available).
- site-updates occur automatically when new mission data becomes available.
- initial support for viewing the MER missions.

Usage:
- Tab key (or upper right circle) for menu/sol list.
- Left/Right arrow keys (or the lower right buttons) to view the previous or next site.
- L key to show/hide site locations.
- P key to toggle path display.
- S key to toggle the simulated sky on/off.
- C key to toggle image brightness corrections.

The interface needs work and the path accuracy is flawed (especially with MER) but the
clickable sol/site buttons make it real easy to get acquainted to the Martian territory.
Feel free to post comments and suggestions. Have fun wandering on Mars!

Rob

Posted by: nogal Jun 9 2020, 12:20 PM

Rob,
This is excellent! I haven't yet tried the MER paths but why do you say MSL's path is flawed?
Congratulations.
Fernando




Posted by: phase4 Jun 9 2020, 01:57 PM

QUOTE (nogal @ Jun 9 2020, 02:20 PM) *
but why do you say MSL's path is flawed?

Thanks Fernando! I meant to say that the paths are not very precise and do not cover every individual rover movement.
And while the path matches nicely in most panorama’s there are certain areas earlier in the mission where the path is way off.


Posted by: atomoid Jun 9 2020, 11:59 PM

Very nice work! your project is really coming along great, Congrats! i like the method of subtlety toggling the ui elements and options and how well the correction algorithm is working.

Since i'm sure you are not already nearly busy enough with all this haha, I will pile on extra features, the first being a separately toggleable pan/zoom overview map overlay with path and current location dot, and yes of course it has to be clickable so you can go to the sol nearest to the click location.

Posted by: Sean Jun 10 2020, 09:16 AM

Fantastic work Rob, this is a super useful resource.

Posted by: phase4 Jun 12 2020, 10:31 AM

Thank you all!

@atomoid, There’s no algorithm... the brightness adjustments are done manually. laugh.gif

Posted by: atomoid Jun 15 2020, 11:32 PM

oh boy somebody's got their work cut out for them!! now that explains why if i go back to old sols that "correction algorithm" doesn't seem to function!

Posted by: phase4 Jul 13 2020, 12:25 PM

Hey all, two extra features are added to Marslife.org!

- The update script will now automatically generate an anaglyph set of images for each new panorama.
Set the 'image product' menu option to "STEREO" to view the anaglyph version of the panorama.

- The script will also post a tweet at the https://twitter.com/MarslifeOrg when a new panorama is added.
You can follow this twitter account to keep track of Curiosity’s latest movements on Mars.

It’s all highly experimental and bound to break at some point but I hope you will enjoy anyway!

Rob




(edited to add twitter link)

Posted by: PaulH51 Jul 13 2020, 02:42 PM

QUOTE (phase4 @ Jul 13 2020, 08:25 PM) *
- The script will also post a tweet at the marslife.org twitter account when a new panorama is added.


Can't seem to find your twitter @handle

Posted by: phase4 Jul 13 2020, 02:51 PM

Apologies, I'm fairly new to Twitter. This is the link https://twitter.com/MarslifeOrg.

Posted by: htspace Aug 8 2020, 02:16 AM

Thank you!

Posted by: Ant103 Oct 10 2020, 08:45 AM

This is a great way to view pictures from MSL & MER. I'm all for modern HTML5 tools.

But since the official Raw images webpage is crap, and since Midnight Planets don't work anymore, is it possible to have the pictures displayed also as a grid, just a simple HTML webpage, with a simple sol by sol classification ? Just like Midnight Planets did ? A simple access to the jpegs, without that "responsive design" thing, and without that JS messing around. A good old plain HTML page.

Posted by: Phil Stooke Oct 11 2020, 08:08 AM

Agreed. Something with the look and feel of Midnight Planets, the same functionality, and capable of being extended to Perseverance...! However, I am getting used to working with the Raw image pages for InSight and Curiosity and they are actually quite good, better than I thought at first. You can select any sol and any instrument if you need to.

Phil

Posted by: PaulH51 Oct 11 2020, 08:42 AM

Like Phil I'm slowly getting used to the new page, but I'm far from happy with it. I just wish they left as it was until the end of mission, or at least had a revert option on it so you could use the old or new interfaces. Even the old interface wasn't perfect, but back then we had MP and Joe's page to use if we wanted the various whistles and bells they provided. Sadly no more, so we're stuck with the new interface which doesn't quite match the InSight raw image inferface for whatever reason. So let's see what we get for 2020's 23 cameras next year 😁

Posted by: Ant103 Oct 12 2020, 09:43 AM

QUOTE (Phil Stooke @ Oct 11 2020, 10:08 AM) *
However, I am getting used to working with the Raw image pages for InSight and Curiosity and they are actually quite good, better than I thought at first. You can select any sol and any instrument if you need to.


From my point of view, I don't. I tried. I really tried. But this page is heavy. The pictures are not that easy to load, every time I right click on it, it slow my navigator. I used the Web Inspector to have a list of the resources but it's not complete. But, I agree with one point : the filters are quite useful. Although, I would have prefer a simple webpage, with miniatures and have the full version right after a click, not that pop-up window. This is time consuming.

Maybe it would be possible to have a similar gallery like MP, with some filters in it (instruments selection, the site number (location), the type of datas (full frame, downsampled…), sol by sol list… I don't know. A way to simplify the access to the pictures, with the less clicks possible.

@Paul : You can be sure that the Perseverance raw images webpage would be the exact same as Curiosity and Phoenix.

Posted by: nogal Oct 14 2020, 04:55 PM

Hi everyone!
Here is a prototype for a Curiosity raw images viewer. It is not intended for smart phones.

Not so quick but still somewhat dirty: the code does not have much robustness. It consists of a single HTML file and does use CSS and JavaScript (how else?)
I'm releasing it in order to get some feedback: Am I going in the right direction? Does it have your favourite features? What is wrong and what else would you like to have it do? Just post here or PM me.
The crucial thing about it is the JSON file(s). If NASA changes those then everything will need reviewing.

About installing it:
Because I do not have a web site in which to host the file I am attaching it here. Simply download it to your favourite location. Click (or double click) on it to open it on your default browser.
However, this creates a problem as the page is local for the browsers and makes cross-domain requests (the famous https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS problem). The solution is to install a browser add-on. I am using Firefox so I installed https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/. There is one for Chrome as well https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf. This is quite an easy process.

About using it:
Open the file. It will automatically be positioned on the most recent sol and display all its images, in small format. The images are displayed by sol. Any sol can be selected by typing its number on the appropriate entry field (top right) or using the scroller. Press the "GO !" button to load the images.The images can be filtered by instrument. A row of buttons, one for each instrument, is dynamically built when the images are loaded. Press a button to see the corresponding images. Clicking on an image opens it in large format on an independent (resizeable) window which also shows the available information for image. Any number of images can be opened (depending on your computer's resources).
Note: the code is fast but some sols have hundreds, even thousands of images. This takes time, and I do have a fast connection!

Future:

  1. Simultaneously selecting images from several instruments;
  2. Selecting images by type (full, subframe, etc);
  3. Downloading images;
  4. Should image loading be automatic, or after filters are applied? Should it be by small batches (50 images?)
  5. ... ?
Enjoy and let me have your feedback. Thanks

Fernando
 MSLImageViewer.html ( 15.59K ) : 543

Posted by: fredk Oct 14 2020, 07:39 PM

Nice, Fernando! I'm not sure what you meant by CORS - my browsers showed the images fine without any plugins.

One suggestion, to help those without a fast connection: load only the thumbnail images on the pages showing multiple images from one sol, and then load the full image when you click on the thumbnail. Chemcam images should be courtesy NASA/JPL-Caltech/LANL.

Moderators: Is there any chance this thread could be moved to MSL? It only talks about viewing MSL images and doesn't relate to "Image Processing Techniques". It's really a sequel to the old thread http://www.unmannedspaceflight.com/index.php?showtopic=7408.

Posted by: nogal Oct 14 2020, 08:02 PM

Thank you so much fredk ! I like the suggestion, although I'll have to think about what to do when there are no thumbnails (not every image has one, I believe). Thanks also for the correction to ChemCam credits.
Fernando

Posted by: djellison Oct 14 2020, 08:27 PM

QUOTE (nogal @ Oct 14 2020, 08:55 AM) *
Hi everyone!
Here is a prototype for a Curiosity raw images viewer. It is not intended for smart phones.


That's awesome!

So - I'd actually be cautious about using the thumbnails.... all thumbnails are full-frame, but all dust devil movies or upper tier images or other sub-framed pictures are not full frame, so the thumbnail might be missleading? I've got a couple of ideas / requests

1) Have a thumbnail on/off button ( to stop them showing in the list at all to avoid duplication)
2) Have a text list at the bottom of any page with a listing of links direct to the images so people can do a bulk download of data for any given sol.
3) What some people are beginning to figure out is how useful the Sequence name is.... ( in a file like NRB_655824982EDR_S0822188NCAM00595M_.JPG the SeqID is the NCAM00595 part ) - being able to filter by SeqID for a given Sol would also be really good as that would let someone ( combined with 2, above) download, say, all the images in a single dust devil movie or MastCam mosaic on a given sol.

One bug to report - it's not a constant sol number - but sols before about 2785-2775 or so, it will return an image count, but not return any actual images.

If you don't mind me asking - how long did this take you?

Posted by: nogal Oct 14 2020, 09:06 PM


Many thanks Doug, for your comments and encouragement.
I decided to do this after reading Damia's post (a few posts back) but I didn't work full time on it. I don't clock in (after all I'm retired) smile.gif My estimate is it took more than 10 hours over two days. I know a bit of HTML, CSS and JavaScript ...
And now I have a bug to hunt down. Mnham!
Thanks again for the great feedback
Fernando

Posted by: fredk Oct 14 2020, 09:16 PM

QUOTE (djellison @ Oct 14 2020, 09:27 PM) *
So - I'd actually be cautious about using the thumbnails.... all thumbnails are full-frame, but all dust devil movies or upper tier images or other sub-framed pictures are not full frame, so the thumbnail might be missleading?

It may depend on what you mean by a thumbnail. The downlinked thumbnails are indeed full frame - eg, for the navcam frame https://mars.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/02910/opgs/edr/ncam/NRB_655824982EDR_S0822188NCAM00595M_.JPG the image https://mars.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/02910/opgs/edr/ncam/NRB_655824982EDR_T0822188NCAM00595M_.JPG is a full-frame thumb.

On the other hand, I believe all images hosted at mars.nasa.gov/msl-raw-images are paired with thumbs generated on the ground - for that navcam the thumb is https://mars.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/02910/opgs/edr/ncam/NRB_655824982EDR_S0822188NCAM00595M_-thm.jpg. It's these latter thumbs that should be used to speed loading of sites like this.


Posted by: Ant103 Oct 15 2020, 10:33 AM

That IS really nice ! Already handier than the official raw page.

If I may suggest : having a "hard" link when hover a thumbnail, permitting the use of the link to be displayed at the bottom of any webbrowser, and maybe don't display the full frame in a pop-up window, but in the same window (user can control that behavior later, by "click+command/control").

MP also had something really nice and simple, a navigation "tool" like this (example) : "... > Curiosity > Sols > ←2538 / 2540→" on top of a page. And when in a specific image page (displaying the full frame), we could also navigate previous / next picture.

Just express my feeling on it smile.gif But this is already a nice job !

PS : If you want some place to host it, I can do it. I can also decompose your page in source files (separate the CSS from the HTML and the JS).

Posted by: nogal Oct 15 2020, 01:54 PM

Merci beaucoup Damia!

For your encouragement and great suggestions. I'm compiling a list and will work on them as time allows, now that I know I'm heading in the right direction (but I'll be mostly off next week, COVID allowing).
Thank you also for your offer to host the tool. Right now it is evolving, so it is not the right time, but I'll get back to you on that. Isolating the JS and CSS in separate files is good practice, this was just the prototype.

To all:I may need to create several html pages (in addition to the above mentioned JS and CSS files) so I may be distributing a small zip file in the future.
Thank you for the information, nice reviews and ideas. Keep'em coming!

Posted by: djellison Oct 15 2020, 03:36 PM

QUOTE (fredk @ Oct 14 2020, 01:16 PM) *
, I believe all images hosted at mars.nasa.gov/msl-raw-images are paired with thumbs generated on the ground - for that navcam the thumb is https://mars.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/02910/opgs/edr/ncam/NRB_655824982EDR_S0822188NCAM00595M_-thm.jpg. It's these latter thumbs that should be used to speed loading of sites like this.


Those thumbnails are not part of the JSON feeds that drive Nogal's tool - they're part of the Mars web team's implementation and thus are probably an order of magnitude more likely to get changed, moved, broken as a result.

Posted by: nogal Oct 15 2020, 03:54 PM

QUOTE (djellison @ Oct 15 2020, 04:36 PM) *
Those thumbnails are not part of the JSON feeds
Another challenge! By the way, I couldn't reproduce the bug you've mentioned. It worked for all the days you pointed out and a few extra on either end of the interval. Perhaps it is related to the slowness of the loading? I'll make it more obvious in the tool when it is loading. Thanks
Fernando

Posted by: fredk Oct 28 2020, 11:47 PM

I've been parsing the MSL json files into html and thought I'd make the pages public in case anyone finds them useful. My pages are static html so there's no selecting cameras, changing sort orders, autoload scrolling, etc. It's inspired more by the linear style of the old curiosityrover.com than MMB, Fernando's page, or http://www.mars-browser.co.uk/curiosity/.

The info and pics are straight from the json files and the mars.nasa.gov/msl-raw-images server with two exceptions. First I calculate the pointing according to mcaplinger's suggestion in http://www.unmannedspaceflight.com/index.php?showtopic=8460&st=345&p=245610&#entry245610. I haven't tested this much so let me know if you notice any problems.

The second is that I deBayer the Bayered mastcam frames automatically as they arrive. Due to the chroma subsampling I do you shouldn't take the colours too literally, and there are lots of crosshatch artifacts, so these images are only meant to give a rough sense of the scene.

On my site there's the "latest images" page located here: http://lcdm.ca/msl/. This checks for updates every half hour and adds any new images to the top, chronologically by time taken. After updates I use this by scrolling and paging down until I see image links change to the visited colour, which makes it very easy to keep up and not miss any new images, even if they're from old sols.

There are also individual sol pages, eg: http://lcdm.ca/msl/2924/ (going back to sol 2714). These are always ordered by time taken.

More details on http://lcdm.ca/msl/details.html

If anyone has any suggestions hopefully I'll have time to implement them (within the limitations of static html), so let me know.

Posted by: PaulH51 Oct 29 2020, 02:37 AM

Viewed on my Mobile phone and impressed smile.gif Looking forward to seeing it in action on my home PC when my covid travel restriction order is supposed to be lifted in 11 days 😊

Posted by: fredk Oct 29 2020, 02:33 PM

Thanks, Paul. Sorry my site's not small-screen friendly. Maybe now that we're moving again on Mars that'll relieve your earthbound status a bit?

Posted by: nogal Oct 30 2020, 12:42 AM

QUOTE (fredk @ Oct 29 2020, 12:47 AM) *
... thought I'd make the pages public in case anyone finds them useful.


Thank you for sharing this. Fast, straight and simple! Definitely useful. Cheers
Fernando

Posted by: Ant103 Oct 30 2020, 09:49 AM

This.

Is.

AWESOME !

It's fast, it's clear, filenames are immediately readable, and it's easy to navigate. And you even debayer the pictures o_o

Posted by: Phil Stooke Oct 30 2020, 07:01 PM

Yes, I really like this.

Phil

Posted by: fredk Oct 30 2020, 11:35 PM

Thanks, guys. I hope to improve the deBayering still - treat the edges better and maybe remove the glitches that appear in each frame.

Posted by: nogal Oct 31 2020, 12:54 AM

Here is an improved (I hope!) version of my MSL Image Viewer. Still work in progress so, for the time being, I'll continue to distribute it here. Having been on vacation last week I only had time to implement part of your suggestions - thank you all for those.

To install, download the zip file to your favourite location and unzip it. You should see the following 5 files:

I made a general review of the code to make it more robust and changed the layout a bit (it is stable now).

Opening the MSLImageDisplay.html page automatically loads the images (in small format) of the most recent sol. Below the header, on the left, there is a bar with several sections: a sol navigator, sol statistics, image filters, and option selectors. To its right lies the images area.

The sol navigator has:
Below the navigator there is a panel with a few statistics for the sol.

Next comes the image filters panel. Those are grouped into two categories: cameras (mastcam, chemcam, hazard, etc.) and image types (full, subframe, etc.). Only the entries that exist on the sol are shown. It is now possible to select one or more entries in each category. Entries in the same category are ORed and the two categories and ANDed. For instance, select all Front Haz Right and Left cams but only for full frame images. "Show all" and "Hide all" buttons per category provide shortcuts.

These filters are "sticky". When you move from sol to sol only the categories that were previously selected will be shown - until you change them. But note that all the images for the sol will still be loaded. Having selected (or deselected) a category that does exist on the new sol does not cause an error.

Entries are selected by toggle buttons. A green or red rim indicates whether the filter is active or not.
The option selectors panel currently contains just one button. The "List URLs (of visible images)" button opens a new page with the list of full URLs of the images that are currently visible. The page has a "Copy to the clipboard" button.
The page's right side contains the sol's images. Place the mouse over an image to reveal the image's full URL.

Clicking on an image opens it in a new page and shows the associated information. Images are shown at their natural size, if they fit the screen, otherwise they will be reduced to fit. From this page you can load the previous or the next image. Any number of such pages can be simultaneously open, allowing, for instance, to compare the images.

In addition to the suggestions I did not have the time to implement I have other ideas. For instance, highlighting the recent images.
But what is recent? 24h? 48h? 1 week? Please tell me your opinion. It is very easy to highlight recently added images for a specific sol. But finding all recently added images implies going through the json files for all sols. This takes time and uses network and should perhaps be implemented as an on-demand process (this is the drawback of a client-side, versus server-side, implementation).

Your feedback is requested and most welcome. Sorry for the long post.
Fernando
EDIT: the attachment has been removed. A new version, supporting more functions, is available. See post http://www.unmannedspaceflight.com/index.php?showtopic=8514&view=findpost&p=248557

Posted by: fredk Nov 10 2020, 08:13 PM

I've improved the deBayering on my site http://lcdm.ca/msl/. I now handle the edges of the frame better, so colours are good right to the edges. Also I use a simple method to remove the "hot column" in the ML images. This is a bright column (column 1070, a green-blue column, in the full-resolution frame) that runs down most of the ML images. I simply replace that column of pixels with the average of the neighbouring green-blue columns before deBayering. Due to the jpegging in the public Bayered images, the removal isn't perfect and you may notice some residual "scarring" within an 8-pixel jpeg block of the hot column. Both these changes apply to new images, not old ones still on my server.

I've also added lists of deBayered images at the top of each individual sol page. These can be used to download all at once, with a browser plugin or, for example, with

CODE
wget -Fi http://lcdm.ca/msl/2935/ML.html

if you can use wget (or some similar command with curl). Again, these lists only include new deBayered images.

Posted by: nogal Nov 11 2020, 05:37 PM

I am releasing a few additional functions for the MSL Image Browser. In a http://www.unmannedspaceflight.com/index.php?showtopic=8514&view=findpost&p=248559 I'll discuss some issues which have influenced some decisions and prevented implementing some of the suggestions - I'm very grateful for those.

Recent images are now highlighted by a red border. Right now - and this is very easy to change - "recent" means the image has been added in the last 72 hours. I had to choose a criteria. It could have been "added since my last visit" but this implies storing the date and time of "my last visit" in a special area of the browser (using a standard - and safe - HTML 5 API). Please let me know if you're interested in having this option. A row of buttons for each sol with "recent" images (according to the above criteria) appears just below the page banner. Click them to go the the respective sol.

On the main page three new buttons (on the left panel) allow invoking three different views of a sol's image set:

The Grid and List views are influenced by the filter selection buttons whereas the Recent view is not and always shows the recent images, regardless of the instrument or image type.
To speed-up the download it is now done in groups of up to 250 images each. This number was chosen because, right now, 54.3% of all sols have 250 images or less, 86.9% have 500 images or less, 95.6% have 750 or less, and 96.2% have 1000 images or less. Thus, the vast majority of sols requires very few clicks. The use of -thm thumbnails is discussed in another post. While there are more images to download a "Show more" button appears at the bottom of the images set.

I also added a "Go to Top" button at the bottom of the image set, for ease of use.

One consequence is that if one is looking for all the images of a certain category then all the sol's images must be downloaded. The list and grid views are independently loaded and scrolled; it is possible to have downloaded all images in one view but not on the other but, since the images are downloaded, showing them in a view is very fast. There is a new counter in the sol's statistics showing how many images have been downloaded (which changes with the view, naturally).

No changes were done to the URL list page.

The image view page now has a "magnifier" capability. This is intended to help better see details of the bigger images. Click the button (it is a toggle) and a small lens is positioned on the upper left corner of the image. The enlarged contents of the lens are shown on an overlay at the page top left (below the banner). The enlarged area is a 6x6 of the lens. Please let me know if you are interested in other settings or being able to set it as required.
Note: this does not increase the image's resolution, just enlarges the image, possibly blurring it. As such, the magnifier is not made available for small images.

You can download the image, in the original size, by right-clicking on it (the same is valid for the main page views).
Thank you for using the tool. Please let me know your thoughts, any requests, or bugs you may find.

Fernando

 MSL_Image_Viewer_2020NOV11.zip ( 17.11K ) : 136


Posted by: nogal Nov 11 2020, 05:49 PM

QUOTE (djellison @ Oct 14 2020, 08:27 PM) *
What some people are beginning to figure out is how useful the Sequence name is.... ( in a file like NRB_655824982EDR_S0822188NCAM00595M_.JPG the SeqID is the NCAM00595 part ) - being able to filter by SeqID for a given Sol would also be really good

Doug,
I want to implement this next. But I found the json manifest also points to files with a different file name structure, for instance
... /msss/02938/mhli/2938MH0007060001004000I01_DXXX.jpg
I found a document describing the structure of the file name in your example. Where can I find a description of these file name's structure (some parts are obvious)? Do image sequences also appear on these files?

Any information is much appreciated.

Fernando

Posted by: nogal Nov 11 2020, 06:02 PM

QUOTE (fredk @ Oct 14 2020, 09:16 PM) *
On the other hand, I believe all images hosted at mars.nasa.gov/msl-raw-images are paired with thumbs generated on the ground - for that navcam the thumb is https://mars.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/02910/opgs/edr/ncam/NRB_655824982EDR_S0822188NCAM00595M_-thm.jpg. It's these latter thumbs that should be used to speed loading of sites like this.

I found that not all images in the json manifests have a -thm counter part (sol 0 gives thousands of errors, for instance). Because there is no way to find whether a file exists on the server without trying to download it, one is then left with the need to recover from the 403 error (when the -thm file does not exist) by loading the full size file... which may also not exist, which needs another recovery routine. This is more overhead.

This is, in essence, why I opted for downloading images in relatively small groups.

I also found the json manifests do not list the exact same files the official site shows. For instance, for sol 0 (my nemesis!) json lists 3270 images - of which fewer than 1000 exist on the given url - but the official site mentions 2198.

Any information on this subject is very much appreciated.

Fernando

Posted by: fredk Nov 11 2020, 06:37 PM

QUOTE (nogal @ Nov 11 2020, 06:49 PM) *
Where can I find a description of these file name's structure (some parts are obvious)? Do image sequences also appear on these files?

I think MAHLI follows the file naming convention for mastcam, which is described in https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2016EA000219

Posted by: fredk Nov 11 2020, 06:53 PM

QUOTE (nogal @ Nov 11 2020, 07:02 PM) *
I found that not all images in the json manifests have a -thm counter part (sol 0 gives thousands of errors, for instance).

I see what you mean. I only go back a couple of hundred sols and the -thm images always exist in these recent sols. But I can imagine that things are more sporadic in the older sols.

About image counts, I find agreement between the public jpeg site and json, at least back a couple hundred sols. For sol 0, json v1 gives 3720 images, and the public jpeg site lists 2198 full-res images + 1520 thumbs for a total of 3718. That's very close, but the jpeg site seems to be missing two images!

Posted by: nogal Nov 13 2020, 12:36 AM

QUOTE (fredk @ Nov 11 2020, 06:37 PM) *
I think MAHLI follows the file naming convention for mastcam, which is described in https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2016EA000219


Thank you very much!
Fernando

Posted by: phase4 Nov 24 2020, 10:31 PM

Small update to Marslife.org.

The sun, earth and both moons of Mars were already present in the Marslife simulated sky. Yesterday I added the Mars2020 spice data to the mix.
Sure, it's only a few fake pixels but to me it's a very exciting view to see Perseverance slowly approaching.



Now only hope that its position is correct biggrin.gif
There's not much else to report, except that a fullscreen view option has been added to the menu.

Enjoy!


Posted by: djellison Dec 11 2020, 12:07 AM

Just a thought - Are you using just the left-eye images?

You will find that when we take an 'upper tier' ( extra images to capture Mt Sharp and other topography above the horizon ) more often than not it is right-eye only....so you might be missing out on some images.

Great work though!!


Posted by: phase4 Dec 11 2020, 12:19 PM

Thank you Doug!

You are right, the website uses left-eye images only. Checking just these has proven to be a convenient and somewhat reliable indication whether the rover has travelled to a new location.
In fact, the whole update mechanism is based on a very complex left-eye algorithm ( if NumberOfNewLeftNavCamImagesPerDrive > 7: ) laugh.gif that triggers the website and twitter updates.
So yeah, while this approach has been adequate enough for its purpose, I see now that it's failing to include the pretty right-eye pictures.

I'll accept the challenge to come up with a solution. In the mean time I hope your team will be able produce a few extra 'upper tier' left-eye images as well so that we can have some juicy anaglyphs!

Rob

Posted by: djellison Dec 11 2020, 08:19 PM

So - here's the trick. We will never take a left eye without a right eye. The right eye is the one being monitored for temperature - so if we do mono imaging ( like upper tiers ) it'll either be right eye mono - or - rarely - stereo ( you don't really get much range data on upper tiers so stereo is definitely an indulgence )

tldr You might find some mono-left-eye stuff when we were operating on RCE-A or before about Sol 1600. But since we discovered an idiosyncrasy about how the rover monitors camera temperatures - it's either stereo, or right eye mono. Never left eye mono. Our deck monitoring 3 frame mosaics and our upper tiers will usually be right eye mono

Posted by: fredk Dec 11 2020, 10:24 PM

There's another good reason to use the right navcams - they are less noisy than the left. Compare these two frames, eg:
https://mars.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/02967/opgs/edr/ncam/NLB_660905274EDR_F0841360NCAM00266M_.JPG
https://mars.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/02967/opgs/edr/ncam/NRB_660905274EDR_F0841360NCAM00266M_.JPG
The extra noise in the lefts is most obvious in smooth areas such as the sky or the hazy distant rim of Gale.

Posted by: phase4 Dec 13 2020, 05:12 PM

A new option has been added to the Marslife website that allows for viewing the Right Navcam panorama's.
Currently this option has to be selected in the menu but it might become the default setting in the future.
Thank you Doug for the suggestion!

Posted by: phase4 Feb 2 2021, 11:47 AM

Not sure where this will lead to but I've had some succes adding unbayered Mastcam images to Marslife. (not yet available for public use)





The official JSON files come without extra information for Mastcam images so I use the camera pointing data from Spice. Most Mastcam images match pretty well with the Navcam environment but there are others (especially earlier on in the mission) where the positioning is way off.

To improve the positioning and scaling of Mastcam images, the subframerect information is also needed. Since this information is not available in the JSON files maybe someone here can help and tell me if and/or how the Mastcam subframe information can be extracted from Spice data?

Thanks!
Rob

Posted by: mcaplinger Feb 2 2021, 05:19 PM

QUOTE (phase4 @ Feb 2 2021, 03:47 AM) *
To improve the positioning and scaling of Mastcam images, the subframerect information is also needed. Since this information is not available in the JSON files maybe someone here can help and tell me if and/or how the Mastcam subframe information can be extracted from Spice data?

AFAIK it can't be -- the SPICE only describes the RSM pointing, not what subframes are being acquired.

As a general rule, a subframe is going to be roughly centered on the boresight, exceptions being images of the cal target, sun, moons, etc.

You could perhaps back it out on an image basis if the subframe contained recognizable pieces of crud on the sensor, but that's pretty gross.

Posted by: fredk Feb 2 2021, 10:14 PM

QUOTE (mcaplinger @ Feb 2 2021, 06:19 PM) *
You could perhaps back it out on an image basis if the subframe contained recognizable pieces of crud on the sensor, but that's pretty gross.

This is more or less what I did when I implemented a hot column remover for my deBayering algorithm. The ML sensor column 1070 is hot starting from row 33, but on subframes it will usually be different columns and rows of course. I simply looked at the hot columns on several resolutions of ML images and made a list. Eg, on 1328x1184 ML frames the hot column starts at 910,17, which implies the subframe is (161,17,1328,1184).

You don't need to look at defects/crud to do this though - just go through old images that do have json subframeRect values and make a lookup table of resolutions vs subframeRect values. This won't always work though: eg, resolution 1536x1152 is associated with subframeRect (17,17,1536,1152) and (65,33,1536,1152), although the latter seem to be limited to rover deck images.

Anyway, this approach was sufficient for me to remove the hot columns from almost all ML frames.

Posted by: phase4 Feb 3 2021, 03:14 PM

QUOTE (mcaplinger @ Feb 2 2021, 06:19 PM) *
AFAIK it can't be -- the SPICE only describes the RSM pointing, not what subframes are being acquired.

Thank you mcaplinger for your answer. I was afraid it wouldn't work like that. The Midnight Planets app displays Mastcam images in different sizes so I assumed Spice would somehow contain that info.
It makes me wonder how the subframe info for Navcam images end up in the JSON. laugh.gif

QUOTE (mcaplinger @ Feb 2 2021, 06:19 PM) *
As a general rule, a subframe is going to be roughly centered on the boresight, exceptions being images of the cal target, sun, moons, etc.

In the end I visually matched one Mastcam image to the Navcam scenery and used this pixelwidth as a scaling reference for all other images (less pixels, smaller image) which seems to give good results.

Posted by: phase4 Feb 4 2021, 04:41 PM

Hey all,

I've build a first preview of the Marslife website that shows bayered Mastcam images on top of the Navcam panorama's.
It contains the left Mastcam images up to sol 3018, grouped in line with the original Marslife post-drive-imaging index.
I didn't expect the site to perform so well (showing 150+ images) but unfortunately it crashes on my mobile phone.

If you don't mind the long loading times you are welcome to give this preview a try: https://captainvideo.nl/marslife/preview.html
Toggle the M key to hide/show the Mastcam images, doubleclick an image to have the filename printed in the bottom-left text.
Clicking the filename will open a browsertab with the corresponding NASA MSL raw images page.

Enjoy!


Posted by: charborob Feb 4 2021, 06:19 PM

It doesn't seem to work in Firefox 78.7.0esr (on Mac). All I get is a screen full of rubbish.
It does work though in Chrome 88.0.4324.96.

Posted by: phase4 Feb 4 2021, 07:13 PM

QUOTE (charborob @ Feb 4 2021, 07:19 PM) *
It doesn't seem to work in Firefox 78.7.0esr (on Mac). All I get is a screen full of rubbish.
It does work though in Chrome 88.0.4324.96.


Thanks for the report. Firefox 85.0 (64 bit) on a macbookpro (late 2013 - osx 10.13.6) works fine for me.
Maybe upgrading Firefox will help?

Edit: Apologies charobob, i wasn't aware of Firefox version numbering, you are already using the latest version.
Nonetheless I have no issues with both versions.

Posted by: charborob Feb 10 2021, 03:13 PM

Fredk, when I click on the sol 3027 link in your MSL image browser, I get the following message: "Forbidden. You don't have permission to access this resource." Is this normal?

Edit: OK, it is working now.

Posted by: phase4 Feb 10 2021, 05:00 PM

Big mastcam update! Still a work in progress, lots of loose ends to fix and the code is an absolute mess. But here it is:




Marslife currently shows the full Mastcam coverage of the selected site by using outlined placeholder images.
When you click inside a placeholder area, the corresponding sequence name(s) will appear in a list below the lefthand menu.
From this list you can choose the sequence you want to view and press 'LOAD' to download the images from the NASA server.
Press tab to hide the placeholder images and press the 'm' key to toggle the display of both Mastcam and placeholder images.

Checkout the updated preview here: https://captainvideo.nl/marslife/preview.html.

Enjoy!

Posted by: Sean Feb 11 2021, 11:33 PM

I will be running out of superlatives soon!

Everything works well here ( using Brave browser )

Clicking between placeholders & loading is just fine & intuitive. It would be great if there was a on/off toggle for each mastcam sequence. Tab function is a great feature that is getting a lot of use!

Can't wait to see where you take this... it was already awesome to begin with!

QUOTE (phase4 @ Feb 10 2021, 05:00 PM) *
Big mastcam update! Still a work in progress, lots of loose ends to fix and the code is an absolute mess. But here it is:




Marslife currently shows the full Mastcam coverage of the selected site by using outlined placeholder images.
When you click inside a placeholder area, the corresponding sequence name(s) will appear in a list below the lefthand menu.
From this list you can choose the sequence you want to view and press 'LOAD' to download the images from the NASA server.
Press tab to hide the placeholder images and press the 'm' key to toggle the display of both Mastcam and placeholder images.

Checkout the updated preview here: https://captainvideo.nl/marslife/preview.html.

Enjoy!


Posted by: djellison Feb 12 2021, 03:00 AM

This new preview build is epic - I dropped a quick play by play of what it does into work slack to share it with the MSL team.

Bravo.....BRAVO.

Posted by: phase4 Feb 12 2021, 08:12 PM

Thank you both! Much obliged Doug for showing the site to the MSL team, I'm honoured!


Posted by: phase4 Feb 16 2021, 09:01 PM

While the new rover is drawing all the attention I'm happy to report that the update script for Marslife now includes support for Curiosity's L&R Mastcam images.
Marslife will automatically add new Mastcam images to the corresponding post-drive panorama as soon as the Nasa json file receives an update.

Check Marslife here: https://marslife.org

Posted by: fredk Feb 17 2021, 11:18 PM

This is really nice. Just a couple of comments: Is there any ability to zoom in or out without a scroll wheel or touch screen? (Eg, shift-click.) I couldn't see how to do that with desktop firefox or chrome.

A fun feature might be to display the latest planned ("strategic") route, so we can get some idea of where we're headed. Of course that's only provisional, and someone would have to digitize that route.

Posted by: phase4 Feb 18 2021, 09:37 AM

QUOTE (fredk @ Feb 18 2021, 12:18 AM) *
Is there any ability to zoom in or out without a scroll wheel or touch screen?

Hey fredk, thanks for the feedback.
Keyboard zoom was indeed missing and has been added to the - and = keys next to the keyboard numbers, I hope this solution works for you.
Digitizing strategic routes will be quite a challenge because the elevation data is also required. smile.gif

Posted by: nogal Feb 18 2021, 01:24 PM

QUOTE (fredk @ Feb 17 2021, 11:18 PM) *
Of course that's only provisional, and someone would have to digitize that route.


Someone did ... see post http://www.unmannedspaceflight.com/index.php?showtopic=7442&view=findpost&p=247292 of the MSL Route Map thread. rolleyes.gif
Fernando
PS - There should be an update in the relatively near short time

Posted by: Phil Stooke Feb 24 2021, 02:56 AM

I had noted images on the raw image page being assigned the wrong sol - like the upward views of the parachute on sol 0 being labelled sol 2 (the date needs to be when it's taken, not when received, or we will never know where we are). I hope that gets sorted out.

Thanks for doing this, it's a great tool and one which will be very useful.

Phil

Posted by: nprev Feb 25 2021, 03:59 AM

Several posts moved to the new http://www.unmannedspaceflight.com/index.php?showtopic=8603 thread per recommendation of another Forum member. smile.gif

Posted by: PaulH51 Feb 25 2021, 07:32 AM

QUOTE (Phil Stooke @ Feb 24 2021, 10:56 AM) *
I had noted images on the raw image page being assigned the wrong sol - like the upward views of the parachute on sol 0 being labelled sol 2 (the date needs to be when it's taken, not when received, or we will never know where we are). I hope that gets sorted out.
Thanks for doing this, it's a great tool and one which will be very useful.
Phil

Doug E pointed me in the right direction after I replied on Twitter to a post where the sol numbers of EDL cameras were off-kilter. Doug told me that the time-stamp was assigned when the images were transferred from the EDL cameras to the flight computer. Like you I hope it gets sorted out, but it could be a lengthy task.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)