wind solar hybrid header

enlarged image product viewport
Loading Image and Map-Image

Sidewinder desert snake photo editor TM

Link: Other documents and programming    Link: Nicephotog's photostream (

The following image comes from a site in mid coastal NSW , it balances alike a colour image more than a tinted image. If you look at the toning of the flora around it is too intricate to tint, so perhaps was done with a cumbersome 19th century colour process. The final balance alike some bad exposures and chemistry is nowhere near perfect but AKA close enough to appear correct.
There were around three colour photography processes by the end of the 19th century , the first was short lived experimental only first demonstrated somewhere around 1840 (early 19th century). Most had the problem of stabilising the image after exposure and would deteriorate after only hours of low light levels when viewed.
The first commercial colour process was just after the turn of the century to the 20th century around 1910 (early twentieth century).

  Bulli Colliery pit Circa 1870  

  The page the image comes from (process not stated but probably assumed tinted)  

New Version : (Jun-5-2017) Sidewinder Photo Colour Balancer "F3-C17" EN_us (x-platform) SIMPLE BASIC DIGITAL PHOTO EDITOR (req. JRE 1.5.0_07 or newer)
"Quick colour board" image choice set system for colour balance requires 6Gb of RAM to mainly be fast enough , and safely operate (will operate 4gb and above - disregard warning message in this page).

Sidewinder now has normal(bright dark) contrast algorithm , also has finer control increments for for gamma / (*1) contrast-gamma / (*1) normal-contrast

(*1) About the new normal contrast system !
The new contrast system requires the user to re-set the brightness or darkness of the photo after using it, so in some way (so to say) its a "manual" contrast.
The "gamma contrast (radiance)" system is not as easy , and not suggested as any more than an option if it works (it too requires user to re-set the photo brightness).

Link: Sidewinder Desktop Intergration in Linux

Link: Sidewinder F3-C17 DOWNLOAD (Debian compiled 1.5.0_07 - ignore the text board message about 1.8.0 Slackware on this backward compatibility version)

Link: Sidewinder F3-C17 DOWNLOAD (Slackware compiled 1.8.0_20)


EXAMPLE: F3-C17 Normal contrast "special process" for under-exposure - normal contrast down followed by Exposure(gamma up with finer increment controls)

EXAMPLE: F2-C17 Gamma-contrast down "special process" followed by Exposure gamma up(coarse increment controls)

EXAMPLE: Original under-exposure [ It shows the Gamma-contrast system (See the Sidewinder "contrast tutorial tip" ""on this site"") is quite necessary to correct such under-exposure as this picture - neither uses both here , with F3 version it is only the finer increments allowing reasonable success , both contrasts are available in F3 ]

The photo is much more complete and easier to repair to extract the image from a bad exposure with F3-C17 finer control adjustment levels!

There are now more notches in F3 for finer colour tuning on the Gamma and Contrast.
NOTE (slight bug in F2 and F3); To activate the notch level numbers requires "mouse down button on the slider before moving it".

To achieve the same levels as F2 for some jobs such as exposure correction with the "tip" in the contrast tutorial, consider the notches have changed in this version but can be found with adherence to the difference between F2 and F3 in the below short table following for the level notch placings.


default = 1.0501
1st notch = 1.1001
2nd notch = 1.1501
3rd notch = 1.2001

default = 0.9590
1st notch = 0.9090
2nd notch = 0.8711
3rd notch = 0.8332



8th notch = 1.2001

8th notch = 0.8332



System requirements: 4GB RAM minimum (below, it does operate unwieldy but you are only "...getting away with it!!!...")
User Language Locale Keyboard - CodePage: (for common 8 bit ASCII English language charset systems) e.g. utf-8 , iso-8859-1 , windows-1252
Latest Java2 (JRE) runtime Environment ( MS-Win: ) ( Other-OS: )

Example A: Original image     Example A: F2 Post process     Link: MY BEES 2016

Link: Install Information

    Sidewinder F2 C17 screenshot     sidewinder logo     Sidewinder Linux screenshot    

