This thread is devoted to discussing bugs and feature requests for the Corelyzer - PSICAT Integration Plugin. The following is a list of issues that I've identified:
Clean up code: The code probably needs a clean up. I wrote in a hurry over the course of two days. There's also bits that likely are generically useful enough to integrate directly into the Corelyzer source base. I'm thinking specifically of the FreedrawPlugin, FreedrawContext, and FreedrawRenderer classes.
New UI: The UI is crap; it needs to be re-done.
Remove PSICAT from the name: The plugin was initially created to integrate PSICAT and Corelyzer. However, there's really no dependency on PSICAT, so it might be confusing to the user if the plugin's name or description implies a dependency on PSICAT. Anyone is free to make use of the plugin to render their lithological data, but since the code was non-trivial to write, and since ANDRILL is paying my salary, it would be nice to mention ANDRILL and/or PSICAT somewhere on the plugin (maybe a plugin About dialog) or on the Corelyzer About dialog ("Corelyzer integrates with PSICAT and contains bits contributed by ANDRILL"... or something along those lines).
UI: Switch lithology schemes: The plugin supports multiple lithology schemes, but the plugin UI provides no way for the user to select which one he wants to use. Maybe a menu or some other mechanism can be added that lists all of the available schemes and lets the user select which one he wants to use.
Performance Testing: The plugin needs to be put through its paces to see how well it handles large datasets. I tested it with the whole ANDRILL MIS data (1285m, ~7800 individual intervals) and it handles surprisingly well. It gets a bit choppy when you're zoomed out enough to show all 1285m because it's having to render around 10000 quads with associated textures and colors. But if you're looking at a reasonable scale, it handles very well. I haven't tested with images, but I'm assuming it won't be a problem. I have some performance optimizations that I can implement, but I wanted to see if they were necessary first.
Lithology Data Format: We should sit down and figure out if the tab-separated format that I came up with for exchanging lithology data is sufficient for use by other tools and databases.
Additional Issue
I forgot one other small issue related to the lithology data format: Currently the plugin expects the file you give it to actually be a zip file containing a file called
lithology.tsvThis was because I originally was going to include the lithology patterns in the zip file. I later decided to use the scheme approach, so there's really no need to keep the zip file. The only reason would be if we came up with more data formats (perhaps annotations or symbols exported from PSICAT) that you wanted to include in a bundle. But they could be handled separately as well, or in the Core Archive format that already exists.