From the author of

The first part of any Puppet Warp workflow is to decide which object (or which part of an object) you’re going to warp. Here I decided the central part of the lighthouse would be a good fit (Figure 1), leaving the glass top and base of the structure untouched and “visually anchored” to the sky and ground, respectively. This also made it easier to select the portion of the lighthouse I was targeting, because I didn’t have to work my way around the thin railings and intricate metal structures at the top.

Creating a New Selection and Layer

To begin the editing process, I usually make a selection around the object that is to be warped. While you can use Quick Select or other selection tools, here I used the Pen tool to create a vector path that encircled the center of the lighthouse, its glass top, and the area around the base. Then I right-clicked on the path and chose Make Selection from the context menu, with the Anti-alias option active but no Feathering applied.

The next step is to isolate the selected object onto its own layer. Note that if you’re working on the Background layer, it’s important to first double-click your Background layer and choose OK. This will allow transparency behind the object you’re cutting away, which can then be replaced with realistic-looking pixels using Content-Aware Fill. We’ll get to that step shortly.

Once the selection is ready, choose Layer > New > Layer Via Cut. This willin one stepcut the selected pixels, add them to a new layer, and then place those pixels directly over the transparent gap that’s been created. Afterward, the Layers panel should look similar to Figure
2. In short, the image should look just like the original.

TIP

If you notice a transparent edge or gap between the two layers, you can cover all or part of that area by selecting the new layer and choosing Edit > Free Transform, then use the transform handles to make the new layer slightly larger. Press Return or Enter to apply the changes.

Figure 2 After selecting a subject, use New Layer Via Cut to “punch a hole” in the original layer and paste the new pixels in the same spot, but on their own layer.