gsoc

TwitterFacebook
Get flash to fully experience Pearltrees
4 months back, got a confirmation of my selection in Google Summer of Code 2011. It was a good feeling(Atleast I knew, that I won’t be vella this summer). I had proposed to work on Opticks -a really wonderful remote sensing software originally developed by Ball Aerospace in collaboration with US Air Force.This was my first of its kind exposure to any remotely remote sensing application, other than the ubiqutous Google Earth. http://pratikanand.com/?p=76

Google Summer of Code 2011 | | PRATIK ANAND |

https://github.com/tclarke/coan/blob/master/Importers/DICOM/DicomImporter.cpp pImportDescriptor -> setDataDescriptor ( RasterUtilities :: generateRasterDataDescriptor ( filename , NULL , 0 , 0 , INT1UBYTE , IN_MEMORY )); name = QString ( "(%1,%2)" ). arg ( pElmnt -> getGTag (), 4 , 16 , QChar ( '0' )). arg ( pElmnt -> getETag (), 4 , 16 , QChar ( '0' )). toStdString (); RasterUtilities :: generateAndSetFileDescriptor ( pImportDescriptor -> getDataDescriptor (), filename , std :: string (), LITTLE_ENDIAN_ORDER );

Importers/DICOM/DicomImporter.cpp at master from tclarke/coan - GitHub

Files: This page describes the basic RasterElement importer provided in the plug-in sampler. This is a basic importer which simulates loading from a file and provides a fixed 1 band data array.

Opticks: Creating a raster data importer plug-in

http://opticks.org/docs/sdk/4.6.0/howto_importer.html
A mong those in the parallel computation field, a common joke is "Parallel computing is the wave of the future...and always will be." This little joke has held true for decades. A similar sentiment was felt in the computer architecture community, where an end of processor clock speed growth seemed always on the horizon, but the clocks kept getting faster. The multicore revolution is the collision of this parallel community optimism and architecture community pessimism. The major CPU vendors have shifted gears away from ramping up clock speeds to adding parallelism support on-chip with multicore processors. http://msdn.microsoft.com/en-us/magazine/cc163717.aspx

OpenMP and C++: Reap the Benefits of Multithreading without All the Work

http://2011.foss4g.org/sessions/opticks-releasing-government-tool-open-source-community Opticks is an open source ELT designed for analysis of imagery, video, spectral, SAR, thermal, and other spatiotemporal data. Opticks was originally developed by Ball Aerospace & Technologies corp. for the US Air Force. In 2007, Ball and the USAF released the core ELT and a number of plug-ins as open source software. This is one the first US department of defense sponsored tools to move from the closed source government domain to the unrestricted open source. This presentation talks about our experience with the process; what went smoothly and what caused delays. We will also discuss some of the latest developments in the military open source world.

Opticks: Releasing a government tool to the open source community | Free and Open Source Software for Geospatial

IPOL is a journal of image processing and image analysis. Each article contains a text describing an algorithm, a source code, an online execution facility, and an archive of all online experiments. The text, source code and demonstration are peer-reviewed. IPOL follows the Open Access and Reproducible Research models. http://www.ipol.im/

IPOL: Image Processing On Line

I love external libraries. A good library (one that is well-tested and interoperable) literally saves years of development time. Since this post revolves around C++, I'm going to mention Boost as one of the most helpful libraries ever made. Visual Studio provides a fairly obtuse (but working) system for referencing libraries on a per-user, per-system basis, accessable from the Tools > Options menu: It doesn't look the most user-friendly and it's a little bit painful to get to (especially the first time), but it got the job done. Theoretically, you only go into this menu (or you write a script to do it for you) once per library and never touch it again. http://blog.gockelhut.com/2009/11/visual-studio-2010-property-sheets-and.html

Travis Gockel: Visual Studio 2010: Property Sheets and C++ Directories

http://edwinsetiawan.wordpress.com/2009/02/26/white-balance-correction-by-using-photoshop/

White Balance Correction by Using Photoshop « Just about Photography

White balance is IMPORTANT – but most of (newbie) photographers always use automatic white balance, a little bit ridiculous but that’s the fact. Honestly most of times I also use auto white balance although I know I can’t get the correct color/tone. Since I still use AWB but want to get the correct color then I need to correct the WB (in post processing) by using Photoshop.

work - Understanding White Balance

http://www.cambridgeincolour.com/tutorials/white-balance.htm White balance (WB) is the process of removing unrealistic color casts, so that objects which appear white in person are rendered white in your photo. Proper camera white balance has to take into account the "color temperature" of a light source, which refers to the relative warmth or coolness of white light. Our eyes are very good at judging what is white under different light sources, but digital cameras often have great difficulty with auto white balance (AWB) — and can create unsightly blue, orange, or even green color casts. Understanding digital white balance can help you avoid these color casts, thereby improving your photos under a wider range of lighting conditions.
http://opticks.org/docs/sdk/latest-stable/howto_compileplugins.html

Compiling and Building Plug-Ins

This document will describe how to compile your plug-ins once you have written code so that they can be loaded and executed inside Opticks. It is recommended that you first read Supported Compilers and Platforms if you haven't already to ensure you are using a supported platform and compiler. This document is broken into two sections. The first section, Compiling Basic Plug-Ins For Any Platform, Compiler, or Build Tool , describes the bare essentials needed to build plug-ins.
This document will describe the options available to you when running your newly written plug-ins with Opticks. Two approaches to configuring Opticks to run your plug-ins will be presented. Following that is a more detailed section that describes all the necessary configuration for running Opticks. It is highly recommended that you read this entire document before deciding which approach is most appropriate for you. This approach involves copying your plug-ins into an existing Opticks installation. The installers only provide a release mode build of Opticks.

Running your plug-ins

An HDR image has a high dynamic range, which means a very large ratio between the brightest and darkest parts of the image. An HDR image on a normal (low dynamic range) monitor will actually look very flat: This is because that huge range of brightnesses has to be compressed to fit into a much smaller range of brightnesses.

HDR : What is Tone Mapping? How does it relate to HDR? - Photography - Stack Exchange

noise reduction

UUID (GUID) Generator on the WEB

This UUID is generated according to RFC 4122 Using the timestap / nodeid version (version 1), where the nodeid comes from network equipment I own. This type of UUID is generated using the current time, a clock id which changes in case the current time is found to be older than the latest known time a UUID is generated and an IEE 802 hardware address which should be unique.Still the following disclaimer applies: Disclaimer: The provided UUID (GUID) is provided AS IS without warranty of any kind, not even the warranty that the generated UUID is actually unique. The entire risk of using this UUID is upto you. If you cannot agree to those terms do not use the generated UUID.

Dependency Walker (depends.exe) Home Page

Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules. Another view displays the minimum set of required files, along with detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more. Dependency Walker is also very useful for troubleshooting system errors related to loading and executing modules. Dependency Walker detects many common application problems such as missing modules, invalid modules, import/export mismatches, circular dependency errors, mismatched machine types of modules, and module initialization failures.
The Laplacian is a 2-D isotropic measure of the 2nd spatial derivative of an image. The Laplacian of an image highlights regions of rapid intensity change and is therefore often used for edge detection (see zero crossing edge detectors ). The Laplacian is often applied to an image that has first been smoothed with something approximating a Gaussian smoothing filter in order to reduce its sensitivity to noise, and hence the two variants will be described together here. The operator normally takes a single graylevel image as input and produces another graylevel image as output. Since the input image is represented as a set of discrete pixels, we have to find a discrete convolution kernel that can approximate the second derivatives in the definition of the Laplacian. Two commonly used small kernels are shown in Figure 1.

work - Spatial Filters - Laplacian/Laplacian of Gaussian