How can I change the List view?

Started by Beholder3, February 16, 2011, 12:54:56 PM

Previous topic - Next topic

Beholder3

Hi,
I use ExifTool & GUI to edit some picture files, because the focal length is not set properly by the camera when I zoom out to the max.
So I need to identify the files which have an empty EXIF tag called FocalLength plus FocalLengthin35mmFormat.
Here my guess and try was to get the ExifTool GUI show me this in the list view as column.

I have no idea how to do this, though.

I can choose four predefined views with very few columns (Standard, Camera Settings, About Image, XMP:Location Info), but they don't include the column I need.

Then I looked at the ExifToolGui.ini file and added "EXIF=FocalLength" under "[ListViewTags]". Didn't help. Anyhow neither am I sure I spelled it correctly nor do I have any idea how to make these columns listed under [listviewtags] shopw up at all since they don't match any column combination found in any of the four predefined views.

Now I'm lost.

Can anyone help me find the error I have made?
???   

BogdanH

Hi,

FocalLength is Exif tag and if this tag is defined inside image file, then it will be shown inside GUI when Quick, Exif or All button is selected. When you're using Exif (view) button, then you can define this tag for Custom view, of course.
If you select Quick (view) button, then this tag will be listed even if it doesn't exist inside file -in this case it's value is blank, of course.
All of above also applies for FocalLengthIn35mmFormat, except, it isn't shown in Quick view mode.
To define which Exif tag you wish to see in Custom view:
1. Exif button must be selected.
2. File must contain desired tag.
3. Right click on desired tag and choose "Add tag to Custom view".
It isn't a good idea to manually edit ini file, though... if above procedure doesn't work, then there's possibility ini file is messed up (exit GUI, delete ini and start GUI again).

I didn't pay attention.. you said you have [ListViewTags] section inside ini file? Then you must be using old GUI version (v3.xx). All above applies for latest GUI version! -which I recommend to use.

Bogdan

Beholder3

Hi,

thanks for your quick reply. :)

I started with version 3.38 and yesterday updated to 4.06, so I guess the ini file was just updated and kept the old entries.

Maybe I misunderstand your reply, but my wish is to see those two fields as columns in the list view in the middle of the screen (for multiple files).

I know I can see those tags for one single file on the right screen side in the specific views, such as EXIF and "custom".

Is there any way to customise the columns shown in the list view?

In the Camera settings view the "FocalLength" is listed, but not the "FocalLengthIn35mmFormat".



BogdanH

#3
Hi,

I understand now. Before continuing: when switching from older GUI version to v4.xx, keeping old ini file shouldn't do any harm. However, many old (not used anymore) entries will remain in ini file. So, it's better to delete ini and GUI will generate new (clean) one -if worth, at least you'll know what GUI is actually using.

Right now, you can't choose what tags you wish to see in middle (filelist) pane. I'll try to add "in35mm" in next update which will be available today (hopefully).

Bogdan

Added:
Updated GUI v4.07 is available for download.

Beholder3

Hello Bogdan,

thank very, very much for making this change! :)

As a suggestion / feature request I'd say that I guess it would be an idea to offer one view in the filelist pane which is linked to the "custom" view on the right side details pane. So all users can choose which items the filelist shows. And I assume if you pick some for the details view on the right side you usually also would see it positively if this information is available in the fiellist pane in order to pick the right files to edit.

Thanks again for your very quick help!


BogdanH

I understand what you mean. It's not the problem how to make columns (in Filelist pane) customizable by user -it's about speed: reading various metadata from several hundreds/thousands files is quite time consuming. To make this faster (populating data in Filelist pane), instead of using ExifTool to read metadata, I wrote my own procedures for that purpose (and for Quick view). I am aware, that my code isn't the fastest possible.. however, as it is, it's much faster than using ExifTool for that purpose.
And finally, my code doesn't read all metadata: only a small amount of most interesting (for everyone, I hope) tags are parsed -that is, I can't compete with ExifTool here :)

Bogdan

PS (for Phil): Yes, I still didn't found enough time to learn/implement -stay_open option  ;)

Beholder3

Hi,

I understand that speed issue. On vacation trips I usually have a geologging device with me and and now geotag my photos as well based on that data. For this purpose I use the free software "Geosetter" (http://www.geosetter.de/en/).
It's tag editing is also based on ExifTool. It has very limited tag editing features other than centered on geodata and author fields.
But it does list whatever Tag you want in it's listview and the speed is acceptable to me. For initial reading of say 800 pictures it sometimes takes a minute or so but from there on speed is ok (I don't know what CPU speed impact is there).
From my end-user perspective a single solution with your two great pieces of software would be the best.
My workflow today is to geotag the pictures with geosetter, then add author information with it, then add lens info with ExifToolGUI, then add FocalLength info for my pictures with less than 10mm Focuslength in ExiftoolGUI.


BogdanH

I've tried GeoSetter not so long ago and I was quite impressed in this regard. Now, I can only assume how author achieved that:
-he for sure uses better programming components than I'm using in GUI
-could be, he's using ExifTool's -stay_open option, which is a lot faster than "classic" ExifTool usage
-he is better programmer than I am  ::)

However, I can hardly accept waiting a minute till Filelist gets populated with tag values...
So I've checked how GUI does (on my PC) when in Details:Camera setting Filelist view. By selecting a folder, which contains ~400 raw files (average filesize ~17Mb), Filelist pane is populated with tag values (6 tags/file) in about 5-6 seconds. Not that bad... for hobby programmer  :)
But there's always place for improvement, of course -if there's enough time to do it.

Bogdan

Phil Harvey

Quote from: BogdanH on February 18, 2011, 11:28:19 AM
-could be, he's using ExifTool's -stay_open option, which is a lot faster than "classic" ExifTool usage

While I can't say for sure, I don't think that geosetter has been updated to use the new -stay_open option.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

BogdanH

Hi Phil,
You could bi right, because (at least in GUI case) -stay_open requires quite a lot adaptation. Anyway, from users perspective, GeoSetter seems to show metadata (of many files) faster than GUI does.
Time to findout where the bottleneck is in GUI...

Bogdan

Phil Harvey

Hi Bogdan,

I assume you are calling exiftool only once to extract information from all the files?  I must admit I have never used GeoSetter, so I don't know what sort of speed it is getting, but with anything written in a compiled language I would have thought that the exiftool step would always be the bottleneck.  In exiftool there are 3 main bottlenecks:

1) startup compilation overhead (only on the first file)

2) reading/writing the metadata (slower if there is more information in the file)

3) system i/o performance (significant for large files)

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

MOL

#11
Hi Bogdan

I know that GeoSetter is written in Delphi, which can generate rather fast executables. Using it for software development myself, I can tell you how much time it takes on average to extract a full set of meta data (with 150+ tags) from a file with latest ExifTool: depending on the file format between 30 milliseconds and a second on a slow PC. Loading a 140MB (16 bit) TIF file including its full set of meta tags takes 2.01 secs. with a prog I wrote, if that's of help.

Tested on Intel Core2 6600 CPU/ 2.4 GHz , 2 GB RAM, NVidia GeForce GTX 580, Vista Home Premium 32 bit

Uwe


EDIT:
Almost forgot - the key to a fast retrieval of meta tags is to call ExifTool in a separate worker thread.

BogdanH

Hi Uwe,

First, thank you for info (btw. GUI is written in Delphi too -it's "old" v7).
As I have mentioned somewhere above: for showing metadata in Filelist pane, I'm using my own procedures for reading metadata from files. It goes faster than if I would use ExifTool for that purpose.. as far I've tried out. However, because of my limited knowledge, I'm not able to parse all metadata (only about 50 tags).
It's hard to compare speed on different PC's.. I have E8200 Core2 Duo @2.67GHz, 4MB RAM on Win7 64bit and WD Green HDD -average PC.
On this PC, my procedure (in GUI) reads metadata from single raw files in about 7.2msec. Sounds impressive... but on 500 files, that is almost 4 seconds -not very snappy when browsing  :)

Thanks again,
Bogdan

MOL

#13
I did some more testing and it seems that I'm faster than you, even if I use ExifTool directly:

Your numbers:
1 file - 50 tags - 7.2 msec

Mine, using ExifTool:
1 file (12.8 MB ORF file) - 387 tags - 53 msec (div 7.74 = 6.847 msec)

Have you done some timing using ExifTool with threads? You might also want to check out the component DOSCommand.

Phil Harvey

If you want to compare times, I suggest using a standard set of test files -- perhaps something like the Canon samples from the ExifTool Meta Information Repository.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).