Fast Picture Viewer Pro for fast cull before import into PSu?

PhilBurton
Posts: 307
Joined: 12 Sep 10 17:47
Location: CA, USA

Fast Picture Viewer Pro for fast cull before import into PSu?

Post by PhilBurton »

I've been experimenting with this program, and I think I must be doing something wrong.

People in this forum write how they use this program to cull images because it's faster than doing a cull in PSu. So I had expected that I would get a thumbnail display in a grid mode. However, all I can get is a filmstrip at the top of the screen and it's not very large.

So what should I be doing to get a grid display? I'm using the latest version of FPV Pro, just downloaded from the author's website.

Phil
Photo Supreme user
Home built i7 3930, 32 GB RAM, Win 10 Pro 64, latest version of Photo Supreme 3, Lightroom 6 and Photoshop CS 6 (perpetual licenses)
weidmic
moderator
Posts: 861
Joined: 04 Dec 06 21:21

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by weidmic »

Phil,

I don't think there is a grid mode...
the first cull i do is just going through the photos, photo by photo and mark the bad pictures for deleting (x) and photos that really stand out will be star rated.
After I went through all of them I filter for the marked for deletion - look at them a second time to make sure I did not mark any keepers by accident and delete with Control X

In PSU I just start the import by choosing the right import profile and that's it...

Then the fun part can begin :)

Michael
PSUServer 2024.x, PostgreSQL 12.x
My homepage http://www.michaelweidner.com
PhilBurton
Posts: 307
Joined: 12 Sep 10 17:47
Location: CA, USA

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by PhilBurton »

weidmic wrote:Phil,

I don't think there is a grid mode...
the first cull i do is just going through the photos, photo by photo and mark the bad pictures for deleting (x) and photos that really stand out will be star rated.
After I went through all of them I filter for the marked for deletion - look at them a second time to make sure I did not mark any keepers by accident and delete with Control X

In PSU I just start the import by choosing the right import profile and that's it...

Then the fun part can begin :)

Michael
Michael,

I really wanted to like this program, but I also wanted a grid view. There is a similar program, not as polished, Faststone Image Viewer, http://www.faststone.org/FSViewerDetail.htm, which does have a grid view, and I think I will use that instead.

Thanks for confirming that it wasn't operator error.

Phil
Photo Supreme user
Home built i7 3930, 32 GB RAM, Win 10 Pro 64, latest version of Photo Supreme 3, Lightroom 6 and Photoshop CS 6 (perpetual licenses)
fbungarz
Posts: 1826
Joined: 08 Dec 06 4:03
Location: Arizona, USA

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by fbungarz »

Hi Phil,
like Michael I use FastPictureViewer and I love it. It moves through thousands of files in full view like nothing else and with one single click I copy the keepers into my PSu import folder. In my opinion nothing can possibly beat this!
Everything else (rating, labeling) I can much more efficiently do in PSu, so I don't bother with using FastPictureViewer for anything but culling.
Do you do your culling in grid view? Personally I would not feel comfortable doing that at all! I don't think you can accurately asses any image from a small thumbnail. Nothing better than full view for culling. FastPictureViewer shows images full screen, left-click 100%, right click 200%, click at the copy button and the image is copied.
Just curious: If you prefer a grid view, why not simply use PSu, why do you need an extra tool? I have tried out FastStone and to me it does not seem any faster than the grid view in PSu.
Cheers,
Frank
PhilBurton
Posts: 307
Joined: 12 Sep 10 17:47
Location: CA, USA

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by PhilBurton »

fbungarz wrote:Hi Phil,
like Michael I use FastPictureViewer and I love it. It moves through thousands of files in full view like nothing else and with one single click I copy the keepers into my PSu import folder. In my opinion nothing can possibly beat this!
Everything else (rating, labeling) I can much more efficiently do in PSu, so I don't bother with using FastPictureViewer for anything but culling.
Do you do your culling in grid view? Personally I would not feel comfortable doing that at all! I don't think you can accurately asses any image from a small thumbnail. Nothing better than full view for culling. FastPictureViewer shows images full screen, left-click 100%, right click 200%, click at the copy button and the image is copied.
Just curious: If you prefer a grid view, why not simply use PSu, why do you need an extra tool? I have tried out FastStone and to me it does not seem any faster than the grid view in PSu.
Cheers,
Frank
Frank,

You just turned around my view of FastPictureViewer. Completely. Now I am going to use FPV in my workflow. :D I had been using the filmstrip for culling, not the full-size view, and your workflow sounds better than what I had been doing, especially with the copy step.

The reason I want to do culling outside of PSu is that I rename my images to yyyy-mm-dd--seqn4. If I delete files in PSu, I have gaps in the sequence numbers.
Photo Supreme user
Home built i7 3930, 32 GB RAM, Win 10 Pro 64, latest version of Photo Supreme 3, Lightroom 6 and Photoshop CS 6 (perpetual licenses)
tstoddard
Posts: 605
Joined: 07 Sep 12 11:51

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by tstoddard »

PhilBurton wrote: The reason I want to do culling outside of PSu is that I rename my images to yyyy-mm-dd--seqn4. If I delete files in PSu, I have gaps in the sequence numbers.
Phil,

I also use FastPictureViewer so I am not trying to talk you out of using it, but you could avoid the issue you described above by culling your images in PSU before you import them. You should be able to go through each image and either mark or unmark it before you click on import. I opened them in full screen by using the Shift + Enter key combination and then just used the arrow keys to navigate through them. I haven't tried this in a while but I have done it in the past and it worked well if I recall correctly. I forget which key to use to mark or unmark an image for import but I seem to recall that it was just one key and not even a key combination, which made the process very easy.

FastPictureViewer is a great product but it's not free and it does require you to use yet another program in your workflow. The way that I use it is a little different than what's been described so far. I do a lot of wildlife photography and shoot in continuous shutter release often so I have many very similar images. I always struggle trying to decide which ones to keep and which to discard. I use an iterative process. I start by going through all images and marking the ones I don't want with and x. In the first pass I usually just eliminate the obvious ones, ones that are out of focus or just not to my liking. Then I filter the images by the ones marked for deletion and then invert the filter. (The invert option was actually added at my request by the developer of FPV) Once they are inverted, I only see the images that are not marked for deletion. Then I go through the images again and see if there are others I want to mark for deletion (Actually, I don't delete them with FPV, I just don't import them. I never feel comfortable deleting images from my memory card until all images that I want are safely imported and backed up.). After I've gone through all image at least twice and I'm satisfied that I only have images left that want to keep, I will use FPV to do the import. It has a very powerful File Utilities plugin and can be configured to do most anything that you want, but I just use it to rename my files and create the appropriate sub folders to store them in. I run a batch that imports any files not marked for deletion. I also create backups and save them to an external drive at the same time.

Then, in PSU, I just import the folders that FPV created, applying metadata in the process. Then I proceed to labeling them in PSU. Finally, I remove all of the images from my memory card by reformatting it in the camera. I prefer to save that as the last step to make sure everything goes smoothly during the import process first. I also do this so that my camera is the only device that ever actually writes to my memory card. I'm not sure why this matters, it just makes me feel more secure I guess.

I've actually simplified my workflow in this explanation because I didn't mention raw processing. I have been in flux lately because I finally gave in to Adobe and bought a subscription to the Creative Cloud Photography plan. Right now, I've settled on importing my raw images into Lightroom before I import them into PSU so that I can process them before I import them into PSU. I find that it works better if I do what I need to do in LR first and then go to PSU and manage my metadata. I usually create jpegs in LR first so that versioning is also done upon import into PSU. If all goes well, there is usually no need to reopen any of these images in LR again so that LR never gets a chance to touch the metadata I've added in PSU.

Sorry for such a long post but I always like reading about other people's workflows and I learn from them so I thought I should share mine as well.
Tom Stoddard
PhilBurton
Posts: 307
Joined: 12 Sep 10 17:47
Location: CA, USA

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by PhilBurton »

Tom,

Thank you for this really informative post on your overall workflow. Very helpful for me.

Phil
Photo Supreme user
Home built i7 3930, 32 GB RAM, Win 10 Pro 64, latest version of Photo Supreme 3, Lightroom 6 and Photoshop CS 6 (perpetual licenses)
gcorbin
Posts: 110
Joined: 21 Aug 06 11:31
Location: Brisbane

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by gcorbin »

Phil,
I don't use any of these programs, so I can't offer you an opinion on the use, BUT, your actual issue seems to be with your desired file name convention yyyy-mm-dd--seqn4 having gaps. If this is your only issue with PS, you can achieve this without using other programs.

My workflow ends up with my files renamed based on the Head Line plus a sequence. I also like the sequence to have no gaps even when I cull my dud photos. This is similar to what you desire and you could use my method or a variation of it.

The way I achieve my sequence number without gaps is to import the photos directly into PS keeping the original file names from the camera. I then go through and view every photo in PS rating, cataloguing and culling as required. The last thing I do is run a rename script (which I copied from the forum years ago and modified to meet my needs and then fixed with Herts help a couple of times as things changed in different PS releases) in Batch to rename the files to my desired name including the sequence. I suspect, you could even get away with a simple rename (Operations, Rename) and not even use a script. (I could also use a simple rename rule but I prefer the script as it is intelligent and it copes with renaming the photos over and over and still giving the desired result. The simple rename rule is perfect if I use it once, but doesn’t work correctly if I use it a second time on the same photos.)

I like this workflow as I can easily see which photos have been completely catalogued just by their filename without having to use colour labels or similar. (I get behind in my cataloguing and this helps me to not lose uncatalogued photos.)

If this workflow is not to your desire, another option is to import into PS with your rename rule adding the sequence. Do your cataloguing and culling in PS and then run a rename script in PS to close up the sequence gaps. This script will not be too hard and I am sure those on the forum much better at scripts than me will be able to assist with this if this is what you require.

Food for thought anyway...
PhilBurton
Posts: 307
Joined: 12 Sep 10 17:47
Location: CA, USA

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by PhilBurton »

gcorbin wrote:Phil,
I don't use any of these programs, so I can't offer you an opinion on the use, BUT, your actual issue seems to be with your desired file name convention yyyy-mm-dd--seqn4 having gaps. If this is your only issue with PS, you can achieve this without using other programs.
I often do a second round of culling so I can expect some gaps. When I do an initial cull, I often delete out ten or even twenty images. With my Nikon D3, I can shoot either five or nine frames a second, and I often do that for action subjects just to get the right moment. The D3 holds two memory cards, so I can shoot over 600 shots before I need to unload images from a card. (I use a Hyperdrive so I can do that in the field.) So you can see that I follow the "spray and pray" approach. This is a complete turnaround from my Kodachrome days, when every shutter click cost me 50 cents US. So sometimes I need to do a drastic initial cull. I am a railroad enthusiast and I often shoot fast-moving trains.
My workflow ends up with my files renamed based on the Head Line plus a sequence. I also like the sequence to have no gaps even when I cull my dud photos. This is similar to what you desire and you could use my method or a variation of it.

The way I achieve my sequence number without gaps is to import the photos directly into PS keeping the original file names from the camera. I then go through and view every photo in PS rating, cataloguing and culling as required. The last thing I do is run a rename script (which I copied from the forum years ago and modified to meet my needs and then fixed with Herts help a couple of times as things changed in different PS releases) in Batch to rename the files to my desired name including the sequence. I suspect, you could even get away with a simple rename (Operations, Rename) and not even use a script. (I could also use a simple rename rule but I prefer the script as it is intelligent and it copes with renaming the photos over and over and still giving the desired result. The simple rename rule is perfect if I use it once, but doesn’t work correctly if I use it a second time on the same photos.)
I guess I would like to see your script. I could always use it even after doing an import with rename.

I like this workflow as I can easily see which photos have been completely catalogued just by their filename without having to use colour labels or similar. (I get behind in my cataloguing and this helps me to not lose uncatalogued photos.)

If this workflow is not to your desire, another option is to import into PS with your rename rule adding the sequence. Do your cataloguing and culling in PS and then run a rename script in PS to close up the sequence gaps. This script will not be too hard and I am sure those on the forum much better at scripts than me will be able to assist with this if this is what you require.

Food for thought anyway...
Interesting ideas.

I've been using Photo Supreme less than a year. I also use Lightroom. I'm still evolving my workflow.

Phil
Photo Supreme user
Home built i7 3930, 32 GB RAM, Win 10 Pro 64, latest version of Photo Supreme 3, Lightroom 6 and Photoshop CS 6 (perpetual licenses)
gcorbin
Posts: 110
Joined: 21 Aug 06 11:31
Location: Brisbane

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by gcorbin »

My rename script to rename photos based on Headline followed by a sequence number is here.
http://forum.idimager.com/viewtopic.php ... 91#p113597
It is not what you require but you can have a play to see the power of the scripting functionality. It allows you to do anything you require if you can write a script. If you replace the photo Headline in my script with the photo date, it will probably do what you require.

As I said previously, I use the rename script after I have finished all the cataloguing and culling. If I do stuff up and have to cull after renaming, I can select the photos which need renaming to close the gap left by the cull and run the rename script again. This will close the gap. I do this so infrequently, I haven't tried to make the script more intelligent and make the script work out which photos need renaming so I can just rename all photos and let the script work out which ones it actually needs to rename.

If you haven't played with scripts, I believe it is the most powerful feature of PS, but the most under used and under appreciated. With scripts, you can automate almost any task to automate your workflow just the way you need. This is something almost no other program delivers but due to lack of documentation, almost no one uses it in PS which is a real pitty. It is a total waste.
gcorbin
Posts: 110
Joined: 21 Aug 06 11:31
Location: Brisbane

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by gcorbin »

Alright. I decided to get back into scripting and try to help Phil.

First, I updated my rename script which renames photos to "Headline (sequence)" so that it intelligently renames and only renames if necessary and closes up any gaps it finds. It is now safe to run this rename script over and over and still gives the correct result.

Code: Select all

const
  StartNumber = 1;  // First Image Number
  NumberLength = 3; // Number of digits in number string
var
  FileNameNoNumber: WideString; // The filename based on headline using no unique number extension
  HeadlineStr: WideString;

    function IsNonImage (AFilename: String): Boolean;
    var
      AExt: WideString;
    begin
      result := False;

      AExt := WideUpperCase (WideExtractFileExt (AFileName));

      case AExt of
        '.THM', '.XMP':
          result := True;
      end;

    end;

   function IncrementFileNumber: Integer;
   var
     FileNumber: Integer;
     FileName: WideString;

   begin
     if IsNonImage (ImageItem.Filename) then begin
       // Use the number of the last image
       result:= ReadFromRegistry ('Scripts\IncFileNumber', 'LastNum', StartNumber);
     end else begin
        FileNumber:=StartNumber-1;

        // Find the next nonexisting filename
        repeat
           FileNumber:=FileNumber+1;
           FileName:= WideIncludeTrailingBackslash(ImageItem.FilenamePath) + StrTran(HeadlineStr,'/','_') + ' (' + AddLeadingChars (IntToStr(FileNumber), '0', NumberLength, False) + ')' + ImageItem.FilenameExtension;
        until (WideFileExists(FileName)=False or AnsiStrIComp(FileName,ImageItem.Filename)=0);

        WriteToRegistry ('Scripts\IncFileNumber', 'LastNum' , FileNumber);
        result:=FileNumber;
     end;
   end;


   //HeadlineStr := '%ImageName';
   HeadlineStr := ImageItem.XMPValue('photoshop:headline');

   // Is there a headline?
   if length(HeadlineStr)=0 then begin
      // No. Keep filename
      result:=ImageItem.Filename;
   end
   else begin
     result:= StrTran(HeadlineStr,'/','_') + ' (' + AddLeadingChars (IntToStr(IncrementFileNumber), '0', NumberLength, False) + ')' + ImageItem.FilenameExtension;
   end;
Next, I decided to change the script to use the photo date as required by Phil. Here is the script I created.

Code: Select all

const
  StartNumber = 1;  // First Image Number
  NumberLength = 4; // Number of digits in number string
var
  FileNameNoNumber: WideString; // The filename based on headline using no unique number extension
  HeadlineStr: WideString;

    function IsNonImage (AFilename: String): Boolean;
    var
      AExt: WideString;
    begin
      result := False;

      AExt := WideUpperCase (WideExtractFileExt (AFileName));

      case AExt of
        '.THM', '.XMP':
          result := True;
      end;

    end;

   function IncrementFileNumber: Integer;
   var
     FileNumber: Integer;
     FileName: WideString;

   begin
     if IsNonImage (ImageItem.Filename) then begin
       // Use the number of the last image
       result:= ReadFromRegistry ('Scripts\IncFileNumber', 'LastNum', StartNumber);
     end else begin
        FileNumber:=StartNumber-1;

        // Find the next nonexisting filename
        repeat
           FileNumber:=FileNumber+1;
           FileName:= WideIncludeTrailingBackslash(ImageItem.FilenamePath) + HeadlineStr + AddLeadingChars (IntToStr(FileNumber), '0', NumberLength, False) + ImageItem.FilenameExtension;
        until (WideFileExists(FileName)=False or AnsiStrIComp(FileName,ImageItem.Filename)=0);

        WriteToRegistry ('Scripts\IncFileNumber', 'LastNum' , FileNumber);
        result:=FileNumber;
     end;
   end;


   //HeadlineStr := '%ImageName';
   HeadlineStr := FormatDateTime('YYYY-MM-DD',ImageItem.PhotoDate) + '--';

   result:= HeadlineStr + AddLeadingChars (IntToStr(IncrementFileNumber), '0', NumberLength, False) + ImageItem.FilenameExtension;
It almost works, but I have done something really dumb which is so obvious I just cannot see it which means the photo ends up with two extensions. ie. YYYY-MM-DD--seq.JPG.JPG

I cannot see what I have done wong but one of the script experts should be able to find my error very quickly. Any suggestions?
Hert
Posts: 7870
Joined: 13 Sep 03 6:24

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by Hert »

Code: Select all

const
  StartNumber = 1;  // First Image Number
  NumberLength = 4; // Number of digits in number string
var
  FileNameNoNumber: WideString; // The filename based on headline using no unique number extension
  HeadlineStr: WideString;

    function IsNonImage (AFilename: String): Boolean;
    var
      AExt: WideString;
    begin
      result := False;

      AExt := WideUpperCase (WideExtractFileExt (AFileName));

      case AExt of
        '.THM', '.XMP':
          result := True;
      end;

    end;

   function IncrementFileNumber: Integer;
   var
     FileNumber: Integer;
     FileName: WideString;

   begin
     if IsNonImage (ImageItem.Filename) then begin
       // Use the number of the last image
       result:= ReadFromRegistry ('Scripts\IncFileNumber', 'LastNum', StartNumber);
     end else begin
        FileNumber:=StartNumber-1;

        // Find the next nonexisting filename
        repeat
           FileNumber:=FileNumber+1;
           FileName:= WideIncludeTrailingBackslash(ImageItem.FilenamePath) + HeadlineStr + AddLeadingChars (IntToStr(FileNumber), '0', NumberLength, False) + ImageItem.FilenameExtension;
        until (WideFileExists(FileName)=False or AnsiStrIComp(FileName,ImageItem.Filename)=0);

        WriteToRegistry ('Scripts\IncFileNumber', 'LastNum' , FileNumber);
        result:=FileNumber;
     end;
   end;


   //HeadlineStr := '%ImageName';
   HeadlineStr := FormatDateTime('YYYY-MM-DD',ImageItem.PhotoDate) + '--';

   result:= HeadlineStr + AddLeadingChars (IntToStr(IncrementFileNumber), '0', NumberLength, False);
   
