Image Surfer Pro User Manual

Understanding How Segments Merge

Every time new URL references are added to a fusker collection by any automated process fusker trees are merged. This includes anytime the Process Page button from Image Surfer Pro toolbar button is used, any time the URL Capture Bar is used, and anytime you choose Merge from the File Operations menu.

Merging starts at the top of the fusker tree with the Collection segment and works its way down each branch of the tree from top to bottom in order pairing segments which fall at the same level on the same branch of the tree.

The merger process consists of 3 steps taken at each segment level:

  1. Match up the level of "Roll Up"
  2. Determine if segment information can be merged
  3. Absorb child segments

Matching The Roll Up

Before we can determine if two segments can merge, we must first make sure they contain information about a similar portion of the fusker tree. To do this we need to match the number of directory branches contained in each segment. It may be necessary to Split or Roll Up in order to make an accurate comparison. This is done by counting the number of directory markers (i.e. "/") present in both segments then causing the new segment to either split or roll up the correct number of times to match the number of "/" markers.

The structure of the fusker tree being merged to the existing fusker tree is changed by this process. which makes the merger process Directional. If you merge two fusker collection files the result may be different based on which file is loaded first and which file is merged.

An example of the directionality of the merger process can be seen in how the following trees would merge.

Generic Examples of matching the Roll Up level
In our first example our loaded tree does not have any split directories. The tree we wish to merge into our current tree has split the directory 3D_Model02 between 3D_ and Model02. Matching the Roll Up of the second tree to the first tree will roll up the split directory to create a directory segment 3D_Model02. Once this is done it is determined the directories do not match and a new branch of the tree is created.
Existing Tree Merging Three Resulting Tree
Example tree with no split directories Example tree with split directories Result tree of tree #2 merged to tree #1
If we reverse the order of the two collection files and merge the tree with no split directory into the tree which does have a split directory, we see a different result. In this case the directory 3D_Model01 is split in order to match the split directory 3D_. The remaining portion of the directory (Model01) doesn't match an existing branch of the split direcotry so is absorbed as a new branch below the split directory.
Existing Tree Merging Three Resulting Tree
Example tree with split directories Example tree with no split directories Result tree of tree #1 merged to tree #2

This may seem quite complex, but in most cases you will find the results are actually quite intuitive. It may still be possible to create tree branches where the merger can't reconcile the roll up levels - in which case the two tree structures may both exist in some form within the merged tree even if a human could have made a better merger of the trees. In such cases you can manually manipulate the trees to have the structure you wish.

Determining A Merger

While the general merge process is similar for each segment type, they all behave slightly differently and will combine with only segments of a similar type. If the information in the merging segment can not be combined with the existing segment the segment is passed back up to the parent for comparison with other branches or absorption. The following table describes which segment types will combine.

Segment Type Can Merge With Condition Result
Collection Collection Always You choose which set of data to keep, the merging tree branches are absorbed
Path Paths Only if both text and protocol match Exact matches combine the lower branches
Directory Directories One segment must contain completely and exactly the other segment's information. The most complete set of information is retained and the child segments of the merging tree are absorbed. If one or both of the segments are fusked, the larger fusk is maintained

The directory or split directory which matches the most characters of the merging segment will be chosen as the "best" match. This allows identical matching regardless of the order of the segments in the current fusker collection.
Split Directory Split Dir
Directories
Files
The information in the existing segment must be completely contained in the merging segment. There may also be additional information in the merging segment which can be used to form a child segment. The most complete set of information is retained. If one or both segments are fusked, the larger fusk is retained. Any additional information contained in the merging segment will be used to form a child segment for absorption.

The directory or split directory which matches the most characters of the merging segment will be chosen as the "best" match. This allows identical matching regardless of the order of the segments in the current fusker collection.
File Files of same type File Segments combine only with other files of the same type (Images with Images etc.). Files combine based on the {Auto combine individual files into fusked files} User Configuration for their file type. If this configuration is enabled, individual file segments will be combined into an optimized fusked file segment. Otherwise individual files will be listed individually under the same directory or split directory segment.

When file segments are merged because the {Auto combine individual files into fusked files} configuration is enabled, the entire text (both filename and extension) of each file referenced by both segments is first formed into a single list fusk. During the formation of the list fusk, duplicates are removed and what remains is a list of each file at the destination path referenced by both of the original file segments. The Optimization Process is then applied to the newly created fusked segment.

When video file segments merge the resulting video segment will have only one Poster Image. If the existing video segment already had a poster image, that image will remain. If not, the poster image (if any) of the merging video segment will be used. The Text Description of frames and pages are handled in the same way as is the Sizing Information of frame segments.

Absorbing Child Branches

The process of absorbing the child branches of the merging segment is an iterative and recursive process. This means we will ask each of our child branches if it could merge with each of the child branches of the segment we merged with. Each child responds with how well it could merge with each of the incoming children and the "Best" matches are made. Once one of our child segments is combined with the information from the merging segment's child, the process will continue down the tree as the next level of child segments are matched up.

Each of our child branches will be given the opportunity to combine with a child branch of the merging segment. The quality of matches is determined by the number of matching characters such that the order of the segments in each tree will not matter unless there are duplicate segments in the existing fusker collection - in which case the first of the duplicates will always be chosen.

Related User Preferences:

Image of User Preferences Dialog with the General tab selected - nothing highlighted Image of User Preferences Dialog with the Processing tab selected - nothing highlighted Image of User Preferences Dialog with the Processing tab selected - nothing highlighted Image of User Preferences Dialog with the Views tab selected - nothing highlighted
Image of User Preferences Dialog with the Images tab selected - Auto combine files highlighted Image of User Preferences Dialog with the Videos tab selected - Auto combine files highlighted Image of User Preferences Dialog with the Frames tab selected - Auto combine files highlighted Image of User Preferences Dialog with the Pages tab selected - Auto combine files highlighted


Images Tab: Auto Optimize
Image segments within the same directory structure will be combined into an optimized fusked image segment during the merger process if the {Auto combine individual images into fusked images} configuration is enabled. NOTE: this will only combine image segments from the merging collection. If your existing collection already has individual image segments separated in directories those will not be combined.

Videos Tab: Auto Optimize
Video segments within the same directory structure will be combined into an optimized fusked video segment during the merger process if the {Auto combine individual videos into fusked videos} configuration is enabled. NOTE: this will only combine video segments from the merging collection. If your existing collection already has individual video segments separated in directories those will not be combined.

Frames Tab: Auto Optimize
Frame segments within the same directory structure will be combined into an optimized fusked frame segment during the merger process if the {Auto combine individual frames into fusked frames} configuration is enabled. NOTE: this will only combine frame segments from the merging collection. If your existing collection already has individual frame segments separated in directories those will not be combined.

Pages Tab: Auto Optimize
Page segments within the same directory structure will be combined into an optimized fusked page segment during the merger process if the {Auto combine individual pages into fusked pages} configuration is enabled. NOTE: this will only combine page segments from the merging collection. If your existing collection already has individual page segments separated in directories those will not be combined.

Differences in Free and Full Versions

Screen capture of free version limitation dialog Merge:
The Free Version of Image Surfer Pro does not support the merging of fusker collection files. However, with each use of the Process Page button from Image Surfer Pro toolbar button or URL Capture Bar a new tree is formed from the associated URL(s) and the new fusker tree is then merged into the existing tree.

Screen Capture Examples

Sample screen capture after Processing the Page

The following examples may be of use in understanding how fusker trees are formed when adding a URL reference to your collection and how the new tree is then merged with your existing fusker tree.