Scientific Programming


 Vision Programmer (sawmill facility)

Project: Imagery defect tracking

Project Type: Scientific and computer vision programming

Client: Barette Chapais Ltee

Technology: C#, Halcon, .Net, numerical programming

Role: Vision programmer

Team Size: 10

Duration: September 2007 – July 2008

Designed and implemented an object-oriented library to detect wane on rough hardwood lumber. This library featured an open architecture, improving drastically on traditional technique. This library is used in the sawmill facility in the optimization process (cut optimization).

Developed a useful GUI for quick code debugging.




Scientific Programmer (molecular imaging)

Project:  Molecular Imaging

Project Type: Mathematical programming (physics modeling)

Client: ART Inc.

Technology: C++, OO,  Matlab, gnuplot, VTK visualizing tool, numerical programming, monte carlo, non-linear fit and optimization

Role: Research Physicist and Scientific Programmer

Team Size: 5-10

Duration: February 2005 to October 2005

Refactored a package with a modular approach (fit and optimization problem).

I was hired as a physics programmer for programming physics algorithm. I have re-designed the curve fit library (optimization problem). Particularly, I have implemented an Object-Oriented architecture, modular approach by developing an easy-to-use programming API. This new version of the library featured: efficient and robust optimization for fast floating point operation, extensible class hierarchies that let user readily implement new algorithms. Also algorithm development and implementation and programming support of scientific research. Optimization (the algorithm was more than twice as fast as the original).

Technical report

“Background Fit Algorithm”, – J. Belanger, Technical Note ART Inc. (June 2005)

Below the static class diagram of the API


static class diagram




  • An Example of a C++ class Implementation Of Euler Angles

    Tips and Tricks

    C++ has many features which make this language very attractive for scientific programming, and one of them is the operator overload functionality. I present an example taken from our programming environment (math3D library) that use this to represent a rotation class (Euler angles).
  • IKEA Virtual Reality Extract


    I’m currently working on updating of an interior designer application, used by multinational furniture giant, to a 2nd generation version powered with state-of-the-art technology provided with Virtual Reality (VR) headset.

clients and partners