First page Back Continue Last page Summary Graphic
Possible Approaches
Use PIL as is:
- Advantages: least work short term, no code proliferation
- Disadvantages: precise control awkward
Modify PIL:
- Advantages: don't start from scratch
- Disadvantages: code proliferation, similar but not same as another implementation
Write a new implementation:
- Advantages: get a full-featured API
- Disadvantages: it isn't written yet (HEASARC may be willing to provide it, however)
If wrappers to PIL were used, one could start by using PIL, but switch to a different implementation later. Any new implementation must at a minimum provide the same functionality as PIL, so really this would be the smartest course.
Notes:
Really the wrapper idea allows the best of all worlds. With a simple GLAST component consisting of a set of functions which simply call their PIL counterparts for now, development could proceed without delay. It would then be easy to switch implementations if/when desired, without changing much (if any) code. It would be like renting PIL with the option to buy for no extra charge.