Reciprocity Failure Calculator

Reciprocity failure is a well known feature of film photography. At certain level the relationship between aperture and exposure time breaks down and is no longer proportional. This effects kicks in at exposure time of about one second. In order to expose the film correctly the exposure time must be adjusted upward from what was metered.

The exact amount of adjustment varies from film make to make – the sadly discontinued Fuji Acros (may the manhood of the manager who signed off the decision shrink and shrivel) was known for requiring almost zero adjustment, on the other hand the Fomapan sports truly atrocious level of reciprocity failure. This level of reciprocity failure can be in fact made into an asset in long exposure film photography, but deserves another post of its own.

I am fond of long exposure photography. But in pursuing this sub genre of film photography I have found the charts and tables provided in manufacturer’s data sheets inadequate to my needs. I proceeded to make my own tables, mainly by interpolating the manufacturer’s data.

A while back I wrote a blog post about calculating the necessary adjustment using tools of advanced statistical programming. This was fun, but it was applicable to one make of film only. I have revisited the project, and created instead an application that interpolates the exposure adjustment dynamically. It is written in R, using the Shiny package to make the web interface. The app can be used to interpolate adjusted exposure times from any data provided.

The columns of measured and adjusted exposure times on the left can be edited as necessary. I have seeded the app with data for generic Ilford film (Ilford is unusual in the fact that they propose the same adjustment for different emulsions – e.g. FP4+ and HP5+).

The table of measured & adjusted exposure times is spaced in half exposure steps – a sequence with factor of square root of two. This means exposure doubles in every second column (to avoid the hassle of having to use decimal numbers I skipped 1.41 seconds, commonly rounded to 1.5 sec).

The chart and table of adjusted exposure times are recalculated automatically. The table can saved in csv format, and processed further in your favorite spreadsheet editor.

Meeting of the Friends of the Flexaret

On 12th May 2018 the fourth meeting of Czech fans of the Flexaret cameras was held in Hradec Králové. More than 30 Flexaret enthusiasts (and their Flexaret cameras) took part. The event was sponsored by Foma films, so everyone got a couple of rolls of film, and there was no excuse to not waste some of it.

We started out with a photo walk in the city –  Hradec is justly famous for its modernist architecture – and continued to a bar for beer stories and swapping of secret developer formulas.

A fun fact is that the second party in our venue was a meeting of Baby Reborn life like dolls (they were actually rater death like, as they lay there silent and still). Such company made us – fans of analog photography – feel almost mainstream.

Flexaret Filter Adapter

I am a great fan of the Flexaret camera. But despite my warm feelings I am aware of its shortcomings. One of them is that it uses a proprietary B36 filter bayonet. This bayonet was introduced by Meopta Přerov in the 1960’s and included a number of filters – the classical sequence from ultraviolet, through shades of yellow, green and orange up to red. Even an almost mythical polarizer, of which many collectors have heard but nobody that I know ever saw one.

But the last Flexaret – and the last B36 filter to go with it – was produced in the year 1971. The number of filters available is therefore limited. More significantly the range of filters is limited to 1960’s technology. To overcome this I have obtained a simple filter adapter.

Flexaret Standard camera and Rollei Infrared film

My main film camera is the Bronica ETRSi, which uses 62mm filters over the whole fixed lens range; a major advantage. I have over time obtained a large stack of 62mm filters, including some rather exotic ones. I have therefore requested my favorite camera technician, Mr. Maštalíř of Škoda Foto, to make a B36 to 62mm adapter.

The adapter has the look of a home made hack, but it does the job. It fits the B36 bayonet snugly. The big 62mm filter seems sort of awkward on a 36mm lens, but I do not mind. I was at first a little worried that it would obstruct the view from the upper focusing lens, but it just about clears the view. The only problem is that the camera with the filter adapter on will not fit into its carrying leather case, and I can live with that.

A stack of 62mm filters with a Flexaret Filter Adapter.

The Flexaret Filter Adapter allows me to use the full modern range of filters, up to and including the Hoya R72. This greatly increases the possibilities of my Flexaret.

Shooting infrared with a non – SLR camera is great fun; I can have the best of both worlds: shoot with the opaque filter on my taking lens, and focus easily on the screen. With a little care, and fast infrared sensitive film such as the Rollei Infrared, it is even possible to shoot handheld.

Rollei RPX 25 Reciprocity Failure

I am on a lookout for a new film for my long exposure photography. When doing research on available slow films I came across the Rollei (Maco) RPX 25. I liked the specs of the film, and I was greatly impressed by its close cousin, the Rollei Infrared.

