BarracudaGUI for cr2hdr dual iso raw post-processing (Windows XP/7/8)

Started by sepa, October 30, 2013, 07:06:13 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

sepa

Hi there,

i take many dual iso raw files with my 700d, and so i developed an "easy to use" Windows front end for the cr2hdr post-processor.
This software is written in C#, .NET Framework 4. Windows 7/8/8.1 users can use it out-of-the-box.  XP users may install the latest .NET Framework 4.

The front end automatically determined the number of simultaneous threads of our cpu.
You can add CR2 files by the "Add CR2 files" button or simply by drag&drop CR2 files directly into the file list.

I hope it's useful  :)

Screenshot version 0.3.5.0




Download: https://bitbucket.org/0xsepa/barracudagui/downloads/

Version 0.3.5.0
14-05-12 Added: Dynamic parameter interface (parsed from cr2hdr.exe) for commandline parameters (see settings dialog for details)

Version 0.3.4.0
14-05-08 Change: Change path of BarracudaGUI.ini file to Windows ApplicationData folder (c:\Users\<Username>\AppData\Roaming\BarracudaGUI\BarracudaGUI.ini)
14-05-08 Added: Installer version (NSIS) of BarracudaGUI
14-05-08 Fixed: Some small GUI fixes



Important: If you come from an earlier version please copy your existing BarracudaGUI.ini to c:\Users\<Username>\AppData\Roaming\BarracudaGUI\

Version 0.3.3.1
14-04-30 Fixed: Fixed program freeze during prostprocessing

Version 0.3.2.0
14-03-16 Fixed: Whitespace bug in cr2 filename handling
14-03-16 Added: "Log cr2hdr console output to file". See settings dialog for details.
14-03-16 Modified: Standard window dimension set to 1024x768
14-03-16 Modified: Remember last selected folder for "Add cr2 files..." dialog

Version 0.3.1
13-11-08 Added: BarracudaGUI commandline parameters support: --import:<path>, --export:<path> and --start:true for automatically start postprocessing
13-11-08 Added: Option for deleting source cr2 files from import folder after postprocessing. Default is "no deleting".
13-11-07 Fixed: Parsing error/crash on cr2 exif value "CreationDate".
13-11-07 Fixed: cr2 Listview was accessible during postprocessing.

Version 0.3
13-11-05 Added: Command line parameters support. See settings dialog for details.
13-11-05 Added: CR2 import folder. If set BarracudeGUI load all CR2 files from import folder on start up. See settings dialog for details.
13-11-05 Added: Manual overwrite for Workerthreads. You can choose up to 100 parallel threads for postprocessing - if  needed. ;) See settings dialog for details.
13-11-05 Added: Mask rename function. Possible placeholder are [N] = original name, [ISOlow] = base ISO, [ISOhigh] = recovery ISO, [CreationDate] = Date of creation,  (Format: YYYYmmDD), [CreationTime] = Time of creation (Format: HHiiss)
13-11-05 Added: Normal CR2 raw files will be copy to the export folder. No moving.
13-11-05 Fixed: Improve CR2 ListView handling (remove selected items by pressing delete key, double click items to open the standard application)

How to use:

Requirements:
BarracudeGUI requires the following files to run correctly.

