Hacker News

otherayden
Using the railway network as a flatbed scanner philo.gay

msisk67 hours ago

Ward Cunningham and I did something similar back in 2008.

We were both at a startup in Portland and our office was along the railroad tracks east of the Willamette. We were up on the 4th or 5th floor right above a lot of train traffic including Amtrak.

I brought in some extra Mac gear I had including one of the early iSight cameras which back then was an external device you stuck on the top of your display and connected to the Mac via FireWire. We set it up and rolled the desk over to the window in the office and turned the camera around pointing down at the tracks and Ward got to work hacking something up to do a slit scan.

It was a fun little project; the speed of the trains affected the horizontal compression of the images. We could tweak the software to expand or contract the size of the image by adjusting the number of slit scans per unit of time. Of course, that affected the exposure but I recall the camera having some automatic adjustments that gave us trouble.

That's about all we did with it. Just a quick afternoon hacking project. Neither of us thought much about it at the time so we didn't save anything.

kmoser34 minutes ago

> It was a fun little project; the speed of the trains affected the horizontal compression of the images.

A few years ago I took a photo out the window of a Shinkansen going 150 mph and was amused that everything in the foreground tilted significantly to the left because of this effect. This is about as close as I'll get to seeing what it's like to get sucked into a black hole.

decae7 hours ago

I've posted this here before but I have been creating animations using a similar process with a regular camera and manually splicing the frames together. [1,2,3] The effect is quite interesting in how it forces focus on the subject reducing the background into an abstract pattern. Each 'line' is around 15px wide. I think I went through exactly the same thought process as the author, funny how ideas can come up independently like this.

[1] https://youtube.com/shorts/VQuI1wW8hAw [2] https://youtube.com/shorts/vE6kLolf57w [3] https://youtube.com/shorts/QxvFyasQYAY

I also shot a timelapse of the Tokyo skyline at sunset and applied a similar process [4], then motion tracked it so that time is traveling across the frame from left to right[5]. Each line here is 4 pixels wide and the original animation is in 8k.

[4] https://youtu.be/wTma28gwSk0 [5] https://youtu.be/v5HLX5wFEGk

jacquesm6 hours ago

Gorgeous!

jonty7 hours ago

If you want to play around with slit scanning, I made this little toy a number of years ago and frequently find myself using it on trains:

https://slitscan.space

Press and hold your phone screen to switch between the front/back cameras, or hit "c" on a computer. Tapping the screen saves the image, as does "s".

focusedone4 hours ago

This is super cool!

DrinkerOfBeers7 hours ago

This was fun to play around with

Terr_3 hours ago

Recycling comment from another submission 17 day ago:

> Random thought: If you stick a very small adhesive mirror to the outside window before boarding, then footage "looking down" at the regularly-spaced railroad ties could contribute to information about the current speed and acceleration.

> Well, on a straight section anyway, if you turn, the inner/outer edges will appear differently-spaced...

> Wouldn't do anything positive in terms of suspicious staff though. They might think it's like some kind of heist-movie that will involve a specialized glass cutter making a circle on the window.

mhb8 hours ago

a1o7 hours ago

I am curious, is it the same person?

Also, I think at some point someone shared some Japanese website where someone did these high quality photos of Japanese trains with a similar technique?

toomuchtodo7 hours ago

Same person. This is the blog post, the other thread is the CCC talk.

Terr_3 hours ago

(17 days ago, 85 points, 34 comments)

awwaiid8 hours ago

I love this sort of project and write-up. Inspiring to try something a bit different and dance on that line between practicality and artwork. The in-progress "scans" are themselves an interesting stretching of time and space, even if they aren't what the artist is ultimately going for.

otheraydenop7 hours ago

Same here. I'm especially a big fan of the "using x as y" format (using youtube as a mountable file system, using my wii to host a web server, etc). I feel like they're a lot less common on here these days than a year or 2 ago

edit: I made this site to only show non-ai related posts like this one https://www.unslop.news/

ggerules5 hours ago

Taken to the extreme....

I gotta wonder. Owen from RanOutOnARail could make some incredible wide pictures from his journeys if he had this setup. Been watching his YouTube channel for years [0], [1]. He has a Patreon account with more videos [2].

He use to have a lot more videos on YouTube. It's illegal to ride trains the way he does, but his videos helped get me through the long time of the covid pandemic after I would stop work for the day.

[0] https://youtube.com/@ranoutonarail?si=ElAeMpcrJASsE3Ov

[1] https://youtube.com/@rooar2?si=bx1AG5kp2r4rfzcq

[2] https://www.patreon.com/u40099464

russdill5 hours ago

Taking this to the extreme is doing this from space, which is how many imaging satellites actually work.

dllu3 hours ago

As someone who also did some line scan photography, I also ran into a lot of similar challenges!

> Displaying and sharing the pictures I've taken has been a pain throughout the project. Most software on my computer doesn't like how big they are, and the most reliable tool I've found for viewing them has been GNU IMP, which feels a bit overkill.

