Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - engardeknave

I was thinking about how much of a pain it is to delete the last bracket set I just made (along with accompanying HDR_txt), and it occurred to me that there should be a way to handle whole bracket sets as singular items.

I had asked for a way to rename files belonging to bracket sets, or put them in a folder, or something so I can have a way to automatically identify and process bracket sets later. Nobody seems to care about this functionality and attempts have never been stable. But one workaround I discovered was to parse the automatically generated post scripts. This really works well. Anyway, maybe it would make sense to have a module or something that identifies bracket sets using sidecar files like these. Then brackets could be listed, viewed, deleted, moved, prepared for processing, etc.

I'd really like to be able to add or delete a frame from a bracket set and have that change be reflected in a sidecar file and that will later be used for automatic processing.

(Incidentally, the generated HDR_.txt files always list files with a .jpg extension, even when shooting raw. This function is pretty antiquated and I'd guess I'm about the only one using it.)
General Help Q&A / Corrupt CR2s
March 01, 2014, 02:50:34 AM
I don't know if ML is the problem, but today I got two corrupt .CR2 files (5D2). They won't open in Photoshop. The error suggests that ACR doesn't know how to handle files from the camera that took the photo.

These two files were taken as part of bracket sets. Yesterday I shot maybe 400 frames and didn't have this problem. Today I only shot 160. Both shoots with the same nightly version. Actually, this happened once a few weeks ago too, with a different nightly.

Exiftool reveals:

