NYC Noire: 1940s Brooklyn scene

Tax photo 1200-46: the Nostrand Avenue storefront row with the ZARRAS Wines Liquors sign, the Pheasant Restaurant oval and the Chow Mein sign.1940 tax photoThe same storefront row rendered from the 3D model through the solved 1940 camera.Model
Tax photo 1200-46 and the model through its solved 1940 camera.

Around 1940, the City of New York photographed every building in the five boroughs for its tax records. One of the blocks it photographed, the one bounded by Nostrand Avenue, Atlantic Avenue, Bedford Avenue and Pacific Street in Brooklyn, is a block that’s near and dear to my heart.

I found the photos through 1940s.nyc and was thrilled to see the block documented there. The quality impressed me so much that I ordered a print, which now hangs at home. Photogrammetry has been a persistent hobby of mine since school, and I wanted to see these photos brought back to life.

I started in October 2026, so what follows is only a few weeks of progress.

Starting over without photogrammetry

My first attempt used photogrammetry, but the pipelines couldn’t reach the quality I wanted. So I turned to Claude and Opus 5.5 and described my goal: a production-quality 3D asset that accurately depicts the block as it was photographed in the 1940s.

The whole model is generated by Python scripts running in Blender 5.2, written with Claude Code on my PC. Nothing is hand-sculpted: one command rebuilds the master file from the measurements in the code, so fixing a mistake means changing a number and rebuilding. Alongside the 34 tax photographs of the block, the scripts use NYC building footprints and lot lines, USGS lidar elevations (the ground rises about 12 feet from Nostrand to Bedford), the Landmarks Preservation Commission report on St. Bartholomew’s Church, plus a few modern reference photos and a short video.

The photos are gospel

It looked right surprisingly quickly. My guiding principle was to use those reference photos as gospel. They hold so much detail that I wanted to stay as faithful to the source material as possible.

That means putting a camera where each 1940 photographer stood. For every photograph, the scripts find the vanishing points and warp the photo into a flat, measured elevation of the facade, so storey heights, windows and cornice lines can be read in feet. The photo is then registered against the model to recover the original camera. On the Nostrand storefronts, matching neighbouring photos against each other cut the error from 8.5 pixels to under 1. Twenty-five of the photographs are now camera-matched, and for each one I can render the model through the 1940 lens and wipe between the two. Not every photo cooperated: a few are steep oblique views or too hazy to solve, so I used those for measurement only.

Photo, model and wipe of the Nostrand Avenue corner building with the WINN STUDIO and ABRAHAM'S signs, trolley tracks in the foreground.
The Winn Studio and Abraham’s corner: tax photo 1200-44, the matched render, and the wipe.

When a photo can’t settle a question, the project says so. The rectory, for example, has no 1940 photograph at all, so it’s modelled from the landmarks description. A table in the README marks every part as documented, measured, representative or conjectural. The colours, for instance, are inferred, because the sources are black and white.

Render of St. Bartholomew's Church: red brick front gable with a great round-arched window, a square tower with a tile roof, a round corner turret, and a brick churchyard wall behind bare street trees.
St. Bartholomew’s Church, modelled from tax photos 1200-72 and -72a and the Landmarks Preservation Commission report.

Every brick

The brick fronts are laid course by course, about 289,000 individually modelled bricks, so window heads and arches step the way a mason laid them. Brownstone and limestone go down stone by stone, and the rock-faced blocks have real pitched faces rather than a texture. Later rounds added a library of cornices, window hoods and carved friezes, then re-measured every front against the photographs instead of building from architectural types. That pass turned the Bedford Avenue limestone into individually pillowed stones and the carvings into sculpted relief.

Close-up render of buff brick with white glazed-brick bands and stepped crests between tall windows, every brick a separate unit.
Every brick is its own object: the glazed-white bands and stepped crests on the Nostrand Avenue fronts.

The signs, and what’s next

The Nostrand Avenue storefronts are my favourite stretch: Seiler Furs, Ebinger Bakers, the Pheasant Restaurant with its Chow Mein sign, Nicholas Zarras Wines–Liquors and Abraham’s Men’s Wear. Their signs are traced from the photographs, with the neon modelled as real glass tubing that lights up at night.