I vibe-coded my own image viewer, sriv, to address this: https://github.com/dllu/sriv

Also, I found that displaying the images with multiple rows instead of a single super wide image is a lot more ergonomic.

> I correct for it for a given subject by shifting the red and blue channels to line up with the green channel. Since the lines are evenly spaced, I can shift by the same amount in opposite directions rather than having to measure separate offsets for each channel. In theory, I could decide how far to shift by correlating brightness shifts across channels, but at present, I do it manually.

I implemented the correlation-based approach: https://daniel.lawrence.lu/blog/2025-09-21-line-scan-camera-...

Recently, I also vibe-coded a tool for me to manually annotate constraints to fine-tune the distortion correction: https://daniel.lawrence.lu/blog/2026-08-02-line-scan-camera-...

For a stationary camera imaging a train, you just need to estimate the train's speed. But for the inverse problem of imaging the landscape from a moving train, the speed varies due to parallax (near things move faster, far things move slower), so there's no way to fully eliminate the RGB fringing for all distances.

> The biggest one is to make it not dependent on a laptop to capture images, which will make it less sketchy and easier to bring places.

I did just that recently, by adding an NVIDIA Jetson Orin Nano and a 7" 2000 nit touchscreen as well as a custom-designed CNC aluminum case: https://daniel.lawrence.lu/blog/2026-06-12-standalone-cnc-li...

strohwueste7 hours ago

Great writeup! Planned doing the same thing Herr in germany. Thought a Smartphone camera would be enough but there no way to access the camera2 api for those highspeed recordings. I took 1h long 240hz 4k vertikal videos (out of the Schwebebahn in Wuppertal) which could be displayed by MacOS preview. Right no im waiting for a good gaussian splatting tool to create the driving of the "Train” in Blender. The newest Lingbot-map is unfurtunatly not really trained for sideway movement. I always asked myself if the sideway movement and the Parallaxe would make way easier to infer the distance and the 3d scanning capabilities because the pixel only really move one as long you dont drive turns

namibj6 hours ago

Ohhh, nice; happy to have a chat on the subject; suggest a messaging option to discuss further if you're interested. Check out keybase on my profile for some listed contact options; you can also use the padlock symbol in the menubar there to PGP encrypt a message to me and share that through any suitable channel that can handle that ascii.

