GSoC 2022 TIFF project Updates & Discussion

Hello everyone, if you are interested in following updates on my GSoC project “Improve TIFF Image Support” mentored by @carandraug, I started a website where I will post my weekly updates here: magedrifaat.github.io

I will also maintain this thread in parallel and post summarized updates for any discussions regarding the project and my progress.

For the first week of the coding period:

  • I set up my forked repo here: octave-libtiff: log
  • I added the “Tiff” classdef to Octave so you can clone the repo, build it and use the classdef.
  • I partially implemented getTag which can get the value of a tag from a tiff image.

You can read about all of this in more detail in the full post here.

1 Like

Hello again, since I am behind on my weekly posts I decided to combine week 2 and 3 posts into one.
For those 2 weeks I did the following:

  • Finished implementing getTag for all types of tags supported.
  • Added an entry in configure.ac to correctly handle building with LibTIFF.
  • Improved my C++ coding style to be consistent with Octave’s style guide.

You can read more details in the full post here.

1 Like

For weeks 4 and 5 I worked on the following:

  • Using HAVE_TIFF flag to optionally disable the class
  • Implementing the read function
  • Writing the first unit test for the classdef

You can read more details in the full post here.
And here are the slides of my quick presentation from the last weekly meeting:

For week 6 I worked on the following:

  • Support for floating point images
  • Implementing the functions for writing tests
  • Writing tests for implemented functions

You can read more details in the full post here.
And here are the slides of my presentation from the last weekly meeting:

1 Like

For week 7 I worked on the following:

  • Finish implementing writeEncodedStirp
  • Implementing writeEncodedTile
  • Implementing utility functions
  • Writing tests to cover all corner cases

You can read more details in the full post here.

1 Like

For week 8 I worked on the following:

  • Implementing the write method
  • Implementing readEncodedStrip and readEncodedTile
  • Adding class structures for tag value enums

You can read more details in the full post here.

1 Like

For week 9 I worked on the following:

  • Moved internal functions to corefcn
  • Finished implementing setTag
  • Implemented custom read modes (readRGBAImage/Strip/Tile)
  • Implemented directory manipulation methods

You can read more details in the full post here.

And here are the slides from the last weekly meeting: Octave Tiff Week 9 Progress - Google Slides

1 Like

For week 10 and 11 I worked on the following:

  • Implementing Sub-directory reading and writing
  • Handling all remaining bugs / missing features
  • Modifying imread/imwrite/imfinfo to use LibTIFF

You can read more details in the full post here.

1 Like