Daytime render of the Nicholas Zarras Wines–Liquors storefront: the ZARRAS board with unlit neon tubes, a red awning, the bottle-shaped hanging sign, and the Winn Studio and Abraham's Men's Wear signs beside it.
Zarras by day, neon unlit, as in the summer photographs. The hanging sign is the one I still need to fix.
The same Zarras storefront at night, with red and blue neon lit on the board and hanging sign and a lit shop window full of bottles.
The same view at night, with the neon lit.

Still, the signage is good, not great. The Zarras hanging sign, for one, is the wrong shape: it should be a symmetrical bottle, but the few available photos led Claude down a bad path. Fixing it is next on my list.

What bothered me most about the early output was the primitive shapes: flat planes, cylinders and spheres that take you out of the moment and break the immersion. Plenty remain, and replacing them is the other big job ahead. The plantings have already gone from spheres and boxes to twigs with real leaf and needle cards.

Meanwhile, I’ve started a cinematic layer on top of the archival model: wet streets after rain, worn asphalt with tar seams along the trolley rails, chipped granite curbs, and lit apartment windows at night. It only adds light, weather, cameras and finishing, and an automated check renders 19 views to prove, pixel for pixel, that the photo-matched model underneath hasn’t changed. Even the made-up parts lean on the archive: the look of the wet street comes from a tax photo of a nearby block taken just after rain.

Night render from street level on Nostrand Avenue: the Zarras and Pheasant Restaurant neon signs reflected in a puddle in the wet street.
The wet street at night, with the Zarras and Pheasant neon in a puddle.
Street-level daytime render of Nostrand Avenue with the trolley tracks, a curb and the Zarras awning, on dry pavement.DryThe same Nostrand Avenue view after rain, with wet, reflective pavement and puddles along the curb.Wet
The same Nostrand Avenue camera, dry and wet.
Low street-level daytime render of Nostrand Avenue on dry pavement: the Zarras Wines and Liquors signs and a round restaurant sign on the left, and the elevated LIRR structure crossing the street ahead.Day dryThe same view by day after rain: a puddle in the foreground mirrors the Zarras signs and storefronts, and the wet street shines toward the LIRR structure.Day wetThe same view at night on dry pavement: the red Zarras neon and the green-ringed round sign glow above dark storefronts, with a few lit windows down the street.Night dryThe same view at night after rain: the Zarras neon and the green-ringed sign are reflected in the puddle, and lit windows streak the wet street.Night wet
The same Nostrand Avenue camera: dry and wet, day and night.
Daytime render along the Nostrand Avenue storefronts on dry pavement: the Zarras Wines and Liquors sign and red awning, the round Pheasant Restaurant sign, Chow Mein, Ebinger Bakers and Seiler Furs signs, with parked cars down the street.Day dryThe same storefronts by day after rain: the pavement and sidewalk are wet and shiny, with a puddle by the curb and the parked cars reflected in the street.Day wetThe same storefronts at night on dry pavement: the red and blue Zarras neon, the green-ringed Pheasant Restaurant neon and the Seiler Furs sign glow, the shop windows are lit, and lit windows line the buildings down the street.Night dryThe same storefronts at night after rain: the neon signs and lit shop windows glow over a wet street and sidewalk that pick up their light.Night wet
Looking along the Nostrand Avenue storefronts: dry and wet, day and night.
Night street view along Nostrand Avenue: lit apartment windows above glowing neon signs for Seiler Furs, the Pheasant Restaurant and Zarras, with trolley tracks and a utility pole.
Nostrand Avenue at night: Seiler Furs, Ebinger, the Pheasant and Zarras.
Aerial render of the whole block and its neighbours, with the 23rd Regiment Armory in the distance, a row of street trees, and the long Murray factory roof.
The whole block from above, with the 23rd Regiment Armory in the background.

A little window into 1940s New York

This is a work in progress, and I plan to keep improving and expanding it. Of the directions I’d like to take it, one stands out: a site or mobile app where I can hold up my phone and have a little window into the world of 1940s New York as I walk around. That would be so satisfying.

Even now, the project has changed how I walk around the block. I notice the little details: cracks in the sidewalk, bricks that are a little different from the others. Little pieces of history are all around us, and they’re just sort of invisible.

1940 photos: NYC Municipal Archives, via 1940s.nyc.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *