LR018 - Keeping track of derivative images in Lightroom Classic

May 07, 2023  •  Leave a Comment

Derivative Image Lineage

When using LrC (Lightroom Classic), many times we create VC’s (Virtual Copies) and also wind up with edited copies if we send images to an external editor or use one of the LrC Enhance features.  As the number of these “derivatives” multiple if is sometimes quite difficult to know which ones came from which other ones, in what order and for what purpose.  This article provides a methodology to keep track of these images.

Image Types

There are 3 types of non video images in LrC (Lightroom Classic).

Master Image – Master images are physical image files (Jpg, RAW, Tiff, PSD, etc.) which reside on one of your disk drives.  When you import an image into LrC, it creates an entry for such an image in the LrC catalog.  This is a Master Image.  Master images may be edited in LrC but even so are still considered the master image, even though they may no longer be the original state of the image.  As LrC is a non destructive editor, those edits are not copied to pixels in the original image file, so you can always revert back to the original at any time.

03 LR018 01 Original Master type03 LR018 01 Original Master type

Physical Derivative – These too are physical files on your disk drive.  In one sense they are also master files but as they were derived from some other original photo, we think of them a bit differently.  Physical Derivatives are usually created when we use an external editor such as PS (Photoshop) or any of several 3rd party image editing tools.  In most cases, when you “edit in” from LrC to pass an image to an external editor, when the modified image comes back from the external editor, the word “-edit” gets appended to the end of the file name of the file sent to the editor.  If you then send the edited image to be externally edited again, you get another “-edited” added to the end of the name.  So, for example “IMG-1234.CR2” may spawn “IMG-1234-edited.tiff” which in turn spawns “IMG-1234-edited-edited.PSD”, and so on. 

02 LR018 02 Derived Master type02 LR018 02 Derived Master type

Physical derivatives can also be created by using some LrC tools such as any of the “Enhance” tools like DeNoise, Raw Details or Super Resolution.  In these cases LrC uses suffixes other than “-edited” on the derivative files.

Virtual Copy – A VC (Virtual Copy) is also derivative file but unlike the first two are not new physical files on disk.  Rather they are just another entry in the LrC catalog that points to the same physical file on disk as the image it was created from.  But, other than that, except for a few things within LrC they act and behave as if they are new physical files.  In the grid and filmstrip, VC’s have a dog ear a the bottom left corner of the image preview.

01 LR018 03 VC type01 LR018 03 VC type


As we work through processing an image many times we wind up with several of these derivative files all stemming from one original image.  For example, we may send the image to PS to do some content aware cloning, then we may create a VC from the returned image to see if we like it better in monochrome.  This could be followed by going back to the original and creating another VC for a tight crop,  Etc. 

All of this is fine and good but it is not easy to remember which images were derived from which other images, when and why.  In other words the family tree for these images can get quite confusing.

Below are 3 steps to solve this problem.  Each “step” solves a different aspect of the problem so use as many of these step as you desire as they are somewhat independent of each other

Step 1 - Put Version Numbers in the “Copy Name” field

There are various strategies to deal with keeping track of what order the derivatives were created, but here’s the one I like.  Every image (all 3 types) has a metadata field called “Copy Name”.  I use this field to keep track of the image lineage using a concept of version numbers. 

I consider the original master image as V1, but rarely put anything in the Copy Name field for these V1 images.  But, each time I make a new derivative image of any sort I mark the Copy Name field with the next version number.  This in itself informs me of the order I created them but does not help understand which version each other version was derived from.  For example, if I created V4 from V2 the fact that V4 came from V2 (rather than V3) is lost.  To remedy this I also put the version number that it came from in the copy field.  In this example it would be “V4=V2” meaning that V4 came from V2.

But, what was the purpose of making V4 in the first place?  I probably had a reason for creating V4 and I append that reason to the text in the copy name field.  So, let’s say I created V4 from V2 for the purpose of trying a tight crop.   The copy name would be “V4=V2+tight crop”.  So, now, not only do I know the order the derivatives were created, which version each came from but also why I created it.  This has proved to be quite useful later on when I try to figure out a whole raft full of VC’s and Derivative Masters in LrC.

The Copy Name field is found in the Metadata Panel and is present in most views of the Metadata Panel.  To change it, just type in the field in the Metadata Panel and hit enter.

01 LR018 05 Copy Name01 LR018 05 Copy Name

One can certainly stop with the copy name text as described and be way better off than trusting to memory but one can go on to a couple of more steps.

Step 2 - File Names for Physical Derivatives

In the case of physical derivatives such as those that come back from external editors or from using the enhance tools within LrC.  The file name of the new derived file will be the file name of its immediate predecessor with a suffix added such as “-Edited” or “Enhance-NR”.

So, if I perform a Denoise operation on “IMG-1234.cr2” it will create derivative image “IMG-1234-Enhance-NR.DNG” file.  After updating the copy name field (V2=V1+DeNoise), I usually rename the file to include the Version number.  In this case the file might become “IMG-1234 V2 enhance-NR.dng” or just “IMG-1234 V2.dng” as the copy name contains the other pertinent information.  You can change the file name by typing in the File Name field at the top of the Metadata Panel.

Step 3 - File History Marking

So far so good.  Now the only part of the problem that is missing is being able to know the state an image was in when one of the derivative images was created.  Let’s say I have a master image (V1) that has had a bunch of edits applied and I create a derivative from it (V2).  Then later on I do more edits on the V1 master image and subsequently create another derivative (V3).  How do I know what the state of the V1 master was when I created each of the two derivatives?  In other words, where in the list of history steps were the two derivatives created?

To solve this problem I use Snapshots.

Just before I make the derivative, I click the “+” sign on the Snapshots panel in the Develop Module and name the snapshot with the date and next version number.  For example  “5/22/2023 Created V3”. 

This establishes a point in the history that we can go back to.  But, it does not put a visible entry in the history panel showing where that point is.  But if you make any edit to the image then click the snapshot name, an entry gets added to the history panel showing the snapshot name.  So, just make a trivial change such as bump up contrast by 1 then click the snapshot name.

Here’s an example of the Snapshots and History Panels for a V1 image where I made two derivatives at different points in time.

04 LR018 04 Sanps and History04 LR018 04 Sanps and History




No comments posted.
January February March April May June July (1) August (1) September October November December
January February March April May (1) June July August September October November December
January February March April May June July August September October November December
January February March April May (1) June July August September October November December
January February March April (1) May June July August September October November December (1)
January February March April (2) May June July August (1) September (2) October (1) November (1) December (3)
January February (1) March April May (6) June (1) July (1) August (1) September October November December (1)
January (1) February March (2) April May June July August September October November December