BarracudaGUI.exe (program itself)
BarracudaGUI.ini (will be create automatic after first start)
Microsoft.WindowsAPICodePack.dll (in the same folder as BarracudaGUI.exe)
Microsoft.WindowsAPICodePack.Shell.dll (in the same folder as BarracudaGUI.exe)
A path to exiftool.exe (included in the cr2hdr.zip (http://www.magiclantern.fm/forum/index.php?topic=7139.0))
A suitable postprocessing program like cr2hdr.exe (requires itself dcraw.exe and exiftool.exe)

1. Download / unpack cr2hdr.zip (http://www.magiclantern.fm/forum/index.php?topic=7139.0)
2. Download and unpack the BarracudaGUI zip file.
3. Start BarracudaGUI, choose the path of postprocessing program (e.g. cr2hdr.exe), exiftool.exe and select the folder for dng output.
4. Add/drag any dual iso raw files into the queue list an press "Start postprocessing".
5. After finishing postprocessing take a look to the dng output folder

That's it.

This software is provided 'as-is', without any expressed or implied warranties whatsoever.
In no event will the author be held liable for any damages, claims or other liabilities direct or indirect, arising from the use of this software.

1%

Looks hot, better than having to run it from the command w/msys.

Also, can it support the 2x2 AMAZE options, etc.

sepa

Quote from: 1% on October 30, 2013, 07:08:56 PM
Looks hot, better than having to run it from the command w/msys.

Also, can it support the 2x2 AMAZE options, etc.

Commandline parameter suppport in next version.

engardeknave

This looks fantastic. I would add it to my workflow if I could give it a command line parameter pointing it to a folder to process, and if there were an option not to rename the files that way. A destination folder command line option would be a plus too.

How does it determine how many threads? By the number of cores? I find that my machine seems to go fastest with as many as ten threads running at once.

Maybe you could just pass through all command line parameters for cr2hdr.

sepa

Quote from: engardeknave on October 31, 2013, 12:30:12 PM
This looks fantastic. I would add it to my workflow if I could give it a command line parameter pointing it to a folder to process, and if there were an option not to rename the files that way. A destination folder command line option would be a plus too.

Yeah, sounds interesting.
Maybe?: barracudagui.exe --source <folderpath> --export <folderpath> and automatic start of postprocessing

What do you mean with "A destination folder command line option would be a plus too."?

Quote from: engardeknave on October 31, 2013, 12:30:12 PM
How does it determine how many threads? By the number of cores? I find that my machine seems to go fastest with as many as ten threads running at once.

By ThreadPool.GetMinThreads Method. I've tested with more than the maximum simultan threads of my cpu (Core i5 3570K, 4 cores / 4 threads) and there was no performance benefit.

Quote from: engardeknave on October 31, 2013, 12:30:12 PM
Maybe you could just pass through all command line parameters for cr2hdr.

Next version contain a "commandline parameters" setting for the post processor application.

engardeknave

QuoteWhat do you mean with "A destination folder command line option would be a plus too."?

The ability to specify where the processed files end up. I guess that's what the --export option you have there would be.

QuoteBy ThreadPool.GetMinThreads Method. I've tested with more than the maximum simultan threads of my cpu (Core i5 3570K, 4 cores / 4 threads) and there was no performance benefit.

I have the same processor and I've experienced better speeds with more processes. I tested this with Enfuse though.

Ok, I just ran some tests with cr2hdr (in the order listed). Interesting results:

6 at once = 42.8 seconds
6 at once = 41.3 seconds
4 at once = 38.3 seconds
4 at once = 37.2 seconds
8 at once = 36.3 seconds
8 at once = 36.9 seconds
2 at once = 61.1 seconds
4 at once = 37.3 seconds

1%

Yea, missing is:

1. Option editor, especially path where to put DNG files, its always the same or you have to edit the .ini
2. Command line option like you said... ie cr2hdr--denoice -denoise/etc


Another option maybe:

some pics aren't dual iso and may have the prefix anyway. Would be nice for it to move non dual photos to another folder or subfolder. It gets really messy to check whats dual and what is not by hand on like 200+ photos.

sepa


1%

Quote05.11.13 Added: Normal CR2 raw files will be copy to the export folder. No moving.

This is good but why not move them?

For me it works like this:

Process folder
leave dual iso cr2 in one folder (in case cr2hdr is broken or improvements come)
import dng + non dual files into light-room.

In this case I still have to hunt down the non dual pics, a bit easier since you get a list but still not ideal :)

sepa

I won't deleting the orignal cr2 files by default. (in case BarracudaGUI is broken or something ;)) Maybe i make a new option in the next release.

1%

Rename in place?

I get a general protection fault now after it tries to copy 1 file. Ok, seems on another folder it dies after first 4 threads finish. The files never get copied.

sepa

Quote from: 1% on November 06, 2013, 12:40:39 AM
I get a general protection fault now after it tries to copy 1 file. Ok, seems on another folder it dies after first 4 threads finish. The files never get copied.

I can't reproduce this here. Have you take a screenshot?
More details please.

1%

Its just a "this program has stopped working" box, no info. The old version still works.

painya

Anybody else having issues with processing large amounts of photos with this?
Good footage doesn't make a story any better.

engardeknave

So I guess by command line support you mean just for cr2hdr and not source and destination parameters for barracudagui.exe?

sepa

Quote from: engardeknave on November 06, 2013, 08:33:24 AM
So I guess by command line support you mean just for cr2hdr and not source and destination parameters for barracudagui.exe?

Yes. See last line at http://www.magiclantern.fm/forum/index.php?topic=9102.msg86105#msg86105.
You can also set an import folder for cr2 files. This folder will be load on startup.

1%

I looked in event log:


Faulting application name: BarracudaGUI.exe, version: 0.3.0.0, time stamp: 0x52795e26
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18229, time stamp: 0x51fb1116
Exception code: 0xe0434352
Fault offset: 0x0000c41f
Faulting process id: 0x294
Faulting application start time: 0x01ceda829b403fd6
Faulting application path: E:\Dual\BarracudaGUI.exe
Faulting module path: C:\Windows\syswow64\KERNELBASE.dll



Application: BarracudaGUI.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.FormatException
Stack:
   at System.DateTimeParse.Parse(System.String, System.Globalization.DateTimeFormatInfo, System.Globalization.DateTimeStyles)
   at System.Convert.ToDateTime(System.String)
   at BarracudaGUI.frmMain.WaitForPostprocessing(System.Object)
   at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

sepa

Quote from: 1% on November 06, 2013, 05:47:57 PM
I looked in event log:


Faulting application name: BarracudaGUI.exe, version: 0.3.0.0, time stamp: 0x52795e26
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18229, time stamp: 0x51fb1116
Exception code: 0xe0434352
Fault offset: 0x0000c41f
Faulting process id: 0x294
Faulting application start time: 0x01ceda829b403fd6
Faulting application path: E:\Dual\BarracudaGUI.exe
Faulting module path: C:\Windows\syswow64\KERNELBASE.dll



Application: BarracudaGUI.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.FormatException
Stack:
   at System.DateTimeParse.Parse(System.String, System.Globalization.DateTimeFormatInfo, System.Globalization.DateTimeStyles)
   at System.Convert.ToDateTime(System.String)
   at BarracudaGUI.frmMain.WaitForPostprocessing(System.Object)
   at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()


Thank you.  Looks like a parsing problem from "creating date" value from exiftool.

What regional setting do you use in windows?

1%


sepa


engardeknave

--import, --export, --start options were logged as having been set, but the program didn't start processing.

Started manually. I should have left it open so I can read the log, but there were errors reading exif info/iso.

Didn't produce any .dng files.

Moved .cr2 files to export folder, which seemed odd. I would think it's supposed to move the .dng files.

I must be doing something stupid, but I'm not going to mess with it right now.

sepa

Okay,... very strange.  ???

My test configuration:

Folder: c:\tools\cr2hdr\
contains:

  • cr2hdr-hot.exe
  • dcraw.exe
  • exiftool.exe

Folder: c:\tools\BarracudaGUI\
contains:

  • BarracudaGUI.exe
  • BarracudaGUI.ini

First attempt: Postprocessing by manual clicking

Folder: c:\tmp\hdrexport\ for dng/cr2 export, set in BarracudaGUI settings
Folder: c:\tmp\cr2import\ for cr2 import, set in BarracudaGUI settings
contains:

  • 001.CR2
  • 003.CR2
  • 004.CR2
  • 015.CR2
  • 016.CR2
  • 017.CR2
  • 018.CR2

Start manually by clicking "Start postprocessing"

After postprocessing the folder c:\tmp\hdrexport\ contains

  • 001.DNG
  • 003.DNG
  • 004.DNG
  • 015.DNG
  • 016.DNG
  • 017.DNG
  • 018.DNG

Works correct.



Second attempt - Start BarracudaGUI.exe with commandline parameters:

c:\tools\BarracudaGUI\BarracudaGUI.exe --import:c:\tmp\cr2import --export:c:\tmp\hdrexport --start:true

Starts postprocessing automatically

After postprocessing the folder c:\tmp\hdrexport\ contains

  • 001.DNG
  • 003.DNG
  • 004.DNG
  • 015.DNG
  • 016.DNG
  • 017.DNG
  • 018.DNG

Works correct.


1%

QuoteMoved .cr2 files to export folder

Probably non dual ones.... seems to be working OK now. Working through a whole set.

1%

Quote
  Problem Event Name:   CLR20r3
  Problem Signature 01:   barracudagui.exe
  Problem Signature 02:   0.3.1.0
  Problem Signature 03:   527cab3a
  Problem Signature 04:   mscorlib
  Problem Signature 05:   4.0.30319.18408
  Problem Signature 06:   52310b91
  Problem Signature 07:   d58
  Problem Signature 08:   66
  Problem Signature 09:   System.OverflowException
  OS Version:   6.1.7601.2.1.0.256.1
  Locale ID:   1033
  Additional Information 1:   0a9e
  Additional Information 2:   0a9e372d3b4ad19135b953a78882e789
  Additional Information 3:   0a9e
  Additional Information 4:   0a9e372d3b4ad19135b953a78882e789

Lately :(

beachman

Have been trying to get the BarracudaGUI program to recognize my Dual ISO CR2 files form a Canon 7D and also a Dual ISO CR2 file posted form Alex on his thread. Keep getting the following errors:

Error: Could not get Exif value (ISO)
Error: Could not get Exif value (CreateDate)

All files can be converted directly with the cr2hdr.exe program, just not through the BarracudaGUI. Looks like a great little program that I would use on a regular basis if I could get it to convert files on my system. Have tried program in Windows 7 Ultimate 64bit and also Windows 8.1 64bit with the same results. Help on this would be greatly appreciated!!

Here are my BarracudaGUI.ini setting:

[BarracudaGUI]
PathCR2HDRInput=D:\Canon Tools\Dual_ISO Raw
PathDNGHDROutput=D:\Canon Tools\CR2HDR DNG
PathPostprocessor=D:\Canon Tools\CR2HDR\cr2hdr-hot.exe
CommandlineParametersPostprocessor=
WorkerThreads=4
ExportRenameMaskFilename=[N]
RenameActive=0
DeleteCR2file=0