For some time I have used Foma 100 as my go-to long exposure film. Firstly for its low, low price, and secondly for its very high reciprocity failure. Usually a high reciprocity failure is thought of as an weakness. Films showing less of a failure – such as Fuji Acros – are preferred. But in the special world of long exposure photography a bad reciprocity failure is actually an asset. You get two extra stops of light loss for free! However, I have recently experienced quality issues with the Foma film and started looking for other options.

One issue I found with the RPX 25 film is that the published reciprocity failure is quoted only for 4 times: 2, 10, 20 and 50 seconds. Of these the 10, 20 and 50 second times are outside the usual sequence of exposure times. This was a problem to me, as with such a slow film I expected to run into reciprocity failure areas quite often. Both on purpose, shooting with heavy ND filters, and unintentionally in low light.

To make sense of it I tried modelling the exposure times in my trusty RStudio statistical package. I tried several different regression algorithms and settled on a power regression. This seemed to fit the data better than an exponential. I was able to model a function that matched the reported times closely. The biggest difference is about 4% off at the 50 second data point, and I can live with that.

Rollei RPX 25 Reciprocity Table (modeled)

measured: 0:01 0:02 0:02 0:03 0:04 0:06 0:08 0:12 0:15 0:20 0:30 0:45 0:50 1:00 1:30 2:00
adjusted: 0:01 0:02 0:03 0:04 0:06 0:11 0:16 0:27 0:36 0:52 1:28 2:30 2:52 3:37 6:08 8:54

RPX 25 Reciprocity Failure Chart

Ansco 70 Lith Print Developer

When I first came across the lith process I was intrigued. All the pictures I found on the internet looked different (in a good way) from the usual black and white prints. The colors and sense of unpredictability inherent to the process appealed to me. But in the Czech Republic, where I live, no commercial lith developer was (or is) easily available. If I wanted to try the process I had to mix my own developer. After some research I settled on the Ansco 70.

The formula calls for common and inexpensive chemicals and does not contain formaldehyde. It is capable of deep blacks, rich midtones, and when used with the Foma Fomatone paper also of warm tones for which the lith process is justly famous.

Prague Bridges - a lith print using the Ansco 70 developer

At first I tried the developer in recommended dilution 1 part A + 1 part B + 17 parts water. After some practice I found the warm colors of slow development easier to obtain when using a more diluted developer.

Now I use a nearly homeopathic dilution of 1 part A and B to some 50 or 60 parts warm water. When printing on size 18×24 cm paper this means 15 ml A + 15 ml B + 800 ml water and 50 ml of Old Brown. Such heavily diluted developer needs to be replenished often – after processing two prints or so I add 10 ml of A and B.

Daisies - a lith print using the Ansco 70 developer

Ansco 70 recipe:

The published formula of Ansco 70 is usually calculated to mix 1 liter of the solutions A and B. The solutions have working life of several months, but considering the high dilution I work with one liter of stock solution is too much for me to use up before it goes bad. The chemicals are not expensive, but I don’t like the idea of throwing away good developer. I found it better policy to prepare only 500 ml at a time.

Solution A:

  1. Water 375 ml
  2. Hydroquinone 12,5 g
  3. Potassium Metabisulfite 12,5 g
  4. Potassium Bromide 12,5 g
  5. Cold water to make 500 ml

Solution B:

  1. Cold Water 375 ml
  2. Sodium Hydroxide 18 g
  3. Cold water to make 500 ml

Dissolving Sodium Hydroxide is strongly exothermic reaction, best performed with caution and wearing protective glasses.

A selection of my lithprints made with the Ansco 70 developer can be found in my lithprint gallery.

Big Sister & Little Sis

The Zenza Bronica ETRSi is my main camera. It is a system camera, modular, big, and beautiful. But the negative size comes at a price – it is not the kind of camera I can carry all day, every day. The Rollei 35 T is in many ways its exact opposite – it produces smallish negatives, but fits easily into my pocket.

Bronica ETRSi and Rollei 35 cameras

I have even found a way to share my substantial filter collection between the two cameras. Finding a reduction from 62 to 24 mm was not easy, but the Chinese eBay sellers rose to the challenge.


The Flexaret is the only Czech camera that has “made it” on the world market. As a Czech photographer I felt obliged to own, and shoot, at least one.

Flexaret film camera


My camera is the simplified “Standard” version, targeted at beginners and youth. Somehow that felt appropriate…