Custom Picture Style File Name  : .╫█S!√⌐ε.▄úw╡µòzµΘk║.╨{╔l_¼░.┐¥w
Warning                         : Invalid AFMicroAdj data
User Comment                    : ╤ú≡φ .┐╦/ⁿ⌠ ô.₧vú┌[√w²■π.╙'÷g q/┘}²..ó.Vé╡Mⁿ▀:k~X σƒ∙ÿ4εß√l≈î▄ç{¥╙w÷<■p ╬ƒ≤..$»ß.ⁿ╒┐ïoW.ôö3T#╪%oGkç@î÷╤╢nyΩ²d⌡▀.2µ.├╥:c-_Uπd5f╝┌£1µ╞\Qs.j╠vÖq«¥φ╕â▐Xv╠╔¢+δç»═t╔n)╒Z.╓┼Y╔ΩΦö╞Tåzß&├α-F²óµàáì|▌è^√â.σ┌dlà⌐QM░X[.ì░■¥üòc¿· @åVü╒.@.ü┘¡╒░¢«ÿ⌡Gf╕å.Çⁿ.█▌0n.¥5C▀╢U¿ε¡ü&¿

The other data looks ok. I'm not using AF micro adjust, although I just realized I am using a custom picture style. Maybe that's it?

Here's one of them:
It looks like the tag that ACR is reading for tint is "AsShotNeutral". (After you change something in ACR, it writes a "tint" tag, but this is apparently the value ACR uses to generate that tag.)

exiftool *.dng -asshotneutral

exiftool img_0000.dng -asshotneutral="0.473635 1.05 0.624"

In all the Dual ISO .dngs I looked at so far, the values are always 0.473635, 1, 0.624. As far as correcting the tint, I haven't tried many files yet but I did try a few different numbers for the middle value, which changed the tint in ACR as follows:

1.100 = +27
1.050 = +10
1.010 = -4
1.000 = -8
0.999 = -8
0.990 = -11
0.900 = -46

Then I tried a CeroNoice/dng_validate .tif file. These show up completely green in ACR. To get a ceronoise .tif that isn't green in ACR, do the following (probably will have to change the values for AsShotNeutral):

ceronoice img_0001.cr2 img_0002.cr2 img_0003.cr2
dng_validate.exe -3 out out.dng
exiftool out.tif -asshotneutral="0.473635 1 0.624"
I have been struggling for years to come up with some sort of reliable approach to sharpening. I've mostly used Photoshop smart sharpening, but now also ACR 8. It seems promising but there has to be a more methodical approach than just screwing around with the Amount/Radios/Detail/Masking sliders.

Mind you, I'm no amateur, and I get good results. But I want much better results. (I am using the same lens as was used to take those photos.) It's kind of hard to Google for this sort of thing though since you get flooded with intro to sharpening articles with instructions on how to find the unsharp mask menu. Anyone know of any good resources?
We're obviously using a lot of the same equipment, so maybe a for sale section would make sense.

Who wants an excellent condition 17-40mm F/4L? $550. Bitcoin accepted.
Basically he flashed a portable, pocket-sized router with a version of OpenWRT so that it can be connected via USB to Canon cameras. It is then possible to do a wireless connection to the router with what appears to be any Android tablet and DSLR Controller.
General Chat / Canon EF to Nikon G adapter
November 29, 2013, 12:45:28 PM
So I decided I'm going to use an adapter to for a Nikon G lens (no manual aperture setting) on my Canon body. I ordered a pretty cheap one that has a little lever to manually control the aperture. However I realize now that I'll have no way of determining actual the F-number. I really want to shoot at the sweet spot, which I think is f/8 for this lens.

So far my plan is to stick it on a borrowed Nikon and take a reference photo of the front of the lens, or just measure the aperture size somehow, while it's set to f/8. I should then be able to manually set the lens by looking at the front of it when it's on the Canon. I'm just wondering if there's a more reliable way to do this.

(Might sound impractical, but I will only ever be using this lens in its sweet spot, at f/8.)
Feature Requests / Face detection in manual focus
November 06, 2013, 09:05:15 AM
Surely a trollpost, but that would be pretty amazing with zoom on halfshutter. (If it's not obvious, this would make the focus box automagically go to people's faces.)

Actually, I'm thinking if there were a way to enable AF for a moment while the lens is in MF this would probably be possible.
Share Your Photos / Some thangs I do with ML
October 29, 2013, 10:37:47 AM

I thought I'd add some stuff I shot recently.

I haven't tried it yet, but the new setup is going to be using Magic Zoom with face detection enabled. I'm shooting in LV/portrait orientation with a battery grip and it's difficult to move the focus box around. (Can't reach the arrow keys.) I like using some sort of zoom function for manual focusing. Face detection on the 5D2 seems like it might actually be useful to get the area to be zoomed into place without using arrows. (Will not work with horse mask.)

One concern about this setup is that Magic Zoom doesn't zoom nearly as much as zoom on halfshutter. I'll have to really use it before I know if it's going to suffice for my purposes. I'm also unsure if DIGIC peaking applies to the MZ window.

Another thing I have planned for the next shoot is a wireless tether to a Android tablet using DSLR Controller and the TP-Link router. It seems really stable so far. It's possible to get a close to real time preview by shooting in RAW+small jpg, with DSLR Controller set to "Image review - follow shot". I'm hoping this will be the tool I need to know when I've got the shot and can move on--instead of shooting the same thing over and over again just to be sure.

Original post:

So, I think some of the best features of ML are things that a lot of people are probably overlooking. I think this because I overlooked a lot of these features before discovering how awesome they are. Notable things I used here (5D2 in LV, manual focus):

Zoom on HalfShutter
LV DIGIC peaking: Slightly Sharper (Better than focus peaking imo, plus it doesn't block the view.)
Advanced Bracket: DOF 2x2EV
Focus box settings: Fast

What I end with here is a situation where I get the photo while the right facial expression is still there and in focus a much higher percentage of the time. Usually with a thin depth of field and a fidgety girl in front of the camera.

Other things I used here:
Config files
RAW histogram
(Going to try AutoExposure next time I do portraiture)

Real estate is pretty much about making cavernous, mole-people inhabited dungeons look like palaces of light. While not making look like a nuclear blast is occurring outside. glwt.

Top row: Advanced Bracketing/HDR. Bottom row: Dual ISO, first try.

I tried to find examples covering a vast dynamic range, but you really can't tell just how dark these places are from the photos. Especially with that dark wood floor and furniture. Awful. Then again, that's the idea.

No sure how I should report this, but the last few nightlies have been crashing on me. It seems to happen when I have RAW histograms enabled in LV. I shoot a photo, the photo will be corrupted, partially or completely filled with noise, and then the camera locks up.

The dates of the nightlies listed on the download page are different than the date in the file name. Magiclantern-v2.3.NEXT.2013Oct22.5D2212 (Changeset: 417eb70ab84f11ad13d3eb843681898611e73fea) doesn't have this problem. I think it started ~Oct23 with either 828d7cbeec3792465e23401a977a13fbd245e50f or the next one.
Shoot Preparation / Advanced HDR bracketing questions
October 25, 2013, 04:12:02 AM
So my current protocol for HDR starts by exposing for the brightest thing in the frame, usually what's outside the windows (shooting indoors). I do this by looking at the RAW histogram and setting it to E4.0-E3.0 (depending on the dynamic range of the scene). I don't even know exactly what this number represents, but it seems like a good way achieving consistent results. Then I start the bracket, allowing autodetect to choose the number of frames.

Is there some way of automatically choosing a good starting exposure? If not, this might be a feature request: a way of automatically selecting a Tv such that the RAW histogram reads as some predetermined value. Now I set this manually this each time, and for 35 photos it gets redundant.

The last frame is often way, way too overexposed. Sometimes so overexposed that I end up just deleting it and using the previous frame as the final exposure for the shadows. Sometimes I reduce the exposure of the final frame to sane level for the shadows before Enfuse. This is probably due to some small black object in the frame. I don't think there's any way to fix it though because there's no way for the camera to differentiate between underexposed areas and black objects.

Perhaps exposing each photo in the reverse order, from the shadows to the highlights would help? Anyone have experience with this?

Somehow I had overlooked the ISO-shifting feature until just now. I am very interested in any way of making shoots go faster. Also of potentially avoiding blub shots (which take forever and then switch all the camera settings from those of the C mode I'm in to whatever random settings M mode has at the moment). My question is: does ISO-shifting at "half" mean that my MKII is going to be shooting some photos at ISO3200 (with ISO expansion off)?

Ok, I didn't think I'd be able to test these things now, but I was able to do so even though it's night.

1) It's not going to be possible to do the brackets in reverse order because with my settings I'd have to start in blub mode to expose the shadows properly. If the settings are such that the shadows can be exposed in less than 32 seconds, then it can be done from shadows to highlights. Not sure if there is any advantage in this still.

2) ISO-shifting set to "half" on my MKII with ISO expansion off took a photos at a maximum ISO of 1600. This should really be something we can set.

3) There is basically no perceivable difference between finished HDR photos shot at ISO 100 and 400. Probably could take that to 800 without noticing noise on an MKII.
Feature Requests / Auto vary DOF with focal distance
October 16, 2013, 09:09:12 AM
I often want as shallow a depth of field as possible while still getting the subject(s) completely in focus. In order to accomplish this I'm constantly changing to a smaller aperture for closer shots and a larger one when I'm farther away. Sometimes I forget to do this, or the miss a shot while making the change. It would be great if the camera did this automatically.

I wanted to try this with scripts, but I don't think they're working now.
Most up to date version is in this post.

-Drag-drop folder onto script, or select from open dialog, or configure static input folder
-Runs multiple instances of Cr2hdr (or virtually anything else with minor editing)
-Easily add exiftool, dcraw, ptlens, etc. commands
-Files are sorted into folders upon completion
-Produces script log, as well as logs for each individual file conversion (broken now)
-Processing is timed

Copy and paste the code into a .vbs file. Edit the options at the top of the script (most importantly the location of cr2hdr.exe). "Maxprocs" is the number of instances of cr2hdr.exe to run at once.

Make sure all paths end with a "\", ie. "C:\cr2hdr\"

After editing, double click the .vbs file and it will present a dialog to browse for a folder (unless you add an input folder). Select a folder (on your hard drive, not CF) containing the mixed dual ISO .CR2s and plain .CR2s.

'last update: 3/30/2014

cr2hdrpath="C:\cr2hdr\" 'ends with a slash \

exiftoolpath="C:\exiftool\" 'ends with a slash \
inputfolder="C:\pictures\" 'dialog will start at this folder if set (ends with a slash \)

dualisocr2dir="Dual ISO CR2"
regularcr2dir="Regular CR2"
dngoutputdir="Dual ISO DNG"

organize=true 'sort files into subdirectories when done processing

maxprocs=4 'Number of simultaneous processes
'0 Hide the window and activate another window.
'1 Activate and display the window. (restore size and position) Specify this flag when displaying a window for the first time.
'2 Activate & minimize.
'3 Activate & maximize.
'4 Restore. The active window remains active.
'5 Activate & Restore.
'6 Minimize & activate the next top-level window in the Z order.
'7 Minimize. The active window remains active.

set elog=CreateObject("System.Collections.ArrayList")
elog.add "Started: " & Now()

'if inputfolder="" then 'not set in options
  if Wscript.Arguments.Count>0 then
    inputfolder=Wscript.Arguments(0) 'command line
    inputfolder=getfolder("Select the folder containing the dual ISO .CR2 files.")
    if inputfolder="" then WScript.Quit
  end if
'end if

elog.add vbcrlf & "Input folder is " & inputfolder

set fso=CreateObject("Scripting.fileSystemObject")
set mainfolder=fso.GetFolder(inputfolder)
set files=mainfolder.Files
set cr2dngqueue=CreateObject("System.Collections.ArrayList")
set exiftoolqueue=CreateObject("System.Collections.ArrayList")

elog.add vbcrlf & "Searching for .CR2 files"

for Each file in files 'find applicable .cr2s
  if valfname(file.Name,".CR2") then
    cr2dngcmd="""" & cr2hdrpath & cr2hdrexe & """ " & cr2hdrargs & " """ & & """" 'no logs
    'cr2dngcmd="cmd.exe /c """"" & cr2hdrpath & cr2hdrexe & """ " & cr2hdrargs & " """ & & """ > " & & ".log """
    cr2dngqueue.add cr2dngcmd
    elog.add "Queued " & cr2dngcmd
    if correcttint then
      exiftoolcmd=exiftoolpath & "exiftool.exe " & replace(,".CR2",".dng") & " -asshotneutral=""0.473635 1.05 0.624"" -overwrite_original"
      exiftoolqueue.add exiftoolcmd
      elog.add "Queued " & exiftoolcmd
    end if
  end if 

if filecount=0 then
  elog.add "No files found!"
  msgbox "No files found!"
  dump ""
end if

elog.add vbcrlf & "Converting Dual ISO .CR2 files"

if correcttint then
  runqueue exiftoolqueue,8,"exiftool.exe"
  elog.add vbcrlf & "Running exiftool"
end if

for Each file in files
  if valfname(file.Name,".dng") then dngcount=dngcount+1

if dngcount=0 then
  msg="No DNG files created. Check script options and log."
  elog.add msg
  msgbox msg
  dump ""
end if

if organize then sortfiles

finishline="Processed " & filecount & " file(s). Converted " & dngcount & " Dual ISO(s). Runtime: " & round(Timer - starttime) & " seconds."
elog.add vbcrlf & finishline & vbcrlf

if organize then
  mkdir mainfolder & "\" & "logs"
end if

msgbox finishline


sub sortfiles()
  elog.add vbcrlf & "Moving Dual ISO .CR2 files"
  set files=mainfolder.Files
  for Each file in files
    if valfname(file.Name,".dng") then 'find .dng but move .cr2 with same file name
      mkdir mainfolder & "\" & dualisocr2dir
      move mainfolder & "\" & fso.GetBaseName(file) & ".CR2", mainfolder & "\" & dualisocr2dir & "\" & fso.GetBaseName(file) & ".CR2"
    end if

  elog.add vbcrlf & "Moving any regular .CR2 files"
  set files=mainfolder.Files
  for Each file in files
    if valfname(file.Name,".CR2") then
      mkdir mainfolder & "\" & regularcr2dir
      move mainfolder & "\" & file.Name, mainfolder & "\" & regularcr2dir & "\" & file.Name
    end if

  elog.add vbcrlf & "Moving Dual ISO .DNG files"
  set files=mainfolder.Files
  for Each file in files
    if valfname(file.Name,".dng") then
      mkdir mainfolder & "\" & dngoutputdir
      move mainfolder & "\" & file.Name, mainfolder & "\" & dngoutputdir & "\" & file.Name
    end if

  elog.add vbcrlf & "Moving log files"
  set files=mainfolder.Files
  for Each file in files
    if valfname(file.Name,".log") then
      mkdir mainfolder & "\" & "logs"
      move mainfolder & "\" & file.Name, mainfolder & "\" & "logs" & "\" & file.Name
    end if
end sub

function runqueue(queue,instances,exename)
  Set WshShell=WScript.CreateObject("WScript.Shell")
  WshShell.currentdirectory=inputfolder 'have to set the current directory; can't pass full file path because of how cr2hdr calls adngc
  for Each line in queue
    elog.add "Executing: " & line line,windowtype,false
    waitfinish instances,exename
  waitfinish 1,exename
  runqueue=Timer-t 'return elapsed time
  Set WshShell=nothing
end function

sub waitfinish(instances,exename)
    Set myproc=GetObject("Winmgmts:").Execquery("Select * from Win32_Process where name='" & exename & "'")
    if(myproc.count>=instances) then wscript.sleep 100
  loop while myproc.count>=instances
end sub

function getfolder(title)
  OPTIONS = &H10&

  Set objShell = CreateObject("Shell.Application")
  Set objFolder = objShell.Namespace(MY_PICTURES)
  Set objFolderItem = objFolder.Self
  if inputfolder<>"" then strpath=inputfolder else strpath=objFolderItem.Path

  Set objShell = CreateObject("Shell.Application")
  Set objFolder = objShell.BrowseForFolder _
    (WINDOW_HANDLE, title, OPTIONS, strPath)
  If objFolder Is Nothing Then
  End If

  Set objFolderItem = objFolder.Self
  getfolder = objFolderItem.Path
end function

sub dump(subfolder)
  dim objfile
  set objFile=fso.CreateTextFile(mainfolder & subfolder & "\dualISOscript.log",True)
  objFile.Write Join(elog.toarray(), chr(13) & chr(10))
end sub

sub setnothing()
  set objfile=nothing
  set cr2dngqueue=nothing
  set adngcqueue=nothing
  set deldngqueue=nothing
  set elog=nothing
  set fso=nothing
end sub

function valfname(name,suffix)
end function

sub mkdir(dir)
  if not fso.FolderExists(dir) then
    elog.add "Created """ & dir & """"
  end if
end sub

sub move(src,dest)
  elog.add "Moving """ & src & """ to """ & dest & """"
  fso.MoveFile src,dest
end sub

function round(num)
end function
Scripting Q&A / Silentpic API
April 28, 2013, 07:04:51 PM
I brought up the idea of putting take_silent_pic() in another thread. My workaround for not having this was to programmatically enable silent pics in the menu and issue a SHOOT_HALF press. But this is useless for DOF brackets because aperture can't be applied before saving the DNG.

I tried it with sticky DOF preview, but you can't take silent pics in this mode apparently. Even if you could, though, with this many things to do to prepare the bracket, it would be impractical to use.

I had another problem with the script capturing all key presses, so I couldn't do anything else as long as the script was running. I used lastkey(). I didn't investigate this much, but I don't see how I could have caused it.

Ideally, what I'm trying to accomplish is to have a button I can press to execute a quick silent pic DOF bracket without moving the mirror & shutter.

I guess the scripting stuff is kind of on hold until TCC is ready, but the 14-bit RAWs are so incredibly useful it might be worth adding some picoc functions to support them for now. I'm not sure why silent pics are mapped to half shutter by default, but that really makes them painful to use.
Problem 1: You have a situation where you want to focus and expose for one small area, ie. portraits with a strong back light. You always want to focus and meter the eyes, but you often want to recompose into the light.

Your options (at least with a 5DII) are:
  • -Use evaluative metering. This will auto-lock metering when you half-press the shutter. However, it will consistently underexpose, and often by an unpredictable amount. You have to apply exposure compensation and fix the rest in post.
  • -Use spot metering and manual exposure lock. This adds an additional step of tapping the exposure lock button every time before you recompose. When you forget to lock the exposure, the subject will be a silhouette.

Would it be possible to get auto exposure lock (on half-shutter press) with spot metering?

Problem 2: Doing the same thing in liveview mode. Live view mode seems to always use evaluative metering. Would it be possible to get spot metering in LV mode and to lock metering on focus?
Not sure if this is possible, but could we limit how far the lens hunts during autofocus? This would be useful for slow lenses.

To clarify, it would be like semi-autofocus mode where you focus the lens manually at first and then use autofocus to make the smaller adjustments.

(Found someone else inquiring about such a feature here:
General Chat / Unknown function on 5DII
March 16, 2013, 04:06:38 AM
This is on the 5D MKII.

Press the ISO button, and then you can adjust the ISO with the top rolling dial. However, after pressing the ISO button there is also a visible exposure compensation indicator, which can be adjusted with the quick control dial. It is not exposure compensation, though. I can't figure out what it does.
Feature Requests / [DONE] Quick move liveview focus box
October 26, 2012, 12:24:11 PM
In liveview it's a pain moving that focus box around because you have to wait for it to crawl across the screen. I focus and recompose instead. As a result I can never get much use from magic zoom because it's never showing what I want to focus on.

But I realize I mostly want the focus box to be one third or two thirds across the screen up or down-- ie. to just jump directly where it should be according to the rule of thirds. So this could work a couple of ways. Hopefully it's possible to make the focus box jump somewhere on the screen on arrow pad press.

I'd implement this with a single menu item that can be further configured for five, or nine positions to which the box jumps to on arrow press. If it were configured for five positions, the focus box would jump to the corners one-third in horizontally and vertically and also the center. The nine positions would be a 3x3 grid adhering to the rule of thirds as well as vertical and horizontal center rows.
Feature Requests / config presets
October 26, 2012, 11:50:40 AM
I'm not sure it would be possible to replicate the function of the custom mode dial or to do so safely. I'm guessing if it were possible it would have been done. But even if we could have multiple custom ML settings, that would be useful.

I see this being an easily accessible menu of ML configuration presets (with camera settings too if possible). Maybe it could actually display file names, then the files could be renamed from a computer to make them more identifiable. So you select a config file from a menu and ML loads it (or maybe just restarts with it).
Would it be possible to make a new folder and switch to it at the end of each bracket set? Doesn't have to be a custom name, just the default naming scheme. (I have the MKII.)

Or maybe it would be better to add something to the file name to indicate that it belongs to a bracket set. Like a number. Like IMG_0001.B01.CR2 or B01_0001.CR2. (This would probably be the better option for most people.)

Just some way to easily pick out which files belong to which set of bracketed photos.