There is probably a lot of ways to do this and here is one off the top of my head.
I leveraged that fact that the gradient yet need out to the boundaries exists in the corners.
So I used a Step and Repeat technique to rotate the image in small increments with each increment creating a new Layer
Here are the stops
Copy the original Layer to the next Layer (Cmd+J or Cntl+J on PCs)
Use transform on the new Layer with Cmd+T or Cntl + T on PCs)
Set the angle for transformation in the Option bar to 5 degrees
Now the magic. Once that is done you create the next step with the shortcut Shift+Opt+Cmd+T (Shift +Alt+Cntl+T on PCs) and you get another Layer copy moved another 5 degress.
Continue that until you have gone 90 degrees or about 9 steps.
You will get an image that looks like the following (I increased the brightness with a Curves Adjustment Layer to see the details:
[ATTACH=full]135218[/ATTACH]
I selected all of these new repeated Layers and set the blend to Lighten:
[ATTACH=full]135219[/ATTACH]
And then I selected the transparent areas, grew the selection 5 to 10 pixels and did an Edit> Content Aware Fill to yield:
[ATTACH=full]135221[/ATTACH]
You could try out other blends and could also mask the result if there were parts that you wanted to preserve parts of the original image.
There were some small bits of white line visible so you can Stamp the whole image to one Layer or group the Layers into a Smart Object and apply a Scratches and Dust Filter or Blur filter.
I did that and turned off the Curves adjustment Layer yielding the following result.
[ATTACH=full]135222[/ATTACH]
Hope this gives you an idea of one approach the the problem
John Wheeler