Skip to main content
johnrellis
Legend
May 13, 2021
In Development

P: Correct copying of crops and local adjustments

  • May 13, 2021
  • 30 replies
  • 5294 views

[This version of the post from the old feedback forum was updated 11/1/21.]

 

Lightroom has long incorrectly copied crops and local adjustments between photos with different orientations. This post provides consistent principles of how copying should behave, test results of the current broken behavior, and a guide to implementing correct behavior.

 

How Copying Crops and Adjustments Should Behave

 

Users almost always place crops and local adjustments relative to the photo's content. A Spot Removal is placed over a blemish on a face; an Adjustment Brush lightens the shadows under eyes; a crop is placed tightly around a face; a Graduated Filter darkens the sky.

 

So if a user copies a crop or local adjustment from a raw to a TIFF produced from that raw by Photoshop, the user expects the adjustment to appear in the exact same visual position and have the same effect. A Graduated Filter aligned with the horizon in the raw should also be aligned with the horizon in the TIFF; a Spot Removal applied to a face blemish in the raw should be located on that blemish in the TIFF.

 

Problems

 

When a user edits a portrait raw in Photoshop, the saved TIFF will appear portrait. But internally, the orientations of the two photos are different – the raw pixels are stored in landscape with an orientation tag indicating a 90-degree rotation, while the TIFF pixels are stored in portrait with an orientation tag indicating no rotation.

 

When a user copies a crop or local adjustment between photos with different orientations or crops, LR usually copies the crop or adjustment incorrectly, placing it in the wrong location and with the wrong size. The precise behavior of LR has varied across versions, but it's never come close to being completely correct. 

 

I've done extensive testing of copying between orientations and crops, and the most recent results for LR 11.0 are posted below:
https://community.adobe.com/t5/lightroom-classic-ideas/lightroom-correct-copying-of-crops-and-local-adjustments-of-virtual-copies/idc-p/12489948#M13017

 

There hasn't been much change from LR 10.3, though LR 11 did fix one important use-case, copying adjustments between masters and their virtual copies.

 

Implementing the Desired Behavior

 

Implementing the desired behavior is straightforward, requiring elementary coordinate transformations from the source to destination photos. I've implemented these transformations for my Copy Settings, Any Crop, and Any Filter plugins, and I've posted the source code for Copy Settings plugin.

 

Internally, LR represents a photo as an underlying image (an array of pixels) and an "orientation" tag, which specifies how much the underlying image should be rotated (0, 90, 180, 270 degrees) and whether it should be mirrored to display it visually. Rotating or flipping an image in LR changes just the orientation tag. But when you edit a photo in Photoshop, it actually rotates and mirrors the pixels in the underlying image as specified by the orientation, and the saved TIFF will then have an orientation tag with no rotation or mirroring.

 

LR represents the coordinates of crops and local adjustments with values in [0..1], where (0, 0) represents the upper-left corner of the underlying image before any orientation (rotation and mirroring) has been applied. Call this coordinate system the underlying-pixels coordinates. Call the coordinate system after the orientation has been applied the visible-pixels coordinates.

 

When copying, LR should translate the underlying-pixel coordinates of the adjustments in the source image to visible coordinates. Then it should translate those visible coordinates to the underlying pixel coordinates of the target photo.

 

30 replies

Bob Somrak
Legend
November 1, 2021

@johnrellis 

What do the alternating U and S under Saved stand for?  I didnt see any mention of it in the listings

M4 Pro Mac Mini. 48GB
Bob Somrak
Legend
November 1, 2021

Thanks for the update @johnrellis 

M4 Pro Mac Mini. 48GB
johnrellis
Legend
November 1, 2021

I reran the test suite for Copy/Synchronize settings with LR 11.0. Though there are some changes in behavior since LR 10.3, for the most part crops and local adjustments still don't copy correctly between photos with different orientations and crops.

 

The suite can be downloaded from here:
https://www.dropbox.com/s/ayr602oegx3ofrr/Copy%20Settings%20test%20suite.2021.10.31.zip?dl=0

 

In the tables below, the Source and Target representations are:

 

N - the photo is in normal orientation, with no rotation or mirroring (orientation AB)
C - same as N but with a crop applied, including a crop angle
R - the photo has been rotated clockwise (orientation BC)
RC - the photo has been rotated clockwise, with the same crop as C applied
RCM - the photo has been rotated clockwise and mirrored (flipped horizontal), with the same crop as C applied (orientation CB)

 

U - the tested adjustment has not been saved to metadata in the source photo

S - the tested adjustment has been saved to metadata in the source photo

 

The adjustments tested are:

 

Crop - a crop with a crop angle
Spot - a spot removal using Clone, with the source automatically selected
Graduated - a graduated filter (linear gradient), at angle
Radial - a radial filter (radial gradient), at angle
Up-Mode - Transform > Auto, copying Upright Mode
Up-Transforms - Transform > Auto, copying Upright Transforms
Tr-Adjustments - copying manual Transform adjustments

 

The first table shows the results of the suite with LR 11.0. Red cells indicate source/target/adjustments that didn't copy correctly.

 

The second table shows the difference between LR 11.0 and 10.3. Red cells indicate source/target/adjustments that don't work in LR 11.0 but worked in 10.3. Green cells indicate source/target/adjustments that work in LR 11.0 but didn't work in 10.3. There are 10 red cells and 18 green cells -- so LR 11.0 has made a modest net improvement.

 

 

 

 

Inspiring
July 23, 2021

I love John's plug in! It takes Lightroom syncing to the next level introducing PRESETS. Which is even more time saving.

johnrellis
Legend
July 22, 2021

Very good          . 

Rikk Flohr_Photography
Community Manager
Community Manager
July 22, 2021

@John_R_Ellis  I've been hammering on the team and we have a bug filed and are working on resolution. 

Rikk Flohr: Adobe Photography Org
C.Cella
Inspiring
July 14, 2021

Being unable to copy, sync local adjustments across differently cropped versions/virtual copies/snapshots of the same photo is gravely damaging my work.

I am loosing time, money.

C.Cella
Inspiring
July 14, 2021

The fact that we can't sync or copy settings across differently cropped Virtual copies or snapshots is gravely damaging my workflow and it making me loose time and money.

This needs to be fixed.

Participating Frequently
June 30, 2021

Dear Adobe, read and learn from the post above, this is how the business is done.

johnrellis
Legend
June 30, 2021

Hi Colin, this is clearly a bug (probably an internal representation of a Develop setting from an older version of LR that I didn't catch).  Please send an email to my support address so I can can get some details and I'll fix it asap.  (My standard policy is to provide complimentary licenses to anyone who first reports a reproducible bug.) Thanks.