[Note: Requires Java2 JRE ready on your computer , Oracle JRE 7 recommended]
-* 24 bit image Photo editing (Image Types only: *.jpg , *.jpeg , *.png , *.bmp - nb: "Alpha transparency not supported"):
-* manual colour balancing of individual colour RGB.
-* manual colour balancing of individual colour RGB and bright/dark by 16 band(brightness level) set filters (RE its' VISUAL TUTORIAL .pdf or .html).
-* Brightness/Dark balancer control uses a more accurate algorithm than most "linear numeric addition" brightening/darkening in other editors.
-* [ NOT OPERATING "UNKNOWN CAUSE though i have suspicions"] Quick colour balance by visual example "Quick colour Board".
-* Gamma/mid-tone exposure correction.
-* Gamma/mid-tone contrast System (a little manual - RE its' VISUAL TUTORIAL .pdf or .html).
-* Image resizing.
-* Preservation of EXIF data of camera images on jpeg,jpg.
-* Thumb image add or removal on jpeg,jpg.
-* Cropping by mouse or numeric text field settings.
-* Text writing on images (colour and size) (HOW TO helpfile .pdf or .html).
-* Convert 24 bit RGB image "to Black and White 24 bit RGB" (jpeg,png,bmp).
-* Rotate image 90o CCW or CW and 180o flip and Mirror flip.

PLEASE NOTE:... The Quick colour balance by visual example "Quick colour Board" mentioned above as not operable, has some type of platform problem in windows. However!, in my own x64 windows and Linux (32 or 64) architecture OS's the programs' feature pops the dialogs and commits the actions perfectly for the quick colour balance visual board.
I can only presume it is OK to use in most circumstances.

PLEASE NOTE: Old Operating Systems such as "XP" and "Vista" will potentially(but rarely) suffer image viewing failure(viewer hangs and does not open/show the image) because of antiquity of out of date JPEG decoder. Other OS's such as Linux can have the same problem but is extremely rare. So do not be too alarmed if it does not reopen, Many freeware applications for any operating system are on offer for download on the internet including up to date "viewer only" programs.
So before worrying, consider how old your programs are and also re-open the image in the Sidewinder editor to verify if there is any problem.

REMEMBER: (re above also) "There is no guarantee if your computer is below 4GB RAM to what occurs or fails", it appears most write to disc failures(of JPEG) are only RAM e.g. a 2gb computer can only quite handle (an approx.) 2000 x 1700(3.5 Mega pixel) each write with this program when writing a JPEG with thumb image meta data("thumb image" should be "no more than 120 in long-side size for risking below a 4gb computer"). Saving in PNG or BMP(has no meta data headers) is much safer if your RAM is below 4GB and your photo at or over 10 Mega Pixels (if you want your ordinary text-"meta data" on a jpeg and risk it, then save with no thumb images is much more successful with JPEG over 10 mega pixel)! -and extremely slow!

4GB of RAM or more will be successful with JPEG to 18 - 22 Mega Pixel always.

I will be modifying this program to operate in around 2GB only, but it will only be able a maximum of 16 Mega Pixel photo. This is because when the size of a photo is able to take up all available assignable memory allocation allowed, there is almost no "practical" way of managing the RAM and processes because of the immense size of the sets of images in memory space during an editing process function.
Both images and computers have become immense of RAM requirement compared to when i first started to write this program in around 2011 (The first 12 pixel cameras "standard" had become available most were 8 and 10 mega pixel). A standard computer is now at least 8GB of RAM required and photos are standard 16 Mega Pixel = (at simplest 48 MB of RAM and always 3 times this in the editor 144MB), however, required duplicates and other required stored parts created in a processes can make this as much as 1 - 2 GB of imaging apart the instructions and OS and its services and their reserves of memory space to operate e.g. 2GB of RAM is really not enough!!!

Please read "8. Text insertion" in the HOW-TO Help document, text onto image is minimally supported and should only ever be the very last action before saving the photo.

In an ordinary editor the addition system in brightening shoots the pixel colours to a white speckle haze far too quickly and distorts the colour ratio in the pixels(whether brightening or darkening) by as much as 5 to 10 on two of the pixels' colours with just one action to commit called!, and, upon as much as 50 percent of the images' pixels usually. Sidewinders system does not, it requires around 10 actions before the pixels are mildly out somewhere between 3 to 5 from double precision floating point ratio remembering calculations!

Sidewinder pixel bright dark white calibration graph

Whats here for Linux: Screenshots , About the application in Linux , How to install java to your Linux machine , How To install and configure the JRE , How To install and run the application. Final JRE configuration with $PATH variable.

NOTE: To view digital photograph EXIF data on your JPEG file you can right-click on the file in your OS and open its "properties" menu tab, > summary > advanced

Linux file-properties tab (Debian - Gnome Desktop) showing EXIF picture file data.
Linux file properties tab IMAGE tab

Link: Sidewinder Linux Information


Link: (1) Sidewinder Photo Colour Balancer GUI Visual TUTORIAL for "Contrast operation"

Link: [1] Sidewinder Photo Colour Balancer GUI Visual TUTORIAL for "Contrast operation" (application/PDF)

Link: (2) Sidewinder Photo Colour Balancer GUI Visual TUTORIAL for "16 Band RGB Filter operation"

Link: [2] Sidewinder Photo Colour Balancer GUI Visual TUTORIAL for "16 Band RGB Filter operation" (application/PDF)

Link: Sidewinder Processing Examples (PDF) DOWNLOAD

Link: (3) Sidewinder Photo Colour Balancer HOW TO page 22-09-2014 (updated Sep 28, 2014)

Link: [3] Sidewinder Photo Colour Balancer HOW TO (application/PDF) (updated Sep 28, 2014)

Link: Sidewinder Linux Information

Link: DOWNLOAD F2-C17 (19-10-2014) SideWinderPhotoColourBalancer (zip)

NOTE: In a normal computer(4GB and above) When you click the White(brightening/darkening) button or the Gamma/mid-tone button, with a 16 mega-pixel photo, the Sidewinder editor is doing
48 million, double precision, four decimal place, floating point arithmetic equations, in under 10 seconds,
and 64 million of these if you click the button for Contrast!



Q1: "Find the tracheotomy and what is the person "called" that has the tracheotomy"?

Q2: What is the professional occupation used as a prefix on a name, spoken to a retarded person (DD) "to describe the idea of carefulness and pain prevention" by memory arousal?

Q3: Although the incident was not shown in the sketch, Which character had to sit in front of a mirror for 24 hours at gun point talking to himself constantly why he should not bother people whom cannot read and write because there is "only one "letter" they even know and can spell" and the "illiterate" is divided whether it is "a letter or symbol" because talking with his friends the only point they can agree on is a symbol is something you "hit with a hammer to make noise" and "a letter is something you read" and if anything would help attaching that letter or symbol to people that ask them too complicated questions that mean nothing, wasting their time, and sums up the answer for all anyone would know after taking up that much time to achieve nothing by bothering them with such detail?


F1 is pre-tuned by Australian stout drinkers (Anecdote: That is how C17 is derived on the version - by the platform executable for either Win or Linux being the 17th attempt i managed to compile it with various troubles including the C compilers settings whether Dev++ or gcc i was skunked both times(for the platform) i sat down to do that because it's only around 20 lines to make one - but also around four hours), is about all common here with this, but you can get an "F".

While 1.6.0_22 compile is thought better by newer JDK/SDK - JRE version , the program does not use "generics coding"
so it appears 1.5.0_07 responds better and more reliably, it also gives backward compatibility when dumping it into your computer to use instantly.

* Now it operates, Next project may be fromCIEXYZ() and D50 to allow instant conversion from various file format to sRGB ColorSpace for the editor.
I had hoped to get around to DCT(Discrete Cosine Transformation) and generating quantization Tables for the compressor but there is no good place to do that.

[Version F1 meta-fix with JPEG thumb write while no standard EXIF image data and a thumbs removal system]

If you want to place a thumb image on a PNG or BMP they do not allow it in that file type.

(NOTE: Reasonably for all other purposes except the thumb image checkboxes, FO and B&W and EBLA5, screenshots are acceptable for F1-C17)
Link: Screenshot F1-C17

Here is an example of the type of file for Sidewinder:

Link: Original unedited (Fraser Island coastal beach overcast day)
Link: Sidewinder F1-C17 edited (Fraser Island coastal beach overcast day)

Original location:

Output Board information:

=== filename: 43319000.jpg ===
=== abspath: C:\43319000.jpg ===
=== format: JPEG
image width: 2592
image height: 1944
Number of ThumbImages: 0
Balancer List Control: RED :DOWN : 5
Balancer List Control: RED :DOWN : 5
Balancer List Control: RED , GREEN , BLUE -> (WHITE) :DOWN : 10
::HueBoard:: - CONTRAST SET: UP 1.10 (opposite- Down-Setting: 0.909)
Balancer List Control: RED , GREEN , BLUE -> (WHITE) :DOWN : 30
Balancer List Control: RED , GREEN , BLUE -> (WHITE) :DOWN : 10

Take note of the fact brightness was taken down 40 after use of "::HueBoard:: - CONTRAST SET: UP 1.10 (opposite- Down-Setting: 0.909)" and there is no actual image loss after changing to the different process in this editor(from contrast - to next process - bright/dark). This is what is meant by ..."So, i built this program to hold the original negative or positive out of bounds values of each pixel and reuse them as the boundary of the usable valid numeric image data moved in again for pixels that editing placed back into correct computer image value"... , and also "calibration backup array".

I did another version of this image later and used the image as a test because the editor while debugging didn't ever like the image to save it.
It goes...
blue down 15, green down 5, red down 3, contrast up 1.1, white down 50.

Here is a rework of it and the
Link: "Sidewinder editor actions TXT ouput"
Link: Re-processed Colour Image   
Link: Converted Re-processed B&W Image

Here is another good example...

Link: Original unedited (remote Queensland bush railway crossing)
Link: Sidewinder F1-C17 edited (remote Queensland bush railway crossing)

Original location:

Output Board information:

=== filename: 93634890.jpg ===
=== abspath: C:\93634890.jpg ===
=== format: JPEG
image width: 4608
image height: 3456
Number of ThumbImages: 0
Balancer List Control: RED , GREEN , BLUE -> (WHITE) :DOWN : 30
Balancer List Control: BLUE :DOWN : 5
Balancer List Control: BLUE :DOWN : 5
Balancer List Control: BLUE :DOWN : 5
::HueBoard:: - GAMMA SET: UP 1.20 (opposite- Down-Setting: 0.833)

Link: DOWNLOAD F2-C17 (19-10-2014) SideWinderPhotoColourBalancer (zip)

TIP: You only need ONE thumb image on a photo (While there are EXIF blocks carry more info it is not a point to have more than one thumb. The editor will repaint it on saving.)

The following problem in FO and previous versions of image write failure coupled with thumb image data has been corrected and fix versions can be obtained (downloaded). There is more to dig into to find subtle faults since the thumb system was one of the most attacked by power outage and other forms of computer crash.
Link: (TESTS) Original pic - one thumb image :Canada - Late Evening picture
Link: (TESTS) Treated Color - more Thumbs : Canada - Late Evening picture
Link: (TESTS) Black and White Convert in JPEG same extra thumbs: Canada - Late Evening picture

Note: IF! the GUI does not show a jpeg image when you open it the chances are it is not simply a 24 bit type.
Also, As stated elsewhere, rotating your image for viewing or editing in Sidewinder does not lose image information, and when the position needs to match the original data, simply rotate the image back to its original position when it was opened, most cameras have inbuilt software and sensor to mark the "top" position of a photo.

Link: Sidewinder Photo Colour Balancer HOW TO page 22-09-2014

Link: Sidewinder Photo Colour Balancer HOW TO (application/PDF) 22-09-2014

Link: Sidewinder Processing Examples (application/PDF)

What is "Sidewinder"?
It is a true colour (24 bit , no alpha transparency channel and no alpha indicator byte) digital camera image(digital photo) editor written in Java2.
[NOT a graphics creation or paint image editor!]
note: It does have text painting on images of each line requires saving the image to hold it in place if you want to then add another line onto the image, "NEVER use JPG for test painting in this editor" only use BMP image type for text after all image quality editing has been finalised to prevent gradual quality loss if you put e.g. DD-MM-YYYY on your photos or write any other information on them.

Why it's called "Sidewinder" is because of the way it walks accross all the grains of pixel! On "two settings" , the calibrated original(used alike a co-efficient) pixel values kept on an array coresponding the editor change calculations and the allowed valid image insert pixel numerics setting specified by comparing to the validity of the calibrated originals on the calculation results array.

ABOUT: SideWinderPhotoColourBalancer:
Of origin i couldn't find a "small" or "portable" imaging program that did colour balancing of 24bit colour images. That is the least of why! , i often found that shifting above and below the required levels for the RGB in an imaging program resulted in loss of the original data settings of pixels as they ranged outside and back into the images numeric parameters. So, i built this program to hold the original negative or positive out of bounds values of each pixel and reuse them as the boundary of the usable valid numeric image data moved in again for pixels that editing placed back into correct computer image value(0 zero - to - 255 per colour Red,Green,Blue). Before learning computer programming, i learned photographic developing, C41,RA4,E6,PC30 e.t.c. , i also built my own 120mm and 35 mm colour enlarger, of this is the transfer over alike to balancing a colour photo card with film negative exposure.


DOWNLOAD F2-C17 Oct. 19th 2014 - MS-Win compiled JDK 1.5.0_07 (or 1.6.0_22 not this time)


Install Information

Note: While Sidewinder is compiled for backward compatibility in 1.5.0_07 , Sidewinder should be used in as new a JRE as possible! e.g. current Java7 or 8
[ For MS-Win32 To install ] You must have an Link: Oracle Java2 JRE (Win / Linux / Solaris / Mac OSX 10.7.3) 1.5.0_07 or newer installed

Then (for all OS's), drag and drop the application folder [ .\SideWinderColourBalancer ] (with all its' contents in structure) from the zip to the folder you want to locate it , (for Win32)then run the WSH script [ Install-Desktop-STARTER-Shortcut-Sidewinder.wsh ] in the application folder [ .\SideWinderColourBalancer ] by double clicking and it will put an icon on the current user desktop (note: see Link: Microsoft downloads WSH XP if your machine does not have WSH installed or use your Win OS install disk if it is newer than XP).

Note: for MS-Win X64, users
can start the program(the .exe starter in the folder is a win32) using a simple ".bat" file with a commandline similar to the below Linux shell script command lines but a tiny piece different of symbols.
Something like (only one line in the file - and if you have installed correct Java JRE on a previous machine restart):
javaw -classpath "C:\myfolder\for\apps\SideWinderColourBalancer\engine";. -Xms256m -Xmx768m SidewinderPhotoColourBalancer

Save the line(with the correct path to the "engine" folder edited in the above line) in a file such as "SidwinderWriggle.bat" in the "SideWinderColourBalancer" folder and mouse right-click on the ".bat" you saved and choose "Create Shortcut" then place the shortcut on your desktop and mouse right-click on the shortcut and choose "properties" and go to the panel "shortcut" and press "change Icon" and select Sidewinder32.gif from the "SideWinderColourBalancer" folder.
Double clicking on the desktop shortcut or ".bat" will run the program on MS-Win X64.

For UNIX's (e.g. Free BSD or BeOS), You can reasonably follow the Linux instructions, but I don't know the actual result , It is effectively reasonably loosened to a cross platform sizing of GUI and all that really matters in Java x-platform(things that matter are more the programmer writers' concerns , such as full path structure, System OS CR or LF(as of CRLF) and other platform specific character or defaulting data-types schemes ...e.t.c.... little things all platform specific).

Remember , UNIX(Linux) is alphabetic letter case sensitive whether a path(directory string) to a file or the file AND its' file extension! (all are letter case sensitive).

For Linux users, the ".sh" shell script must be re-edited for the paths to the application (reasonably simple , use "Gedit" or "Kate" or "Kwrite" or your favourite , or SUcommanderXer if you have that).
Remember , UNIX(Linux) is alphabetic letter case sensitive whether a path(directory string) to a file or the file AND its' file extension! (all are letter case sensitive).

If you are installing a JRE first you will need to edit your users "/etc/profile" startup script too potentially.
After editing /etc/profile , you will also require to re-start your computer to effect the changes in /etc/profile.
Read this:

$PATH if you want to set it(which you really should but be careful)

Read the two paragraphs toward the bottom of the page with headings:

"How to configure your JRE to operate in Linux"
"How to run the SidewinderPhotoColourBalancer application".

Mac OSx users can right click on the "MAIN .class" called "SidewinderPhotoColourBalancer.class"(There are others similar but specifically it must be the previous mentioned) in the "./engine folder" to create a starter from the pop-up menu(after you have Java installed).

However, if you know "Applescript" or know shell "/bin/sh" as Linux Unix you can for Mac OS write a starter or modify the sidewinder ".sh" scripts supplied.


Softpedia DOWNLOAD     Best Freeware Download site software gif     Best Vista Download     russian instructions    

Link: LINUX DOWNLOAD (5.87 MB (6,166,493 bytes)): F2-C17 SideWinderColourBalancerF2-C17(19-10-2014).zip (requires Sun/Oracle Java Runtime Environment 1.6.0 or newer)

Link: Sidewinder Linux Information


Link: More Win and Linux Screenshots

Link: Sidewinder Desktop Intergration in Linux

screenshot Sidewinder F2 C17 19th Oct 2014 recompile MS-Win Linux x-platform

Screenshot 1 Sidewinderphotocolourbalancer F3 C17 Linux Slackware KDE

Screenshot 1 Sidewinderphotocolourbalancer F2 C17 Linux  Debian Squeeze

screenshot Sidewinderphotocolourbalancer F3-C17 Linux Slackware KDE

Note: Effectively when rotating images "in sidewinder interface" there is no loss associate the image quality, image quality is controlled by the file compression system on "save as". All Sidewinder files are saved as high quality in jpg or simply png or bitmap loss-less.
Unfortunately, while Sidewinder does rotate images in the editor(If you are placing the pic in an online browser HTML display control: in Sidewinder rotate to the opposite direction e.g. if 90 deg. right looks correct then rotate it 90 deg. left then save the image - there is no "save over" system in sidewinder), i have not got around to setting the "int" for oriency from the images that carry EXIF data.
This following freeware application i found is able to correct image oriency on JFIF/TIFF types that carry the oriency EXIF data!


- no EXIF orientation integer for image TOP position settable by user or retrieved by the editor for image presentation
- no undo or backup mechanism (*will be solved sometime by project buffer and edit session activity retrieve/restore points)
- job measurement completion bar (alike a download bar) erratic and inconsistent measurement readings during some operations (mostly call scope across classes - requires breaking into callable steps of reusable methods to jump through in the main class)
- minor error message from file open dialogue swing thread on preview-file-image "thread cancellation file selected again" (construct a thread to abort on file re-selection if selected file name has changed) - You can "Disregard this Bug message for most!" It appears "machine specific" , Odd because there seems no reason for the failure on the "older type" machine in use and it had correct level JRE. Small bug with PNG, PNG is not editable because the open-file image detection if-else for 24bit image-type check shuts it off. However, You can save either a BMP(24bit) or a JPEG(24bit) type as PNG(24bit) successfully (unfortunately PNG is simply not able to be edited for the while on a few machines)!

Download : and Open in Sidewinder : Image with EXIF thumb images store blocks

The Quick Colour board is repaired now, it went to a bizarre set of computer crashes around one and a half years back of one was a blackout that lasted overnight and occurred in the middle of the night writing off edited disjointed refactored unsaved code in the editor at the time. "The greatest!" was in an internet cafe(where i normally write) and someone who was previously using the computer i was at told me he had leaved his files on disk and not restarted the machine to clear all the personal information, he simply said that after i had been using the machine for 15 minutes writing in code and simply clicked the machine restart button! Normally i use the standard buttons for colour balance so i never noticed about the quick colour boards and nobody wrote me an email error report!

A couple of things to remember!!! The QUICK COLOUR BOARD: Only open one of it each use. If you decide not to use it or when your finnished with it, SWITCH IT OFF, ONLY HAVE ONE OPEN WHEN IN USE, so if you want to use up not down for the colour balance quick board you need to switch it off and press the appropriate button to pop up the other panel, "do not have both, do not have more than one quick colour panel!".

The other is only use .jpg , .jpeg , .png , .bmp True colour (24 bit) files and these before-mentioned extensions with no alpha-channel(no transparency added).

Finally, when any process is used "wait until it finnishes AND the main image is repainted to the screen up to 5-10 seconds after process finnishes(on smaller 2gb to 6gb or older computers e.g. early P3 or older can be 30 seconds!!! and processes are slow too)".

Best Freeware Download - Best freeware downloads available everyday on one site

Link: Sidewinder Processing Examples (PDF) DOWNLOAD

Link: Sidewinder Photo Colour Balancer HOW TO page 22-09-2014

Link: Sidewinder Photo Colour Balancer HOW TO (application/PDF) 22-09-2014

Link: DOWNLOAD F2-C17 (19-10-2014) SideWinderPhotoColourBalancer (zip)

["fix on first ebla5" Internal class reboot after some tools used(subtle - well... until it occurs!) - also recompiled in 1.5.0_07 SDK for backward compatibility of JRE's ]
- "Proper Contrast algorithm" - ALSO - "contrast over-bright" has image information returned from backing array(origin calibration template) with use of bright/dark(white)!!! Various fixes!!!

[ The below "before" and "after" examples are the type of picture Sidewinder was created to handle, Manual setting camera shots that will probably require improvement because there is no other way for settings on the camera , or camera shots that were bungled in manual mode from not resetting ] Here is a picture of a pet lady(5 inches across) lived in and around the house in the past ten years, i had to put her to sleep because she gets in my bed and has caused the odd palpitations, it's simply one night i had insomnia so i was well on the way to being deceased if i didn't know where she was and i found her outside my bedroom door with one of her smaller babies. This photo is shortly before i put her to sleep with the spray can. Can't really think what came over me, i should have leaved her there until i got better but i was thinking i could forget her depending where i put the canister. Every other day its a foot away from the head up on the eve beams or 1/2 a foot away on the wall in the corridor, she all but walked into the canister by indication and her baby just sat quietly beside watching. Just a final note: They are called an "Inland Funnel web" because of the size of their fangs and their behavior when they sit up on their back four legs and hold their front four legs up and wave them or hold them alike a human hand and fingers in a curled claw grab position while lifting their fangs and head front, similar to the immensely deadly coastal Funnel Web spiders(Atrax Robusta), however, Inland Funnel Web spider venom is less toxic and only potentially could kill(and she only sits up that way rarely and when overhead on the eve beams so you only tend to notice when she unloads the venom onto the top of your head as you pass under her - makes you wonder where the dribble came from).

Here is a scenery "BEFORE" and "AFTER" photo. This was done in EBLA5 using the gamma and white(brighten/darken)RGB filters(8 of them) to accentuate the darkened parts of the shadowed background areas. You want to use a tabbed browser so you click between the three images easily and quickly to see the differences of visibility not mere enhancement.
The second "AFTER" has been done by a small tiny tweak down of contrast, and after saving the processed picture (the first AFTER photo), it would have been better again if it were done while all the process had occurred during one processing session for that image.
The fourth(skipped 3rd) is a better understanding of what leads to the enhancements and a better natural color look, it did require a tiny quantity of gamma but the bulk of it is done by filtering lifting "up" dark parts with the "white"(synonym for bright dark in the editor controls) RGB filter levels set and bringing the grass back "down" with "white" RGB filter levels set on the Hue Board.
BEFORE   PHOTO         AFTER   PHOTO         AFTER   PHOTO (2)         AFTER   PHOTO (4)RGB filter Sodomy         AFTER   PHOTO (5)RGB filter Natural

PREVIEW B&W AFTER   PHOTO B&W(4) made with new B&W converter tool and what will be either "EBLA6" or "F1" version

The following is a better start to the picture editing for the scenery shadow using this gamma contrast system. see the contrast tutorial page.
The following below is the contrast adjustment process used in the editor for this above scenery photo (AFTER   PHOTO 2016 - "no RGB applied") as a contrast and gamma inclusive adjustment.
The RGB filter adjustments can then be done with MUCH LESS freaking violence upon the photo!

Sidewinder OUTPUT TEXT:
=== filename: scenery-original.jpg ===
=== abspath: C:\Users\Administrator\Downloads\scenery-original.jpg ===
=== format: JPEG
image width: 1500
image height: 1125
Number of ThumbImages: 1
Thumb Image sizes:
thumb - 1. width: 115 - height: 86
::HueBoard:: - CONTRAST SET: DOWN 0.714 (opposite- Up-Setting: 1.40)
::HueBoard:: - CONTRAST SET: DOWN 0.769 (opposite- Up-Setting: 1.30)
::HueBoard:: - CONTRAST SET: DOWN 0.909 (opposite- Up-Setting: 1.10)
::HueBoard:: - CONTRAST SET: DOWN 0.909 (opposite- Up-Setting: 1.10)
::HueBoard:: - CONTRAST SET: DOWN 0.909 (opposite- Up-Setting: 1.10)
::HueBoard:: - GAMMA SET: UP 2.30 (opposite- Down-Setting: 0.434)
Balancer List Control: RED , GREEN , BLUE -> (WHITE) :UP : 5
Balancer List Control: GREEN :DOWN : 5
Balancer List Control: GREEN :UP : 2
Balancer List Control: GREEN :UP : 1

You can in general commit the above process 2x times (twice) to help the exposure level [see the contrast tutorial tip]


Original unedited     "Contrast-Gamma" Treated (version similar to text output info - with RGB filter balance)     Only "Gamma-mid tone"(exposure correction)

(EBLA5 and F0 write image types to disc problems)
After finally checking the API documentation by exhausting the supply of methods and object morphise calls possible, it has been found to be a subtle problem of the "new IIOImage()" constructor call morphise.
It did not accept the thumb image list defined to it as the list to use. If there are thumb images on the IIOImage object metadata it must be destroyed by overwriting "AFTER" construction with a setThumbimages method call.
Neither the compiler or the runtime environment logged any errors about it 'though the result clearly is not re-writing the thumbs or placing new thumbs on a JPEG/JFIFF image type. Technically feeding the thumb list to the new IIOImage object is an acceptable way of placing them on the object, However, not so!

There remains a more tricky issue of write with thumb image in F1-C17, However, this is due to javax.swing threading and general virtual machine runtime environment threading in the application with javax.imageio during JPEG processing. Unlike PNG or BMP JPEG is quite complex in structure for processing underneath. It causes what is showing now to be processing sequence timing mismatch but exactly where and when, also the EXIF header specification for thumb images is as much a problem of not landing to much data in high quality image onto the forward header blocks section.

Once again the jpeg header data block and thumb image size is related to the compressor used and the maximum Kb of all forward header block sections(EXIF is near proprietory with Adobe and Fuji JPEG/JFIF meta data wrapper format), Sidewinder only uses a high quality image level compression of 92% - 95% on the main image so it will not compress the thumb much either resulting in a larger thumb image file size that could over-run the forward header block total size allowed on the image specification(there is an API documentation clue to this one also apart writer writeInsert() methods getPreferredThumbnailSizes() - sometime maybe).

The following is a fix for F1-C17 "image meta data" this places camera data with or without placing a thumb image
(the previous version to "meta-fix" loses the EXIF data if no thumb image is present or placed).

It writes to disc a bit better too.

The write() method overload was simply an IIOImage ("morphis" is class constructors) "write() method overload" version, there are others also that use ImageWriteParam in the call, "and that is not strange"! because there are around 50-100 lines of code to set up JPEG write for compression and rendering settings i wrote maybe as much as over a year back, but apparently nothing was actually using it! The give-away was a method i read to try to improve it that uses constant field values (it said the ImageWriter Object(class) can be forced to use the original stream meta data, given this sets up its own parameters in my coding, and any jpeg can be decoded by any set of tables [* technical detail to NOT do - akin to an FM transmitter being heard by broadcasting on an AM frequency - the modulation width for decode/encode is too shot] , there should be no problems anywhere, again the changed write() method overload takes the imagewriterparam object i setup in my code and can take a null argument for either(completely use stream meta data or use params)), then i took a look at the write() method overloads (morphises ImageWriter has only one construction version) in the API docs.

The Above fix for F1-C17 "image meta data" appears to have been a fix inclusive for this problem, exactly how well i don't know at this stage but it seems thereabout right.....

[ WARNING - PRECAUTION - When adding a thumb image ,

always "save a finalised copy first as JPEG with no thumb image (particularly jpeg)" ,
then use the "saved editor image"(auto-re-opens into editor) to place a thumb image on a second save!

(for 99% probable success, do not exceed "150" thumb image size).

, and save the image edit process output text by copying and pasting it to a text file]

IF a crash error occurs, always switch off the editor (after getting your output text) and restart it.

How-To copy and paste, select text with mouse, then press CNTRL+C keys together, then paste into a text pad.

The fix seems to allow such as a 12 M pixel to place a thumb of 170 instantly on 1st save when finishing processing...

Get the Java JRE Runtime

Link: Download : Get the JRE for Java: Win, Solaris, Linux

Link: Download : Get the JRE for Java: Mac

Link: GET/ftp(Download a disc image and packages) A LINUX DISTRO - "flavor" (From the List on this sites' domain page)

Link: Linux Format Magazine

Link: Linux Journal

Link: Linux Magazine

Link: More Win and Linux Screenshots

About the version in Linux

First, this is the same as the windows version except the Win. files are not included to assist install and configuration simplicity.

This version has been compiled in 1.5.0_07 Linux Sun Java SDK to allow use on machines that do not see much update. While updating over internet and is a perfectly normal idea to some, it is often where viruses come from and also in this country(Australia) not particularly well serviced unless the persons bank account is well serviced.Contrary to appearance i do not use Netbeans IDE much or to write this, i use gedit,Kwrite or notepad or contex or Netbeans as required for convenience. I also compile on the command line(unix or win) in a custom application structure so putting it into an IDE is useless except the bare source file for an IDE(I prefer to know what i am doing! e.g. custom tags,JSF,JSP,http web services WSDL e.t.c.) not rely on what someone can do quickly for me - e.g. "starters .bin and unistd.h with execlp or execvp" (Debian and Suse did not have "gcc" or "g++" bundled so i had to fall back on Slackware 10.1 and with both Win and Debian i can only start Slackware with the disk using "bare.i root=/dev/hda5 noinitrd ro" because grub and Lilo are not compatible at install time at overwriting each other)which i must say had a better chance here against java LinuxStarterMotor than anything else in linux and is why it is not included in this version download for UNIX's, however the most sensible is shell scripting for the modern OS's. .

How to Install the Java JRE

Any Java JRE 1.5.0_07 or newer is suitable to run this application.
First you should have downloaded either a .bin or .sh file called SOMETHING LIKE(only)"" or "jdk-1_5_0_03-linux-i586.bin" BUT should not have SDK or JDK in the name if your simply a java application user, it should have JRE in its name.

The easiest way to install it is to place it in the directory you want , that will be in your user directory or a sub-folder of that.

A user directory is the name of the user you log into your Linux system with. While "root" is a user, root user is only required if you need to change the permissions of the file so the sub rank user can use them, paticularly if you need to install an application.

Some Distros(flavours) of Linux do not have a direct "root" user you can log in as so you must use either the "super user terminal(command line)" or use the "super user file-browser(GUI visual mouse inter face)" to change the permissions.

You may need to allow the user to "execute" the file, so you potentially need to become the "root" user to "chown" the permissions of the executable file in a terminal or superuser file browser.

When the executable JRE installer is in the folder you want it (example here /home/nicephotog/Downloads ), open your terminal ,

then issue the command alike mine here, "cd /home/nicephotog/Downloads" (note the space between CD and the path) to set the terminal "current directory in use" (the one you want to install to and execute the JRE installer in)

Then simply write"./" followed on that line with no spaces the file name of the executable e.g. "./" or "./jdk-1_5_0_03-linux-i586.bin"

You then you see text of the "license agreement" for your JRE or JDK or SDK. You must continue to press enter-key untill you are given the choice "i agree [yes no]"

Type onto the prompt "yes" if you agree to the license terms and after press "enter".

The installer will unpack into the directory the .bin or .sh executable installer is in.

But we are not done ... read next...

How to configure your JRE to operate in Linux

Your JRE needs to be recognised automatically to start java applications and applets! by issuing the command "java" on the terminal command line or by .sh shell scripts

You must now enter super user mode and open /etc/profile Linux system configuration file


Open it with either gedit or Kwrite text editor(any basic utility text tool editor like SUcommanderXer, is ok but you must be in super user mode and may need to "chown" the files and folders to the normal user).

Now go to the last line and put these("these" are my folder paths YOUR FOLDER PATHS IN YOUR MACHINE ARE WHAT YOU PLACE INTO /etc/profile) command lines ( NOTE: the first is really for JDK and SDK , ALSO the /jdk-1_5_0_03/ is SDK/JDK and for a JRE should be something like /jre-1_5_0_03/ )

export JAVA_HOME= /home/nicephotog/Downloads/jdk-1_5_0_03
export java=/home/nicephotog/Downloads/jdk-1_5_0_03/bin/java

You now have an environment variable ready for both the "terminal console" and other programs java applets to issue "java" as a simple four letter word on the command line and not the complete path after you re-login.

NEXT ALSO if you have a JDK or SDK for java but if you can find the folder path in the JRE it is worth also puting into /etc/profile

export jar=/home/nicephotog/Downloads/jdk-1_5_0_03/bin/jar

finally , save the file , logout , and restart.

NOTE: $PATH variable is a little more complex and another difficult but not too dangerous part of the top of /etc/profile lines that should be altered but not required here. Find a "Linux environment variables Tutorial".

When you finnish editing /etc/profile , save and exit the editor then logout and restart your machine.

How to run the SidewinderPhotoColourBalancer application

Put the Sidewinder application folder into a folder in your user directory by dragging and dropping it from the "ark" or some other archiver GUI interface. (note: you only need to have a JRE installed not configured into the OS system files and edit the paths below mentioned, in the commandline in "" to operates the application)

Open the file called "" and you will see this next line (is for larger computers - RAM -Xms256m -Xmx512m)...

Link: Desktop Itergration in Linux

/home/nicephotog/Downloads/jdk1.6.0_22/bin/java -classpath "/home/nicephotog/EBLA2LX/origin-SRC-EBLA2/SideWinderColourBalancer/engine" -Xms256m -Xmx512m SidewinderPhotoColourBalancer

Next would be wise to use as the command line EXAMPLE model because most computers are above 2GB now!

/home/nicephotog/Downloads/jdk1.6.0_22/bin/java -classpath "/home/nicephotog/SideWinderColourBalancer/engine" -Xms256m -Xmx768m SidewinderPhotoColourBalancer

or on a small computer(for smaller devices - RAM -Xms128m -Xmx256m) , but you may experience minor problems above 8 mega-pixel size images.

Only one line:
/home/nicephotog/Downloads/jdk1.6.0_22/bin/java -classpath "/home/nicephotog/EBLA2LX/origin-SRC-EBLA2/SideWinderColourBalancer/engine" -Xms128m -Xmx256m SidewinderPhotoColourBalancer


REPLACE THIS "/home/nicephotog/EBLA2LX/origin-SRC-EBLA2/SideWinderColourBalancer/engine" WITH WHERE YOU PUT THE APP. ALL THE WAY INTO THE APP.
WITH THE ENGINE FOLDER "/your/complete/path/to/the/application/folder/engine"
AND THIS "/home/nicephotog/Downloads/jdk1.6.0_22/bin/java" , THE FULL PATH TO THE "java" EXECUTABLE (IMPORTANT - Linux is alike any unix system, the names of files and folders are letter case sensitive)

You must use the full path to the "java" executable to be used, and the full path to and with the "/engine" folder, this is because of a small glitch in some linux versions in determining the classpath at runtime inside the program and because a suitable startermotor has not been built because of such a problem somewhere!!!

To run Sidewinder, be sure to check on your "file properties menu"(right-click on the file in the GUI) that the "" script is set as executable and all users can execute it.
Then simply click or double click on the script file and it should run.

To run sidewinder you only need to change the lines of the script as previously told but also only need a JRE installed(install decompressed from the JRE's installer "ready to be configured", however it is good practice and helpful to other java applications to configure the JRE into the OS system files apart that being the right action to commit.)

For Mac users and other UNIX distributions not Linux, to Hazard a guess, change in the, the shebang line (the first and top line of the shell script), from #!/bin/bash to #!/bin/sh also. However i do not know the /etc/profile system in those OS's or the login shells default or otherwise in use.You possibly require to write extra information using "chsh" command in the shell script. Other UNIX OS's than Linux will also require an installed JRE or JDK or SDK.

Make a Desktop convenience starter link
If you want to put a link to the in Linux on your desktop for convenience, all you need to do is drag the script icon from the /SideWinderColourBalancer/ folder and release it over the Desktop area and popup menu appears asking if you want to link the script file to the Desktop folder, select and press on "link to here" selection of the menu.

$PATH if you want to set it(which you really should but be careful)

Here is an extract of near the top of the /etc/profile Linux configuration logon startup script

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

Here is an excerpt of the lines near the top in a Linux /etc/profile
notice that PATH does not have the $ sign with it, "$" is only used "when the script wants to use the contents of the variable".
notice there are two lines with similar information in the double quotes, and each "path" in there are separated by a colon : symbol.
on the end of both lines inside the double quotes put the full path to the /bin folder of the JRE or SDK/JDK with a colon on the left but not on the end

if [ "`id -u`" -eq 0 ]; then
export PATH

redone, appears as example below

if [ "`id -u`" -eq 0 ]; then
export PATH


OR you could put after the "if fi" this...

if [ "`id -u`" -eq 0 ]; then
export PATH

export java="/home/nicephotog/Downloads/jre-1_6_0_22/bin"

For a JRE this would appear more...


Now things are tricky!!!

If i wanted to run a program in a "1_5_0_03" Java environment and i wrote a standard starter command
java -classpath "/home/nicephotog/SideWinderColourBalancer/engine" -Xms256m -Xmx768m SidewinderPhotoColourBalancer

The program would start using JAVA 1.6.0_22 virtual machine version, because, i used the "java"("expanded" environment variable) WORD on the terminal(or in a script)!!!

However, If, i wanted to start it using "1_5_0_03" Java environment version virtual machine i can say this(the absolute and complete path and file) on the terminal or in a script

/home/nicephotog/Downloads/jdk-1_5_0_03/bin/java -classpath "/home/nicephotog/SideWinderColourBalancer/engine" -Xms256m -Xmx768m SidewinderPhotoColourBalancer

and the program "will start and use 1.5.0_3" binaries.

PATH only carries the folder-paths to lookup "executables" when it finds a "word" on the command line it does not know, if it finds it in a folder in that list it then executes it...
So, i could write this into "/etc/profile" ...

export java1503 = "/home/nicephotog/Downloads/jdk-1_5_0_03/bin/java"

...and execute on the terminal prompt or a script...

java1503 -classpath "/home/nicephotog/SideWinderColourBalancer/engine" -Xms256m -Xmx768m SidewinderPhotoColourBalancer

...and my application will start using a 1.5.0_03 environment.

This is not the best idea! USE THE LATEST OR NEWEST Java2 JRE you can get or have!

SO........., why didn't all that work (IF it didn't)! ....Probably...

Because Java or particularly "UNIX(Linux) is case sensitive" and in older Java distributions the name is different for the "java" executable file!
In older Java versions, the name was "java.bin" , so you do not write "java" on the end of the full path as above, you write ".../java.bin" !
More than that, in some special versions of java the Java executables name is "Java" with a captital "J".
Always spell exactly the names on the path and the file case sensitive!

Check the .sh shell script is set on the files' properties "permissions" as "x executable"

Check the user has access to the JRE and it was install able under the "user" , it could have been put in by the administrator "root" account and the users have no privilage.
The admin account would then need to add the "user" to the group with privilages to all files and subfolders of the JRE.

Syntax error from missing a symbol or not saving the file is common (much rarer - syntax error from incorrect "page-code locale charset" save).

(note: Unless a software writer, JDK or SDK are only used by an ordinary user for "Java web servers" such as "Apache Tomcat" or "Glassfish" but more often to "interface a data-base such as MySQL from an in-house application by intra-net web server http protocol or WSDL web-service VPN").