Optical calibration, bathymetry, water column correction and bottom typing of shallow marine areas, using passive remote sensing imageries
busy? see 4SM slides
The 4SM workstation

1 - NO NEED for field data, nor for atmospheric correction
2 - this is demonstrated in this website, using a variety of hyper/multi spectral data
Requirements are
1 - homogeneous water body and atmosphere
2 - some coverage of optically deep water
3 - some coverage of dry land
Problems are
1 - the precision on estimated depth is found wanting, because the noise-equivalent change in radiance  of accessible data is too high for shallow water column correction work 
2 - radiance data should be preprocessed by the provider at level 1 in order to improve S/N ratio
3 - exponential decay: the deeper/darker the bottom, the poorer the performances
I keep digging
until suitable data
become available
Your comments are invited                            See you on 4SM blog

intel_x86-64    Core i7    
Windows 10
Image result  

For workstation installation, refer to tarawa tutorial

I entirely depend on FWTool/OpenEV. 
FWTools is an age-old 32 bits executable RG/GIS image viewer.
It still runs on 32 bits Linux.
  • My workstation: from 1999 to 2014: I used Toshiba Satellite laptops.
    • then I moved to MSI GS70 64 bits Intel x86_64 laptop: Intel Core I7 2.13 GHz, 16 GB RAM, 17" screen 1920*1080 (16:9, full HD).
    • In march 2018, I moved to a ASUS ROG STRIX 17" laptop.
  • My operating system: Windows 10/Oracle VM virtual box, 32 bits Ubuntu 16_LTS 32 bits/Gnome/bash.
  • 4SM code is proprietary ; it is written and compiled C.
  • 4SM system calls: 4SM calls some executables or Linux commands
    • GMT: gmtset , psbasemap, pstext , psxy, and psscale: 4SM writes some scripts which call a few modules of GMT from U. of Hawaii (please note that GMT may be installed using Ubuntu's Synaptic Package Manager). These executables are included in the 4sm.calls.zip zipfile
    • shp2text: using this executable, 4SM converts shapefiles to textfile SHP.txt, for use with the
    • wget, gv and cpuid: install them using Ubuntu Software Center
      • gv: default PostScript viewer in 4SM. If you use another viewer, you have to place a -Calls/epsviewer_yourviewer argument in your commandline
    • firefox: default browser in 4SM. If you use another browser, you have to place a 
    • gedit: default text editor in 4SM. If you use another texteditor, you have to place a 
    • chmod, rm, mkdir, dir, cp, zip, bzip2, whoami come with the Linux distribution
    • cpuid: if you want to become a superuser of 4SM
    • wget: if you want to download/update a mirror copy of 4SM website on your computer/network
  • Compiler: 4SM is compiled under Linux/Gnome/bash: " gcc -lm -w -m32 -g 4SM.c -lm -o 4SM"
  • Image format: image.pix from PCIgeomatica, band-interleaved, preferably file-interleaved.
  • Image preparation and display:
    • I formerly used ImageWorks and EASI/PACE from PCI .
    • Since 2005, I only use OpenEV FWTools for import/export, image display and vector activities.
  • GUI: I would like to develop a GUI with Qt Designer or GLADE in order to manage the 4SM command line.
  • This full HD screen display shows
    • under Oracle VM Virtual Box running Ubuntu 32 bits
    • my XTERM terminal as a backdrop
    • the tarawa-subset tutorial command line script,
    • the OPENEV display of the tarawa-full.pix image, complete with georeferencing
    • Google web browser under Windows 10
  • This demonstrates that the OPENEV solution still has a future,
    • and it costs nothing!

please compile and run 4SM 
  under Ubuntu 16 LTS 32 bits 
  gcc -lm -w      -m32 -g 4SM.8.07.c -lm -o 4SM.8.07
Write 4SM in python?
  • "system programming languages (like C) are well suited to building components where the complexity is in the data structures and algorithms"
  • "scripting languages (like python) are well suited for gluing applications where the complexity is in the connections"
    • "my conclusion: keep 4SM in C, which is "a system programming language"
  • please read http://webcem01.cem.itesm.mx:8005/s201513/tc2026/scripting_xxi.pdf
    • Does the application implement complex algorithms or data structures?
      • I think probably YES
      • "stratified" waters over the visible range makes for a fairly complex description of diffuse attenuation properties
      • 4SM makes good use of dynamic memory allocation, and of structure data type
    • Does the application manipulate large datasets (e.g. all the pixels in an image) so that execution speed is critical?
    • Are the application's functions well-defined and changing slowly?
      • I think YES: took me 23 years!!
    • Is the application's main task to connect together pre-existing components?
      • I think NO, certainly NOT the main task
      • system calls to pre-existing gv, shp2text, or OpenEV are very simple and effective in C
    • Will the application manipulate a variety of different kinds of things?
      • I think NO
    • Does the application include a graphical user interface?
      • NO: entirely controlled by a powerfull and well structured command line
      • GUI not needed actually;
      • although much desired/demanded by lazy would-be practitioners: can wait!
    • Does the application do a lot of string manipulation?
      • NO, just a few for building output file names, and for deciphering command line
    • Will the application's functions evolve rapidly over time?
      • I think NO
      • after 23 years, all main features have been identified and implemented
      • catters for multi/hyperspectral imageries
      • catters for various pixel sizes
      • catters for very large images
    • Does the application need to be extensible?
      • I think NO, for the years to come
      • already does a lot
      • covers all image formats and ground sample distances
      • does both the optical calibration and the raster processing
      • does the deglinting, pan sharpening, smart smoothing, model inversion, and bottom typing
      • runs and displays spatial and spectral profiles