Edit: I've captured and extracted-to-textured-mesh Mirker Bahnhof before it got covered by the scaffolding; if you're going to do another recording I'd highly recommend you include an IMU recording and ideally (though much less critically) a GNSS raw measurements recording that includes carrier phase. I've got a recorder for the latter that exposes a simple USB-serial port that should work great unless the GTW15 windows are EMI-shielding (but iirc they aren't).

strohwueste4 hours ago

Well havent tried to do IMU rading& GPS while doing highspeed recordings. But maybe thats the fix. But also as a goal i would see to do the ICE from Hamburg to Munich as it is the longest with 8h but while 300kmh the 240 fps of a phone isnt enough and a linescan camera would be needed again. And the window (quite literally) is closing as the new ICEs have those New meshes inside so you cant take the Video without those... Also the data requirements of an 8h 4k 240Hz/480hz video are a bit scary

Diti4 hours ago

Is there something wrong with the pictures in the second half of the article? It seems like they are taking forever to load (about 30 seconds each), one at a time. I’m on mobile (iOS).

andai3 hours ago

I thought it might be a case of accidental huge image files (well I haven't checked the network tab) but it seems to be normal sized images loading at ~5 kB/s for me.

i.e. server is probably overloaded due to this story being on the front page.

dllu5 hours ago

Neat. It links to some of mine from an older HN comment but here's another one of some houses from Caltrain:

https://i.dllu.net/2017-11-23-14-30-54_stack_cdb771693eea9fe...

waltbosz6 hours ago

The wobbly pictures brings me back to my experience as a kid with hand-held photo scanners https://oldcomputer.info/pc/apscan/index.htm .

It was impossible (for me at least) to get a scan without shifting my hand position on the X-axis while also sliding the scanner down the picture.

Also, I seem to recall the scanner I used was only capable of outputting 1-bit dithered black and white pictures. This was late 80s/early 90s tech.

tvbusy4 hours ago

I wonder if having another normal camera capturing at the same time to assist with stitching images together will be easier than measuring acceleration? The normal camera doesn't need to have high resolution, just enough to align the images.

adamjb7 hours ago

Not quite in the same spirit but I suppose one could talk of railway operators using the railway network as a flatbed scanner when they send maintenance vehicles out to scan the railbed for defects.

For example: https://railgallery.wongm.com/ev120-inspection-vehicle/F144_... https://www.youtube.com/watch?v=5TKDw2E_PBQ

andrewla7 hours ago

This project is more deeply technical but one thing I find fun is to take a video from a moving train and create a video stereogram by having one eye lagging in time/distance behind the other eye, letting you create very long baseline stereograms.

It's fun to be able to see the 3d effects on passing bridges, etc., and for large baselines on long straight stretches you can see the 3d structure of clouds in a fascinating way.

thenewwazoo15 minutes ago

I wish I had some way to experience this! I’ve long had a dream of hooking two drones together and flying them around as stereographic pair to compress huge geographic features like mountains but I don’t own a 3D headset

[deleted]9 minutes agocollapsed

handedness11 minutes ago

That sounds fun, do you have a sample posted somewhere?

apt-get5 hours ago

Related - filming light at 2 billion fps with a somewhat similar setup in concept (at the single pixel scale): https://www.youtube.com/watch?v=o4TdHrMi6do

grumbelbart28 hours ago

Railway operators do this to inspect tracks: Mount a line-scan camera that looks down, get an "infinite" image of the tracks, inspect for anything interesting.

cscheid6 hours ago

This is so cool. It's a much better version of what Bill Cheswick and I did almost 15 years ago with footage from a SFO->EWR flight: https://cscheid.net/static/windowseat/

mofosyne7 hours ago

Reminds me of when railways attempted to attach linear barcodes on their train and read it using a similar method

crote5 hours ago

KarTrak!

It was one of the first large-scale commercial applications of barcodes, and at one point 95% of railroad cars were equipped with it. Could've been a success, but it was a few decades too soo, and a handful of small but crucial implementation flaws doomed it to abandonment only a decade later.

dorfsmay8 hours ago

Nice. It reminds me of a blog of a guy who had mounted a flatbed scanner on an electrical motor to make a digital photo before digital camera existed. He had added one of the resulting picture of his backyard. It was one of the most viral Slashdot post at the time.

[deleted]4 hours agocollapsed

wkjagt7 hours ago

Do you think you'd be able to find this post (assuming it's still up)? Would love to see it.

4gotunameagain7 hours ago

ink_135 hours ago

Oh, Matthias Wandel, of course. This would have been back when he was writing software for Blackberry instead of his current semi-retired woodworking YouTubing

xoxxala4 hours ago

Thanks for posting that. The picture of the garage door opening is a trip!

dorfsmay6 hours ago

Oh! I couldn't find it when I looked for it this morning. Thank you!

wkjagt7 hours ago

Oh nice, very cool. Thanks!

ano-ther6 hours ago

Neat. Long Train photos from a still camera here:

https://news.ycombinator.com/item?id=49127920

dllu3 hours ago

I've further improved my long trains scanning setup with:

* portable battery-powered enclosure with display: https://daniel.lawrence.lu/blog/2026-06-12-standalone-cnc-li...

* fine-grained distortion correction by manual annotation: https://daniel.lawrence.lu/blog/2026-08-02-line-scan-camera-...

Here's a recent Caltrain photo: https://commons.wikimedia.org/wiki/File:Caltrain_Stadler_KIS...

[deleted]7 hours agocollapsed

Tepix7 hours ago

Has anyone done the same for other rides with wheels? I guess that would end up being NeRF (Neural Radiance Fields) & Gaussian splatting?

mhb7 hours ago

Lynx photo finish cameras. Same idea:

https://www.finishlynx.com/

crote5 hours ago

Line scan cameras are (were?) also very common in industrial applications. It is the best way to take images of objects on a rapidly-moving conveyor belt as you don't have to be worried about blurring due to long shutter times, and you can achieve incredible frame rates.

The downside is that they are highly specialized (in other words: expensive) and require knowledge of the belt speed to reconstruct a proper image. I would not be too surprised if modern high-framerate video cameras took over a decent chunk of that niche.

zipy1244 hours ago

still incredibly common. The key is that they give you very low latency information since you get it line by line. They're not too expensive tbh and getting speed data is not too difficult.

I've used modern high-speed cameras (>10k FPS in real-time streaming) and they just don't come close currently. Mainly an interface issue. There are some DMA/frame card alternatives but they haven't overtaken the market yet.

wowczarek3 hours ago

In 2013-14 or so, one person, Adam Magyar, did a similar thing with a hand-built line scan / slit scan camera and made quite interesting portraits of NYC subway cars and passengers: https://medium.com/matter/einsteins-camera-88aa8a185898 [now paywalled, it wasn't when first published]

13hours7 hours ago

This is how satellites (mostly) take pictures.

hn9zmdcaou6 hours ago

The honesty is what makes it good

exe346 hours ago

That's clever! I had the idea to use video to remove things like fences by moving the recording device, but never got around to implementing it.

demo7804 hours ago

sev

PunchyHamster5 hours ago

> but I think the results speak for themselves.

... as in not very good compared to normal camera ? Acceleratometer-based correction can only do so much

Normal camera allows you to get a snapshot of 2D area instead of 1D area so you can make any correction for movement afterwards. With linear one you just get artifacts like the introductionary pic being very wobbly up and down.

krupkinmaxim2 hours ago

[flagged]

sandblast6 hours ago

[flagged]

bluerooibos6 hours ago

Being a little different makes you ill?

nozzlegear6 hours ago

Bad take

hn-front (c) 2024 voximity
source