Copy link to clipboard
Copied
Hi -
Does anyone know if there is a way to load multiple stacks of images at a time, with each stack loading into PS CC as individual layered image sets? I've searched this site and others to no avail.
My intention is to save the time of opening 150+ images and then stacking them manually to do HDR work on each set. I've tried loading the stacks using Load Files to Photoshop Layers, but this stacks all the stacks into one image with all the stacks in layers beneath. With a properly running script I'd like to be able to open, say 3 images - each with 3 exposures. And then have photoshop create 3 images, each with their 3 exposures. I could then commence with the HDR work by hand for each set.
Any insight is appreciated!
Thanks,
Matt
Sorry I was away. The documents that are created will always have the Untitled in the file name as they are created with the "Load Files into Stack.jsx" and this cannot be changed without saving the document.
If I misunderstood please let me know.
Copy link to clipboard
Copied
Have you looked at this thread?
Would like to automate open stacks as layers + run action. Possible with script??
Copy link to clipboard
Copied
I have tried to load the following (taken from that post) as a .jsx file and Bridge CC says "An error occurred running startup script... It may not be compatible with this version of Bridge..."
Copy link to clipboard
Copied
That will fail, the code is for testing in the Adobe Integrated Development Environment called ExtendScript Toolkit (ESTK) as such will not run as a jsx file without further modification.
This will run as a jsx file and can be run from the Tools menu.
- #target bridge
- if( BridgeTalk.appName == "bridge" ) {
- stacksToLayers = new MenuElement("command", "Stacks To Layers", "at the end of Tools");
- }
- stacksToLayers.onSelect = function () {
- var stacks = app.document.stacks;
- var stackCount = stacks.length;
- for(var s = 0;s<stackCount;s++){
- var stackFiles = getStackFiles( stacks
);- if(stackFiles.length> 1){
- var bt = new BridgeTalk;
- bt.target = "photoshop";
- var myScript = ("var ftn = " + psRemote.toSource() + "; ftn("+stackFiles.toSource()+");");
- bt.body = myScript;
- bt.onResult = function( inBT ) {myReturnValue(inBT.body); }
- bt.send(500);
- }
- }
- function getStackFiles( stack ){
- var files = new Array();
- for( var f = 0; f<stack.thumbnails.length;f++){
- files.push(stack.thumbnails
.spec); - }
- return files;
- };
- function myReturnValue(str){
- res = str;
- }
- function psRemote(stackFiles){
- var loadLayersFromScript = true;
- var strPresets = localize ("$$$/ApplicationPresetsFolder/Presets=Presets");
- var strScripts = localize ("$$$/PSBI/Automate/ImageProcessor/Photoshop/Scripts=Scripts");
- var strFile2Stack = "Load Files into Stack.jsx";
- var ipFilePath = app.path + "/" + strPresets + "/" + strScripts + "/" + strFile2Stack;
- var ipFile = new File (ipFilePath);
- $.evalFile( ipFile );
- loadLayers.intoStack(stackFiles);
- }
- };
Copy link to clipboard
Copied
Very nice! Thank you, Phillip. This is going to save me a LOAD of time!!
I have one additional question. I saw in the link you attached above, cutch2222 (comment 34) asked about renaming the image stack in PS the same name of the first image (or any image name within that stack) so they save adjacent each other. I've looked through your amended code (comment 35), trying to parse what I needed and didn't see this individual funtion.
What could I add in there to rename the layered Untitled copy.jpg, to that of one in that stack? I don't need it to save for me, since I'll do that once I finish the edit.
Thank you for your willingness to help.
Sincerely,
Matt
Copy link to clipboard
Copied
Sorry I was away. The documents that are created will always have the Untitled in the file name as they are created with the "Load Files into Stack.jsx" and this cannot be changed without saving the document.
If I misunderstood please let me know.
Copy link to clipboard
Copied
Thanks for your help!
Matt