Batch Processing HDR

I've got to be making this unnecessarily hard...  Bridge CC, PSCC, LR5.x
I've got a bunch of HDR sets, I want to process them into 32-bit files that LR will read (which as near as I can tell, means tiff).  I want to do them in large bunches, not one at a time.
I"ve got Nik HDR Efex Pro, which doesn't appear to do batch.
I've got Photomatix 4.2, which does batch but doesn't appear to save 32-bit tiffs in batch.
HOW do I batch a bunch of sets and process them?  I"ve seen a script, but isn't there some built-in way of using batch processing or Image processing or SOMETHING more efficient?

  I THINK V5 of Photomatix may save 32-bit tiffs,
No, not after tone mapping or fusion, you can set prefs to open the file as 32 bit and then save as floating pointing tiff, but honestly, I only looked at it once and since my (nor most or any at all) monitor can't show 32 bit colors properly I would not know what to do with it I'm afraid.
But this option is also available in PP 4
but unfortunately I have V4 and when I tried the free update to V5 it told me my V4 was an upgrade password, so even though V5 is a free upgrade apparently it's not free if you've already upgraded to V4….
I had the same struggle but I believe this was due to having a to old license for version 4 (mine was almost 4 years old) for being entitled for a free upgrade. However they charge the very reasonable fee of $ 29,00 so I can't say they are to blame for this
And at the moment HDR Efex Pro V2 isn't working at all with CC.  It crashes every time I try it.  Even doing the instasllation as instructed in other topics here say, it's not working.  I'll have to keep fiddling with it.
There are some strange things happening with NIK (maybe the transition to Google has something to do with it, I remember iView Media Pro being screwed thoroughly by Microsoft after they bought it and changed it to Expression Media…).
Never used NIK my self but both HDR Efex Pro 2 and/or Selective Tools are to my believe responsible for the rare ACR Exposure slider set back  in combination with OSX Mavericks. If you remove one of the aforementioned plug ins from the Google folder (previous called NIK) in the PSCC plug in folder the ACR bug is gone.

Similar Messages

  • Batch processing - HDR feature Lightroom 6 - Is this possible?

    We shoot a lot of real estate interiors; is there a way to batch process sets of images (in this case 5 per shot) in Lightroom 6. I did vaguely remember seeing a video from Adobe saying that you could line up the new shot when the first was merging but that's not feasible for large batch runs and given that I am affected by the AMD Radeon problem, I would like to automate the process and not wait 4 hours to process a batch. All tips and suggestions welcome., thank you in advance.

    Some others have asked for that -- add your vote and opinion to this topic in the official Adobe feedback forum: LIGHTROOM - Batch HDR
    Also, I don't think the GPU is being used to accelerate HDR and panoramas: GPU notes for Lightroom CC (2015). So you're not missing out on that score.

  • Batch processing HDR images

    Is there a tool/script that will select the HDR triplets and automatically merge them to single output HDR files?

    I think the only possible way to do this is with the help of scripts:
    http://forums.adobe.com/message/2870234#2870234

  • HDR Toning Auto Batch Process

    Hi, first time poster here...just recently got into timelapse photography and have been batch processing away to my hearts content. I have one scene that looks unbelievable with the "surrealistic" HDR toning preset. However, I record my action and set up the folders and set it to go, but it seems to want me to click "ok" after filtering each photo...there's 1685 of them, so not very keen on that.
    I googled it before posting here and there is one other post online about it, but they start talking about scripts and I have no idea where they are or what to do with them...
    Any advice? Many thanks.
    Win 8/ CS6.

    Cecilstar wrote:
    Hi,
    I'd like to batch process a sequence of 830 photos. I basically want to make two copies of each - one with less exposure (darker) and one with more (lighter) so at the end I'll have 2490 images (in separate projects).
    No reason I know this can't be done. Lift and stamp adjustment.
    Incidentally, something I've noticed is that when selecting one photo for adjustments it automatically duplicates the photo alongside the original, I'd like to temporarily disable this so I can select all the photos in one project and adjust them as one so they all turn out the same.
    Aperture→Prefs→Advanced→{uncheck "Create new versions when making adjustments"}.
    In case you haven't guessed already it's for an HDR time lapse film I'm making. I'll then be taking the images to photomatix for more processing - a whole other forum to visit then...
    What's the subject? I'd like to see the film.
    Any ideas?
    Thanks.

  • Batch Process For HDR Time Lapse?

    Hi,
    I'd like to batch process a sequence of 830 photos. I basically want to make two copies of each - one with less exposure (darker) and one with more (lighter) so at the end I'll have 2490 images (in separate projects). Incidentally, something I've noticed is that when selecting one photo for adjustments it automatically duplicates the photo alongside the original, I'd like to temporarily disable this so I can select all the photos in one project and adjust them as one so they all turn out the same. In case you haven't guessed already it's for an HDR time lapse film I'm making. I'll then be taking the images to photomatix for more processing - a whole other forum to visit then...
    Any ideas?
    Thanks.

    Cecilstar wrote:
    Hi,
    I'd like to batch process a sequence of 830 photos. I basically want to make two copies of each - one with less exposure (darker) and one with more (lighter) so at the end I'll have 2490 images (in separate projects).
    No reason I know this can't be done. Lift and stamp adjustment.
    Incidentally, something I've noticed is that when selecting one photo for adjustments it automatically duplicates the photo alongside the original, I'd like to temporarily disable this so I can select all the photos in one project and adjust them as one so they all turn out the same.
    Aperture→Prefs→Advanced→{uncheck "Create new versions when making adjustments"}.
    In case you haven't guessed already it's for an HDR time lapse film I'm making. I'll then be taking the images to photomatix for more processing - a whole other forum to visit then...
    What's the subject? I'd like to see the film.
    Any ideas?
    Thanks.

  • Batch process RAW exposures, please help!

    Hello, I'm new to photoshop scripting for windows, and I was wondering if anyone knew how to batch process a folder of raw files, change the the raw's exposure, and save as jpg to another folder, based on a condition within the file's name, then close the opended jpg  document.
    My goal is to have a script that extracts the correct exposures from sets of three bracketed raw files, which I usually have seperated by 2 EV's.  So for example, say I have a folder Called Batch Processing on the C drive, and I have two folders,
    C:\Batch Processing\JPG
    C:\Batch Processing\RAW
    and in the RAW folder I have some files called,
    Image_01_E01.cr2
    Image_01_E02.cr2
    Image_01_E03.cr2
    If the file has "_E01" at the end, I want to open that raw file, change the exposure to -4, save the file with the same name, except the last 4 characters, and add some number to the end, so for example, it would end up being "Image_01" + "_E01".  This would end up being saved to the JPG folder. Then open up the same file, change the exposure to -2 and save as "Image_01" + "_E02".
    To make this post short, here is the conversion table I'm trying to achieve -
    Image_01_E01.cr2 -> Image_01_E01.jpg Exposure = -4
    Image_01_E01.cr2 -> Image_01_E02.jpg Exposure = -2
    Image_01_E02.cr2 -> Image_01_E03.jpg Exposure = -2
    Image_01_E02.cr2 -> Image_01_E04.jpg Exposure = 0
    Image_01_E02.cr2 -> Image_01_E05.jpg Exposure = 2
    Image_01_E03.cr2 -> Image_01_E06.jpg Exposure = 2
    Image_01_E03.cr2 -> Image_01_E07.jpg Exposure = 4
    After that, close all open files. Then, if there is another set of raws, repeat for them as well. For example -
    Image_02_E01.cr2 -> Image_02_E01.jpg Exposure = -4
    Image_02_E01.cr2 -> Image_02_E02.jpg Exposure = -2
    Image_02_E02.cr2 -> Image_02_E03.jpg Exposure = -2
    Image_02_E02.cr2 -> Image_02_E04.jpg Exposure = 0
    Image_02_E02.cr2 -> Image_02_E05.jpg Exposure = 2
    Image_02_E03.cr2 -> Image_02_E06.jpg Exposure = 2
    Image_02_E03.cr2 -> Image_02_E07.jpg Exposure = 4
    So basically this script would take 3 raws seperated by 2 EV's and extract 7 exposures, seperated by 2 EV's.  I've done this manually, and merged them to hdr, and the results are actually pretty decent. 
    I tried doing this with actions and batch processing, but I had to have everything seperated in individual folders like E01, E02, etc. and I had to make an action for each step in the process.
    I know this is probably a lot to ask, but I think it can be done, and I would of course credit the person in the script for helping.
    Thanks in advance!

    I think I was able to make a function to get the exposure time from the raw's xmp file. So the xmp file has to already be saved with the exposure time in the exif section.
    function getEV(thumb){
        var Name = decodeURI(thumb.name).replace(/\.[^\.]+$/, '');
        var file = new File(thumb.path + "/" + Name + ".xmp");
        try{
            if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
            if(file.exists){
                file.open('r');
                file.encoding = "UTF8";
                file.lineFeed = "unix";
                file.open("r", "TEXT", "????");
                var xmpStr = file.read();
                file.close();
            }else{
                var xmpStr='';
            var xmp = new XMPMeta( xmpStr );
            var exposureTime = xmp.getProperty(XMPConst.NS_EXIF, 'ExposureTime');
            if(exposureTime  == undefined) exposureTime = 1;
        }catch(e){alert(e+"-"+e.line);}
        return exposureTime;
    I was able to use the ui you put together from your hdr script, and used the functions from your cr2 script, to make the raw converter script. I've added a drop down list for the different conversion, and I added an option to either enter the exposure time for the middle exposure, or use the xmp's exposure time instead. So far I've only added a straight conversion method, where the files are converted, without any modifications, the 3 raw, and 5 raw conversion methods. Here's the script -
    #target photoshop
    app.bringToFront();
    main();
    function main(){
        Prefs = {};
        try{
            var desc1 = app.getCustomOptions('0bafbed0-0bc7-11e1-be50-0800200c9a66');
            Prefs = eval(desc1.getString(0));
        }catch(e){
            Prefs.folder1 = Folder("~/desktop");
            Prefs.folder2 = Folder("~/desktop");
            Prefs.bits = false;
        var win = new Window( 'dialog', 'RAW Converter' );
        g = win.graphics;
        var myBrush = g.newBrush(g.BrushType.SOLID_COLOR, [0.91, 0.91, 0.91, 1]);
        g.backgroundColor = myBrush;
        win.orientation = 'row';
        win.p1 = win.add("panel", undefined, undefined, {borderStyle:"etched"});
        win.g1 = win.p1.add('group');
        win.g1.orientation = "row";
        win.title = win.g1.add('statictext',undefined,'RAW to JPEG Converter');
        win.title.alignment = "fill";
        var g = win.title.graphics;
        g.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
        win.g5 = win.p1.add('group');
        win.g5.orientation = "row";
        win.g5.alignment = 'left';
        win.g5.spacing = 10;
        win.g5.st1 = win.g5.add('statictext',undefined,'Please select input folder');
        win.g10 = win.p1.add('group');
        win.g10.orientation = "row";
        win.g10.alignment = 'left';
        win.g10.spacing = 10;
        win.g10.et1 = win.g10.add('edittext');
        win.g10.et1.preferredSize = [400,20];
        win.g10.et1.enabled = false;
        win.g10.bu1 = win.g10.add('button',undefined,'Browse');
        win.g10.bu1.onClick = function() {
            InputFolder = Folder.selectDialog("Input folder",Prefs.folder1);
            if(InputFolder != null){
                win.g10.et1.text = decodeURI(InputFolder.fsName);
                processHDRList();
        win.g15 = win.p1.add('group');
        win.g15.orientation = "row";
        win.g15.alignment = 'left';
        win.g15.spacing = 10;
        win.g15.st1 = win.g15.add('statictext',undefined,'Please select output folder');
        win.g20 = win.p1.add('group');
        win.g20.orientation = "row";
        win.g20.alignment = 'left';
        win.g20.spacing = 10;
        win.g20.et1 = win.g20.add('edittext');
        win.g20.et1.preferredSize = [400,20];
        win.g20.et1.enabled = false;
        win.g20.bu1 = win.g20.add('button',undefined,'Browse');
        win.g20.bu1.onClick = function() {
            OutputFolder = Folder.selectDialog("Output folder",Prefs.folder2);
            if(OutputFolder != null){
                win.g20.et1.text = decodeURI(OutputFolder.fsName);
        win.g30 = win.p1.add('group');
        win.g30.orientation = "row";
        win.g30.alignment = 'right';
        win.g30.spacing = 10;
        win.g30.st1 = win.g30.add('statictext',undefined,'Please select conversion method');
        win.g30.dd1 = win.g30.add('dropdownlist');
        win.g30.dd1.preferredSize = [200,20];
        var ConversionList = [];
        ConversionList[0] = "Straight Conversion";
        ConversionList[1] = "Bracketed 3x2EV to 7x2EV";
        ConversionList[2] = "Bracketed 5x2EV to 9x2EV";
        for(var x in ConversionList){
            win.g30.dd1.add('item', ConversionList[x].toString());
        win.g30.dd1.selection = 0;
        var ConversionSel = win.g30.dd1.selection.text.toString();
        win.g40 = win.p1.add('group');
        win.g40.orientation = "row";
        win.g40.alignment = 'right';
        win.g40.spacing = 10;
        win.g40.st2 = win.g40.add('statictext',undefined,'Please enter the exif exposure time of middle exposure');
        win.g40.et1 = win.g40.add('edittext',undefined,'1');
        win.g40.et1.preferredSize=[80,20];
        win.g40.et1.enabled = true;
        var TVsel = win.g40.et1.text.toString();
        win.g50 = win.p1.add('group');
        win.g50.orientation = "row";
        win.g50.alignment = 'right';
        win.g50.spacing = 10;
        win.g50.cb1 = win.g50.add('checkbox',undefined,'Use XMP exposure time instead');
        win.g50.cb1.helpTip = "Uses the xmp file's exposure time for the middle exposure instead";
        win.g300 = win.p1.add('group');
        win.g300.orientation = "row";
        win.g300.alignment = 'center';
        win.g300.spacing = 10;
        win.g300.bu1 = win.g300.add('button',undefined,'Process');
        win.g300.bu1.preferredSize = [240,30];
        win.g300.bu2 = win.g300.add('button',undefined,'Cancel');
        win.g300.bu2.preferredSize = [240,30];
        win.g300.bu1.onClick = function(){
            if(win.g10.et1.text == ''){
                alert("Input folder has not been selected!");
                return
            if(win.g20.et1.text == ''){
                alert("Output folder has not been selected!");
                return
            try{
            Prefs.folder1 = InputFolder;
            Prefs.folder2 = OutputFolder;
            var progressBar = function(title) {
                var w = new Window( 'palette', ' '+title, {x:0, y:0, width:340, height:60} ),
                pb = w.add( 'progressbar', {x:20, y:12, width:300, height:12}, 0, 100 ),
                st = w.add( 'statictext', {x:10, y:36, width:320, height:20}, '' );
                st.justify = 'center';
                w.center();
                this.reset = function( msg,maxValue ) {
                    st.text = msg;
                    pb.value = 0;
                    pb.maxvalue = maxValue||0;
                    pb.visible = !!maxValue;
                    w.show();
                this.hit = function() { ++pb.value; };
                this.hide = function() { w.hide(); };
                this.close = function() { w.close(); };
                this.show = function() { w.show(); };
                this.update = function() { w.update(); };
                this.layout = function() { w.layout.layout(); };
            function doPbar(){
                pBar.hit();
                pBar.hide();
                pBar.show();
            var count = 0;
            var group0 = InputFolder.getFiles(/\.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|srf| sr2)$/i);
            var group1 = InputFolder.getFiles(/\e01.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|s rf|sr2)$/i);
            var group2 = InputFolder.getFiles(/\e02.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|s rf|sr2)$/i);
            var group3 = InputFolder.getFiles(/\e03.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|s rf|sr2)$/i);
            var group4 = InputFolder.getFiles(/\e04.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|s rf|sr2)$/i);
            var group5 = InputFolder.getFiles(/\e05.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|s rf|sr2)$/i);
            count += group0.length;
            count += group1.length;
            count += group2.length;
            count += group3.length;
            count += group4.length;
            count += group5.length;
            if (count <1) return;
            if (win.g30.dd1.selection == 0) {
                var pBar = new progressBar("RAW to JPEG Straight Conversion");
                pBar.reset("Processing Files", (group1.length*2));
                for(var a in group0){
                    setEV(group0[a],0);
                    open(group0[a]);
                    var Name = decodeURI(group0[a].name).replace(/\.[^\.]+$/, '');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group0[a]);
                    var exportFile = new File( OutputFolder + "/" + Name + ".jpg" );
                    SaveForWeb(exportFile,100);
                    doPbar();
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,TVval,0);
                pBar.close();
            } else
            if (win.g30.dd1.selection == 1) {
                var pBar = new progressBar("3 RAWs by 2 EV to 7 JPEGs by 2 EV");
                pBar.reset("Processing E01 Files", (group1.length*2));
                for(var a in group1){
                    setEV(group1[a],-4);
                    open(group1[a]);
                    var Name = decodeURI(group1[a].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e01$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group2[a]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E01.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/64"),-6);
                    doPbar();
                    setEV(group1[a],-2);
                    open(group1[a]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E02.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/16"),-4);
                    doPbar();
                pBar.reset("Processing E02 Files", (group2.length*3));
                for(var b in group2){
                    setEV(group2[b],-2);
                    open(group2[b]);
                    var Name = decodeURI(group2[b].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e02$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group2[b]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E03.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/4"),-2);
                    doPbar();
                    setEV(group2[b],0);
                    open(group2[b]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E04.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,TVval,0);
                    doPbar();
                    setEV(group2[b],2);
                    open(group2[b]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E05.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"4"),2);
                    doPbar();
                pBar.reset("Processing E03 Files", (group3.length*2));
                for(var c in group3){
                    setEV(group3[c],2);
                    open(group3[c]);
                    var Name = decodeURI(group3[c].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e03$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group2[c]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E06.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"16"),4);
                    doPbar();
                    setEV(group3[c],4);
                    open(group3[c]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E07.jpg" );
                    SaveForWeb(exportFile,100);
                    doPbar();
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"64"),6);
                pBar.close();
            } else
            if (win.g30.dd1.selection == 2) {
                var pBar = new progressBar("5 RAWs by 2 EV to 9 JPEGs by 2 EV");
                pBar.reset("Processing E01 Files", (group1.length*2));
                for(var a in group1){
                    setEV(group1[a],-4);
                    open(group1[a]);
                    var Name = decodeURI(group1[a].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e01$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group3[a]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E01.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/256"),-8);
                    doPbar();
                pBar.reset("Processing E02 Files", (group2.length*3));
                for(var b in group2){
                    setEV(group2[b],-4);
                    open(group2[b]);
                    var Name = decodeURI(group2[b].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e02$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group3[b]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E02.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/64"),-6);
                    doPbar();
                    setEV(group2[b],-2);
                    open(group2[b]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E03.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/16"),-4);
                    doPbar();
                pBar.reset("Processing E03 Files", (group3.length*3));
                for(var c in group3){
                    setEV(group3[c],-2);
                    open(group3[c]);
                    var Name = decodeURI(group3[c].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e03$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group3[c]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E04.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/4"),-2);
                    doPbar();
                    setEV(group3[c],0);
                    open(group3[c]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E05.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,TVval,0);
                    doPbar();
                    setEV(group3[c],2);
                    open(group3[c]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E06.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"4"),2);
                    doPbar();
                pBar.reset("Processing E04 Files", (group4.length*3));
                for(var d in group4){
                    setEV(group4[d],2);
                    open(group4[d]);
                    var Name = decodeURI(group4[d].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e04$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group3[d]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E07.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"16"),4);
                    doPbar();
                    setEV(group4[d],4);
                    open(group4[d]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E08.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"64"),6);
                    doPbar();
                pBar.reset("Processing E05 Files", (group3.length*2));
                for(var e in group5){
                    setEV(group5[e],4);
                    open(group5[e]);
                    var Name = decodeURI(group5[e].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e05$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group3[e]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E09.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"256"),8);
                    doPbar();
                pBar.close();
            var desc2 = new ActionDescriptor();
            desc2.putString(0, Prefs.toSource());
            app.putCustomOptions('0bafbed0-0bc7-11e1-be50-0800200c9a66', desc2, true );
            win.close(0);
            }catch(e){alert(e + " - " +e.line);}
        win.center();
        win.show();
        app.displayDialogs = DialogModes.NO;
    function ExifEV(Input,Multiplier) {
        var EVval = Math.abs(eval(Input)*eval(Multiplier)); // Positive Decimal
        var EVvalN = 1; // Numerator
        var EVvalD = 1; // Denominator
        if (EVval < 0.5) EVvalD = Math.floor(1/EVval); else // For values less than 1/2
        // For values greater than 1/2 or values less than 1-1/2, returns 1000ths
        if (EVval < 1 || EVval > 1) {
            EVvalN = Math.floor(EVval*1000);
            EVvalD = 1000;
        } else                                   
        if (EVval > 1.5) EVvalN = Math.floor(EVval); // For values greater than 1-1/2
        return String(EVvalN + "/" + EVvalD); // Return fraction
    function getEV(thumb){
        var Name = decodeURI(thumb.name).replace(/\.[^\.]+$/, '');
        var file = new File(thumb.path + "/" + Name + ".xmp");
        try{
            if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
            if(file.exists){
                file.open('r');
                file.encoding = "UTF8";
                file.lineFeed = "unix";
                file.open("r", "TEXT", "????");
                var xmpStr = file.read();
                file.close();
            }else{
                var xmpStr='';
            var xmp = new XMPMeta( xmpStr );
            var exposureTime = xmp.getProperty(XMPConst.NS_EXIF, 'ExposureTime');
            if(exposureTime  == undefined) exposureTime = 1;
        }catch(e){alert(e+"-"+e.line);}
        return exposureTime;
    function setEV(thumb,evValue){
        var Name = decodeURI(thumb.name).replace(/\.[^\.]+$/, '');
        var file = new File(thumb.path + "/" + Name + ".xmp");
        try{
            if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
            if(file.exists){
                file.open('r');
                file.encoding = "UTF8";
                file.lineFeed = "unix";
                file.open("r", "TEXT", "????");
                var xmpStr = file.read();
                file.close();
            }else{
                var xmpStr='';
            var xmp = new XMPMeta( xmpStr );
            var exposureValue = xmp.getProperty(XMPConst.NS_CAMERA_RAW, "Exposure");
            xmp.deleteProperty(XMPConst.NS_CAMERA_RAW, "Exposure");
            xmp.setProperty(XMPConst.NS_CAMERA_RAW, "Exposure",Number(evValue));
            file.open('w');
            file.encoding = "UTF8";
            file.lineFeed = "unix";
            file.write( xmp.serialize() );
            file.close();
            if(exposureValue  == undefined) exposureValue = 0;
        }catch(e){alert(e+"-"+e.line);}
        return exposureValue;
    function putXMPData(fileName,exposureTime,evValue){
        if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject('lib:AdobeXMPScript');
        var xmpf = new XMPFile(fileName.fsName, XMPConst.FILE_UNKNOWN, XMPConst.OPEN_FOR_UPDATE | XMPConst.OPEN_USE_SMART_HANDLER );
        var xmp = xmpf.getXMP();
        try{
            xmp.setProperty(XMPConst.NS_TIFF, 'Make', 'Canon');
            xmp.setProperty(XMPConst.NS_TIFF, 'Model', 'Canon EOS REBEL T1i');
            xmp.setProperty(XMPConst.NS_EXIF, 'ExposureTime', exposureTime);
            xmp.setProperty(XMPConst.NS_EXIF, 'FNumber', '63/10');
            xmp.setProperty(XMPConst.NS_CAMERA_RAW, 'Exposure',Number(evValue));
            if (xmpf.canPutXMP(xmp)) {
                    xmpf.putXMP(xmp);
                }else{
                    alert(e.message);
                xmpf.closeFile(XMPConst.CLOSE_UPDATE_SAFELY);
        }catch(e){}
    function SaveForWeb(saveFile,jpegQuality) {
        var sfwOptions = new ExportOptionsSaveForWeb();
        sfwOptions.format = SaveDocumentType.JPEG;
        sfwOptions.includeProfile = false;
        sfwOptions.interlaced = 0;
        sfwOptions.optimized = true;
        sfwOptions.quality = jpegQuality;
        activeDocument.exportDocument(saveFile, ExportType.SAVEFORWEB, sfwOptions);
    The script seems to work decent, so I plan on adding the other conversions I mentioned earlier, to it.  If there is a way of getting the exposure time directly from the raw file, please let me know.

  • In Bridge CS6, the "Tools" tab is missing the "Photoshop" option to batch process image

    Hello!
    Does anyone know why in Bridge cs6 under the "Tools" tab, my "Photoshop" option is missing?  That is how I have always batch processed images.  In Bridge, I choose the images to process, go to the "Tools" tab, down to the "Photoshop" option then to "Image Processor" and process.  Now when I go into my "Tools" tab it only has the options: Batch Rename, 4 kinds of Metadata related options and Cache.  Can someone tell me why this has happened and how to fix it?  Thank you!!!
    Eric

    Hello Omke,
    This problem lasted for two days.  I tried many suggestions but nothing worked immediately.  Suddenly I turned my computer on last night and it was fixed...inexplicably.  Not sure what worked but something did.  I appreciate you taking the time to offer advice. 
    Best,
    Eric

  • How to display custom error message in Job log for batch processing

    Hi All,
    I am rexecuting one R/3 report in batch mode and i want to display all the custom error i have handled in job log when its executed from SM36,SM37. The custom error are like 'Delovery/Shipmet doe not exits' or others which we can display in online mode like message e100(ZFI) or any other way and accordingly we can handle the program control like come out of the program ro leave to transaction'Zxxx' or anything. But i want my program to be executed completely and accumulate all the error in job log of batch processing.
    Can anyone tell me how can i do so...
    Thanks,
    Amrita

    Hi,
    Thats what i have done from the begining. I have written message like this:
    Message i100(ZFI).
    I was hoping to see this message in the log. But i cant see. Can you help me pleae...

  • Batch process to add Javascript to PDF files

    Hi All,
    I have written a small piece of Javascript for my PDF files. The idea is to add a date stamp to each page of the document before printing. To do this, I have added the following code to the "Document Will Print" action:
    for (var pageNumber = 0; pageNumber < this.numPages; pageNumber++)
    var dateStamp = this.addField("Date","text",pageNumber,[700,10,500,40]);
    dateStamp.textSize=8;
    dateStamp.value = "Date Printed: " + util.printd("dd/mmm/yyyy",new Date());
    My question is this: Does anyone know of a way to batch process a whole directory (of around 600 PDF's) to insert my Javascript into the "Document Will Print" action of each file?
    Many thanks for any information you may have.
    Kind regards,
    Aaron

    > Can I just confirm a few things please? Firstly, should I be going into "Batch Sequences" -> "New Sequence" and selecting "Execute JavaScript" as my sequence type?
    Yes, you are creating new batch sequence that will use JavaScript.
    > My second question is, how can I insert my body of script into the variable "cScript"? I have quotation marks and other symbols that I imagine I will have to escape if I wish to do this?
    You ca either use different quotation marks or us the JavaScript escape character '\' to insert quotation marks
    Your will print code will only work for a full version of Acrobat and not Reader, because Reader will not allow the addition of fields. Also each time you print you will be creating duplicate copies of the field. So it might be better to add the form field only in the batch process and then just add the script to populate the date field in the WillPrint action.
    // add form field to each page of the PDF
    for (var pageNumber = 0; pageNumber < this.numPages; pageNumber++)
    var dateStamp = this.addField("Date","text",pageNumber,[700,10,500,40]);
    dateStamp.textSize=8;
    this.setAction("WillPrint", "dateStamp.value = \"Date Printed: \" + util.printd(\"dd/mmm/yyyy\",\new Date());");

  • Opening and closing files very slowly -MAC - Batch processing broke illustrator...

    I have been batch processing between 15 and 30 thousand svg files over the past few days(simply centreing the orbjects on the art board mergring overlapping objects and saving as AI's) - the individual files are very small 20kb max. this was working fine for a while but suddenly illustrator now takes nearly 30 seconds to open any one individual file - svg or otherwise - and also when I look at illustrator in activity monitor as files are opened illustrator uses 100% of the CPU.
    I have no Idea if this is related to all of the batch processing Ive been doing lately but Its the last thing Ive done so...
    Also I have run disk utility on my machine uninstalled and reinstalled illustrator with no success..
    Anyone have any thoughts?
    Thanks!!

    Have you tried at least restarting AI or rebooting the computer?

  • Please Help, Issues when batch processing Multi Frame images in Fireworks

    I hope someone will know how to do this and tell me where I am going wrong.
    Objective 1
    I have a large number of images that all have the exact same number of frames (4) and are all exactly the same size that I want to get resized, cropped and water marked (when I say 'watermarked I mean have my websites logo pasted in a specificlocation on each frame, I have my websites logo as a seperate .png file which I copy from).
    Current Process
    I create a command which will crop the image then paste my companys url/log onto the first frame, move it to the correct location on the frame then copy it again and then paste it onto each of the other frames, the command then resizes the image tot he exact proportions I want.
    I start a batch process and use my command, making sure that I also export from the .png to animated gif (and I edit the settings to make it 256 animated gif).
    Error 1
    The process described above resizes and crops my images however it does NOT put the watermark in the correct place, it seems to put it int he right place on the first frame and then in a different place on all the followingn frames thus giving the effect of the watermark jumping around. Which is obviously NOT what I want.
    Question 1
    Please let me know what process I should be following to correct the Error 1 above.
    Objective & Question 2
    I want to do exactly the same thing as shown above but this time the files have a varying number of frames (from 2 to 45 frames (or instances as CS4 seems to call them)). Is there a way to paste my logo to the to the exact same location on ALL frames?
    Other information
    I have tried WHXY Paste extension and I can not see how to use that to solve the issue. I have also tried 'Paste in Place' however I can not see how to use the Paste In Place extension as it is not appering in my list of commands.
    Many thanks in advance for your help.
    Andy

    Andy, you could start a batch process which will do most of the things you are asking for. THe batch process can be done using Fireworks. The right way to start is going to Archivo / Procesar por Lotes and then follow all the different option this tool has to offer.  Yes, I know I gave you the names in Spanish but that is the way I use Adobe Fireworks.
    I hope this was usefull for you!
    Best regards,
    Frank Meier | Curso Arreglos Florales

  • How to extract data from offline PDF files as batch processing

    Hello.
    I want to use Adobe Interactive forms as batch processing.
    For instances,
    1. Users download offline PDF files.
    2. Users inputs data on their local PCs.
    3. Users upload these PDF files in one folder.
    4. Program can read data form PDF files on that folder. and put data to ERP at night.
    I' d like to know how to implement a program with Java or ABAP.
    Regards.
    Koji.

    Hi,
    It's possible to do it but first be sure that the SAP system can read the directory while your program is executed in background .
    Then you have to read the content of the directory and process each file you found.
    Look at this standard ABAP object cl_gui_frontend_services , you will find method for browsing a directory and retrieve list of file .
    Afterwards you have to process each file , for this have a look at this wiki code sample i wrote for processing inbound mail with adobe interactive form, it should help you [Sample Code for processing Inbound Mail with Adobe Interactive Forms|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/sampleCodeforprocessingInboundMailwithAdobeInteractive+Forms]
    Hope this help you .
    Best regards.

  • Report as batch process?

    Can we run a Z program or report as background process or batch process? if yes, how?

    Hi,
    1.  Go to SE38 give the program name and then from Menu path Program->Execute->Background. You need create the variant for selection screen
    2. Go to SE38 give the program name and then execute on the selection screen goto Menu path Program->Execute->Background.

  • Need help with batch processing picture packages

    Hi, I am having trouble batch processing picture packages is CS2.  (Windows).
    I have hundreds of images that need to be processed into picture packages and would love to find a speedier way to do this.
    I know how to create an action.  I know how to batch process from this action.  I also know how to create picture packages, but I cannot get the final result I am after - please read on....
    I have seperated all the images into their seperate folders for each style of picture package required.
    I can create an action for the picture package required and then do a batch process on the particular folder, but this leaves all the picture packages open on the desktop - as when you chose the close and save in the batch process - this only closes and saves the original image - the picture package has been created as a new document and is on the desktop still open - named Picture Package 1, Picture Package 2 - etc etc.
    I hope I am making some kind of sense here... (??!!)
    What I would like to happen is that the picture package will be saved over the original file (or to a new folder) with the original file name of the original image or maybe even with an adjustment to file name (e.g - orignal file name sc1234.jpeg - new file name sc1234packA.jpeg)
    So is this possible to do??  I'm thinking there must be a way.... i'm sure there are many group photographers out there who come across this everyday??
    Otherwise I have to save each picture package manually to original file name (via searching though files to match the original image to the picture package....) Very time consuming.
    Thanks for your help (in anticipation)...
    Jodie

    hmm - thanks for that - sounds like I will have to try and find some info and assistance regarding the scripting - it may be something I need to look into at a later time in the future....
    At the moment though I will have to plod along with this method I guess!
    Thanks for your assistance...
    Jodie

  • Can I use Organizer to change the .jpg size of all photos in a folder in one batch process?

    We're using wa-a-ay too much disk space for a growing photo collection.   My daughter is a camera freak with four kids -- need I say more? 
    In my current test folder the sizes of the original photos range from 2.3 MB to 4.2 MB.  I picked one photo at random and printed the original and then three more, saved by PSE9 as .jpg files at maximum, middle, and minimum quality settings on plain letter-size paper, and again on 4x6 photo paper.  It takes a magnifying glass and a calibrated eyeball to detect a difference on the plain paper, and it's even more difficult on the photo paper.  I think I should relieve the pressure on the hard drive's capacity by reducing everything to a more reasonable size; after all, the minimum-quality print takes up less than one percent of the disk space as does the maximum-quality print.
    I have a hunch that I can accomplish this in a batch process with Organizer, but that's all I have is the hunch -- not the know-how.   I would like someone to step me through the process.
    I also expect a lecture on why I shouldn't do this.  Go for it; I'll listen.
    Thanks,  Bud

    Bud,
    BudV a écrit:
    I also expect a lecture on why I shouldn't do this.  Go for it; I'll listen.
    You are the one to judge... Will you regret it if you want to use some pictures with the original size and resolution at a later time?
    Yes, you can use either the organizer or the 'process multiple files' command of the editor. But first you should think about two questions:
    - Are you ready to backup the full resolution and size files before the 'shrinking'? External USB drives with big capacities are available and affordable.
    - From what you are saying, the optimal size would be for files resized for 4" x 6" format at 300 ppi in jpeg quality 8 to 10.
    Resizing from the Editor: Use the 'process multiple files' command and click the 'Same as source' button. I would not do it without a sound backup first... This can be done folder by folder.
    Resizing from the Organizer : Use the 'Export' command. That command leaves the original and puts the resulting files in a new folder. The resulting files are NOT included in the catalog.This means that keeping your organization (categories, albums, tags...) will be tricky; same if you are using a folder organization system.
    Another solution with a third party software such as Faststone photo resizer:
    - Absolutely do a full backup before
    - run the resizing options in the external software so that the files are resized without being moved. That replaces the originals.
    - If you are using the organizer, your organization will be kept, but the file sizes in the catalog and thumbnail databases will be wrong. You can regenerate the thumbnail cache by deleting the thumbs.5.cache file in your catalog folder; it will be automatically rebuilt.
    That has worked for me in the past... no guarantee for you!

Maybe you are looking for

  • How can i change my main email address?

    Need to know whow to change my main email address for game center and icloud

  • Clarification about plant and terms of payment In Master Data:

    Hello Gurus, I have a doubt as follows: 1) In Material master (MM01) we are maintaining Plant as two types.      a) Plant at organisation leve pop up at the begining      b) Delivering plant at Sales organisation 1. So, is there any difference betwee

  • Thinking about switching

    I'm thinking about buying a Mac but I'm having a hard time trying to find answers to my questions. Such as the principle differences between standard computers and Macs and if my progrmas will work on a Mac. Even navigating this site isn't that easy.

  • Hotkey shortcut for selecting url in address bar to type new url?

    Hi, is there a shortcut hotkey for selecting all of the url in a browser window in oder to quickly type a new address, etc? Thanks (For example, rather than move the cursor up to an address such as http://www.apple.com is there a key combination I ca

  • Using Decimal Points with Quantity in 11i

    We are in apps 11.0.3 and going to migrate into 11i. While making Returns to Vendor we cannot use decimal points in the place of quantity and we have to complete the transaction same as transaction completed in the PO receipt. For ex: If I have case