This is a user-to-user forum. If you have suggestions, requests or need support then please send a message
gcorbin
Posts: 110
Joined: 21 Aug 06 11:31
Location: Brisbane

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by gcorbin »

Thanks Hert, but this does not fix the issue. The issue is just bizzare.

If I add the code
result:='Fred(001).JPG';
to the end of my 'rename file from headline' rename script, it renames the file to Fred(001).JPG as expected.

If I add the same code to the end of the 'rename File to date sequence' rename script, it renames the file to Fred(001).JPG.JPG, not as expected. I rebooted my PC and the result is still the same. I did a save as on the working script and then pasted the code from the non-working script and now the new script gives the expected result to this simple rename. It seems that the non-working script file contains ghosts and is just doing bizare things.

I now have a new rename script which is now doing reasonable things, not working fully yet, but at least reasonable. I will restart trying to get the script working correctly for Phil.
gcorbin
Posts: 110
Joined: 21 Aug 06 11:31
Location: Brisbane

Re: Fast Picture Viewer Pro for fast cull before import into PSu?

Post by gcorbin »

Good news Phil. I have the rename script working correctly.

This script will rename any selected photos to the format YYYY-MM-DD--sequ. If files of this format already exist in the directory, the renamed file will use the next available sequence. If the file name is already of the correct format, the file will not be renamed unless a lower sequence is available when it will rename to the lowest free sequence number (close gaps). This script will enable you to close gaps caused by your culling without having to use any external programs.

Here is the working script.

Code: Select all

const
  StartNumber = 1;  // First Image Number
  NumberLength = 4; // Number of digits in number string
var
  FileNameNoNumber: WideString; // The filename based on headline using no unique number extension
  HeadlineStr: WideString;

    function IsNonImage (AFilename: String): Boolean;
    var
      AExt: WideString;
    begin
      result := False;

      AExt := WideUpperCase (WideExtractFileExt (AFileName));

      case AExt of
        '.THM', '.XMP':
          result := True;
      end;

    end;

   function IncrementFileNumber: Integer;
   var
     FileNumber: Integer;
     FileName: WideString;

   begin
     if IsNonImage (ImageItem.Filename) then begin
       // Use the number of the last image
       result:= ReadFromRegistry ('Scripts\IncFileNumber', 'LastNum', StartNumber);
     end else begin
        FileNumber:=StartNumber-1;

        // Find the next nonexisting filename
        repeat
           FileNumber:=FileNumber+1;
           FileName:= WideIncludeTrailingBackslash(ImageItem.FilenamePath) + HeadlineStr + AddLeadingChars (IntToStr(FileNumber), '0', NumberLength, False) + ImageItem.FilenameExtension;
        //until (WideFileExists(FileName)=False or AnsiStrIComp(FileName,ImageItem.Filename)=0);
        until (WideFileExists(FileName)=False or WideCompareText(FileName,ImageItem.Filename)=0);

        WriteToRegistry ('Scripts\IncFileNumber', 'LastNum' , FileNumber);
        result:=FileNumber;
     end;
   end;


   //HeadlineStr := '%ImageName';
   HeadlineStr := FormatDateTime('YYYY-MM-DD',ImageItem.PhotoDate) + '--';

   result:= WideIncludeTrailingBackslash(ImageItem.FilenamePath) + HeadlineStr + AddLeadingChars (IntToStr(IncrementFileNumber), '0', NumberLength, False) + ImageItem.FilenameExtension;
Post Reply