Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • The website is really nicely designed, and the dithering on the images is quite beautiful.
  • On my Pixel phone I always leave enable the "Top Shot" setting, it saves a short low resolution video clip in the XMP/RDF metadata of the JPEG file. It saves motions that are not visible on a still image adding valuable information. iPhones and Samsungs have similar settings.
  • I had it on, but it makes each photo 10-12 MB though. Now its on Auto, which isn't ideal either.
  • Live Photos are what iPhones call it and I love them. I made an app to turn them into GIFs, I often make wigglegram GIFs out of them. "Giffer" on the App Store[0] if any readers are interested.

    [0] https://apps.apple.com/ca/app/giffer/id6767937960

  • If I'm not mistaken this blog is from a person I had the pleasure of working with in undergrad for a course project. They were brilliant then and are still now.
  • <3

    If I remember correctly you carried that project!

  • Whew... the continuous motion started triggering migraine symptoms until I closed the window.

    But it does have a nice 3d effect. For me, the cycle speed seems excessive. I believe someone suggested tying wiggle effect to mouse movement?

  • I still feel a bit dizzy a minute after closing the page.
  • Interestingly, the pixelization/noise effect is applied clientside, so if you open an image in a new tab, you can see the original. Originals look much better, in my opinion.
  • You can also click on an image to open the original in a lightbox. (I should make that more obvious.)

    The dithering happens server-side (er, laptop-side). Experimented with a JS filter but it just didn't hit the way I wanted it to. Plus I save a lot of bandwidth this way

  • The first ones shown are quite neat and pleasant. The "accidental" ones pretty quickly gave me motion sickness as I scrolled through them. They also weren't nearly as interesting, though I couldn't look at them for very long.
  • Yeah, I'm not prone to motion sickness, but that wigglegram with the iPad gave it to me instantly.
  • The unfortunate reality of accidents, lack of intention~

    I've been taking pictures to be more effective wigglegrams now that I know I can auto-GIF them. I'll do a followup post at some point. The big trick is that they look better when the subject stays in the center of the frame, with the camera "orbiting" it to create a sort of parallax effect.

  • The intentional ones tend to move along a horizontal plane, and in fairly uniform (or specifically-graded) steps.

    The unintentional ones deviate on both bases, creating a more chaotic result.

    ("Creating chaos" being an interesting notion itself....)

  • Somehow the extra motion seems to reduce the illusion of depth, it just seems like a disjointed animation to me.
  • There's a few that I think would look better with dropped frames (the cake for instance). These are all the raw output of the script. Consider it maybe a starting point for manual editing :)
  • The ones they generated weren't taken specifically to be wigglegrams so they don't work as well as intentional ones. The biggest problem is number of photos and the consistency of the direction of movement between each image and the next as well as consistent step sizes. They also tend to work better with horizontal movement compared to vertical probably due to it matching our eye layout but that's a guess.
  • Intresting, I have a weak eye so rely less on stereo; these pop as much more 3d then a photo.
    by ZiiS
  • I agree. The first three from reddit work really well for me. I assume it's because of the fixed horizontal movement, and the fact that they are captured at the same moment from different angles. :)

    The others are nice (but hectic) animations to me.

  • There's an additional "post processing" step that the article doesn't mention -- which is alignment of the images within the wiggle.

    In the example images (which others have noted are stable horizontally) - This alignment gives some control over the parallax and has a very big effect on the quality of the 3D and the ultimate experience of the image.

    If you put your mouse, for example, over the marlboro pack that is most directly facing the camera, you'll see it is perfectly stable relative to the screen (despite looking like it's wiggling). In the second image, this point is at the eye of the singer.

    On the accidental images, which are also mostly not stable horizontally, this type of alignment can also have a very big impact. An extreme example of how this plays out can be seen in this image - which for example -- locks onto the face

    https://strickgifs.tumblr.com/post/48624241536

    (NB - like 12 years ago I used to do make a lot of wiggle images -- including spending some time making wigglegrams out of a set of 3D images of the 1906 San Francisco Earthquake & Fire -- https://thesanfranciscowiggle.com/)

  • That was fun, and the script on github looks hand-written which is refreshing after having been reading AI-written code for months.

    I have 120k photos in iCloud that I'm sure have duplicates (I exported my library to Google Photos years ago and exported it back to iCloud). The iOS duplicate detection stopped flagging duplicates for me to merge a while back. I gotta do something like this script...

  • > and the script on github looks hand-written which is refreshing after having been reading AI-written code for months.

    We really need a short for "is it AI or not? has entered the discussion".

  • Ah yes, artisanal code!
  • Guilty. I had a few hours to kill on Amtrak... the time will pass anyway y'know

    (Plus I didn't know if it would work. The first version was just some Python functions I had to call from the REPL, livecoding style)

  • yeah there's something you can still feel in hand-written code - the variable names show how someone was actually thinking about the problem. AI code is grammatically perfect but quite hollow
  • If you're really wanting to do perceptual hash based deduplication, use multiple, heterogeneous hash algorithms (phash, dct hash, mean hash, ...) as it is likely that a given hash algo will happily lossily match with very very different images--but if all hashes match, you're much less likely to have false positives.

    I wrote up what I do here: https://photostructure.com/guide/what-do-you-mean-by-dedupli...

  • Found a guy on instagram who builds a custom stereoscopic camera with 4 identical pi cams spaced evenly (about 1 inch (2.54cm)) away from each other on a line. It creates wigglegrams https://k4mera.world/
    by GL26
  • Cool concept, but implementation is bad. The exposures vary so much between the separate shots it's giving a stroboscopic effect. Hopefully they fix it in later revisions.
  • I’ll shill a library I wrote to make wigglegrams & stereograms in matplotlib - I think pseudo-3D visualization is super underrated as a technique to understand data! mpl_stereo: https://github.com/scottshambaugh/mpl_stereo
  • i find it so easy to "switch" to 3D with pairs of images like this, it strikes me as strange that cheap stereo-3D isn't a standard interface element.

    Other than getting used to making the switch, I don't think there is any cognitive load. Just pairing normal lens focus with a different triangulation distance, which is something we quickly learn to do without thinking when using any glasses or lenses.

    I find it a lot more calming than Wiggle-D. And paired with some simple head/eye tracking via laptop cams, it could be really versatile.

    The animated plots are great. Be great to have a trackpad rotatable version. (And the need/benefit for head tracking gets really obvious when I move. The perception of reverse/non-sensical dynamics is strong.)