Skip to content

Review: oiiotool - #119

Closed
lgritz wants to merge 2 commits into
AcademySoftwareFoundation:masterfrom
lgritz:lg-oiiotool
Closed

Review: oiiotool#119
lgritz wants to merge 2 commits into
AcademySoftwareFoundation:masterfrom
lgritz:lg-oiiotool

Conversation

@lgritz

@lgritz lgritz commented Jul 6, 2011

Copy link
Copy Markdown
Collaborator

Here's something I was playing with over the long weekend.

'oiiotool' is a first stab at a general-purpose command-line tool that accesses all the OIIO image manipulation functionality. It's a work in progress, though I'm happy to check it into the development trunk as soon as somebody thinks it's useful. (N.B. I've conveniently made a name that won't clash with other packages, as some of our other utilities currently do.)

At this point, it's already got most of the functionality of iinfo, idiff, and iconvert (a few features from each are not yet implemented, but on the way). I'm tempted to say that when it's feature complete, it should completely subsume iprocess, idiff, and iinfo. I think it's up for debate whether the more specialized iconvert and maketx ought to disappear, or if it's better for those to remain separate binaries and have the shortest possible 'help' screen for its specialized function.

Note that this builds on some Argparse changes I posted a few days ago, but which have not yet been reviewed. Perhaps their utility is more obvious now.

Usage examples:

oiiotool --info *.tif                   (subsumes iinfo)
oiiotool --diff f1.tif f2.tif            (subsumes idiff)
oiiotool foo.tif --tile 64 64 -o foo.exr     (subsumes iconvert)

In theory, it's a lot like 'iprocess' was once imagined to be, but in practice, it's got a better internal architecture, makes much smarter use of Argparse, and should be really really simple to add new actions and options as we think of new functionality we'd like to access from the command line.

It's minimally documented -- like I said, WIP -- but I think the intent and general structure should be clear.

Feedback appreciated.

@jeremyselan

Copy link
Copy Markdown
Contributor

Oooh!

How exciting. Can't wait to put this through its paces.

Looks good to me (for the master branch only). We can let the tool iterate for a few versions, and once its in a semi-stable place can backport to the 0.10 branch.

@lgritz

lgritz commented Jul 7, 2011

Copy link
Copy Markdown
Collaborator Author

Pushed an update containing an important bug fix (forgot to close() the ImageOutput!) and a bunch more functionality from iconvert.

I'm going to keep adding functionality for a couple days, then I'll commit a preliminary version (to master only, of course).

lgritz added 2 commits July 13, 2011 18:13
…E if the option is found; (b) %@ indicates an immediate callback to make (in addition to parsng the other arguments); (c) Allow callback for bool flags, and make option matching ignore characters after a ':' in the option; (d) wrap lines at word breaks when printing usage message.
@lgritz

lgritz commented Jul 16, 2011

Copy link
Copy Markdown
Collaborator Author

Pushed some updates.
This is approximately good enough for an initial commit, I think. It believe that it is already in shape to completely replace iprocess, and embodies substantial amounts of the features of iinfo, iconvert, and idiff.
After an initial commit, of course there will be lots of additional work to continue beefing up its functionality, not to mention document and test it.

@lgritz

lgritz commented Jul 18, 2011

Copy link
Copy Markdown
Collaborator Author

Any objections to doing an initial commit on this? Mostly so that Lukasz can build functionality onto this rather than putting it into the moribund iprocess.

@jeremyselan

Copy link
Copy Markdown
Contributor

LGTM

On Mon, Jul 18, 2011 at 3:11 PM, lgritz
reply@reply.github.com
wrote:

Any objections to doing an initial commit on this?  Mostly so that Lukasz can build functionality onto this rather than putting it into the moribund iprocess.

Reply to this email directly or view it on GitHub:
#119 (comment)

@lgritz

lgritz commented Jul 18, 2011

Copy link
Copy Markdown
Collaborator Author

Merged. I'll keep beefing it up, and adding tests and documentation, in future pull requests.

@lgritz lgritz closed this Jul 18, 2011
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants