This release represents the first introduction of a number of new
features. Only "power-users" should upgrade at this time.
Major changes include:
1. MEMORY: Now, use of the ModelImage type is STRONGLY discouraged
except for direct interface with MIPAV internals. If you use this
datatype, you take responsibility for ensuring that the associated
memory is properly allocated and freed. The benefit is that all
ImageData types will now properly handle memory and you can
allocate/deallocate both input and output parameters at will. The
whole “ParamFile” hack that John and I developed for memory
efficiencies is no longer necessary (but it is still in place).
2. HEADERS: Use of ModelImage “FileBaseInfo” is STRONGLY
discouraged. Please use the getHeader/setHeader fields of ImageData
instead. It is VERY bad practice to not set the image data header.
Even if you just don’t care, set any aspect of the header to
something so that we know that you actively don’t care rather than
have forgotten. The system will print MANY warning messages if you
do not update the header or copy a header from a valid image.
Please let me know what additional information you would like to
see in the header objects.
3. LOGGING: Use of System.out and System.err is STRONGLY
discouraged. Please use JistLogger.logOut and JistLogger.logErr.
These functions allow the user to select his or her desired level
of output from “SEVERE”,”WARNING”…”INTENSIVE III”. If the user
selects a level greater than INFO, then the file and line of code
that produced the message is appended to the message. If the user
selects any “INTENSIVE” level, then a current memory report
(free/used/allocated by system/max possible) is also appended.
Please change any instances of System.out and System.err that you
4. REPORTING: JIST should now accurately report memory usage.