This document provides a running log of changes made in the various J4 releases. Current alpha and beta releases are numbered consecutively starting at 0.900. Future public releases will be numbered consecutively starting with 1.000.

QPP Version 0.919 - Released 24 Apr 2014.

Augmented report functionality in Polar page "Snapshots" menu:

  • Added menu item "View report FILENAME" for every .pdf in the session directory. Selecting this menu item will launch acroread with the selected file. For this to work correctly, acroread must be accessible via the user's PATH variable.
  • The script $J4HOME/linux/bin/, which is launched by the menu item "New report..." now contains functional code. In the previous version, this was just a placeholder.
  • Added menu item "Push report to DICOM server", which launches a dialog to select the desired report file (.pdf) and DICOM server to push to. The script $J4HOME/linux/bin/ is then launched. This script contains functional code, previously tested by AA.
  • Added menu item "Copy text report to UWSAN" which launches the script $J4HOME/linux/bin/ This script is currently only a placeholder.

This QPP version is designed to run with JSim version 2.13. Using other JSim versions may yield unexpected errors.

QPP Version 0.918 - Released 3 Apr 2014.

Added "New report" option to Snapshots menu. When activated on Polar page, up to 6 EPS files (Polar*.eps) are written to the session directory, and the script $J4HOME/linux/bin/ is called with the session directory as the 1st argument. The current is a placeholder file. AA will modify this placeholder to generate the needed report.


Note: Snapshot push to DICOM server code has been modified to use modular script execution routine that it shares with the functionality above. The push functionality should be rechecked on a machine with access to a real DICOM server to make sure no bugs were introduced during this change.

This QPP version is designed to run with JSim version 2.13. Using other JSim versions may yield unexpected errors.

QPP Version 0.917 - Released 19 Jul 2013.

This version uses is designed to run with JSim version 2.11. Using other JSim versions may yield unexpected errors.

Changed default radius of input ROI from 5 to 3.5. Change request by JC.

QPP Version 0.916 - Released 29 May 2013.

This version uses is designed to run with JSim version 2.11. Using other JSim versions may yield unexpected errors.

Fixed PApplication constructor problem that precluded use of QPP 0.915 with recent JSim versions. Bug report by AA.

The "# processors" selector on model page now offers all values from 1 to the number of processors on your computer. Previously this value had a maximum possible value of 2. WARNING: Use this feature cautiously for now. The stability of calculations using many processors has not yet been exhaustively tested. Feature request AA.

The model selector on the model page now presents models from the flowModels/ directory in alphabetical order. Feature request AA.

QPP Version 0.915 - Released 12 Jun 2012.

This version uses is designed to run with JSim version 2.07. Using other JSim versions may yield unexpected errors.

Fix OSARCH bug in Bug fix by AA.

QPP Version 0.914 - Released 2 Feb 2012.

This version uses is designed to run with JSim version 2.06. Using other JSim versions may yield unexpected errors.

JSim 2.06 included changes to multiple optimization data structures needed by QPP, so a new release of QPP is required to work with it.

JSim 2.06 contains a fix to the UtilIO.readBytes(File) method that caused some inconsistent "File not found" read errors in 2.05.

QPP Version 0.913 - Released 22 Dec 2011.

This version uses is designed to run with JSim version 2.05. Using other JSim versions may yield unexpected errors.

Fixed model compilation bug that resulting from scripts using compiler in tools5.jar (Java 5) rather than tools6.jar (Java 6). Bug report by JC.

QPP Version 0.912 - Released 19 Dec 2011.

This version uses Java 6. Previous version used Java 5. It is designed to run with JSim version 2.05. Using other JSim versions may yield unexpected errors.

When editing LV myocardial markers, depressing the Shift key allows the inner and outer markers to be moved as a pair. Feature request by JC.

QPP Version 0.911 - Released 24 Oct 2011.

This version updated to run with JSim versions 2.03 or 2.04. Using other JSim versions may yield unexpected errors.

Changes to the LV ROI page as discussed August 2011:

  1. The inner and outer radial myocardial markers are now displayed in different colors. Previously, inner and outer markers were the same color.
  2. Increased size of the 6 radial images to be maximal within available screen real estate.
  3. Parameterized page layout to work with any number of radial images. The number of radial images displayed is always half the parameter j4.qp.QPSession.LVMYODIMS.nthetas, which is currently set to 12. Note that nthetas must be an even number. The maximum value of nthetas tested was 32. System appears reasonably robust when a saved study is reloaded in the program compiled with a different value of nthetas, but auto-segmentation should be redone to ensure data consistency.
  4. Cleaned up the "Segmentation type" selector to be consistent with professional standards and the data displayed. Segmentation is performed when the selector is changed, rather than after any subsequent cut-cylinder edit. Previously, the operator had to perform specific, undocumented, and unintuitive sequence of operations for the display to be consistent with the controls.
  5. There is now a separate "Segmentation type" selector for the stress and rest studies. Previously, there was a single selector that applied to both.
  6. The state of the selectors are now properly stored in state.xml, so they are restored properly when a saved study is reloaded.
  7. Double click on a radial image pops up an image magnifier for closer inspection of the image and LV ROI. A second double-click hides the magnifier. Previous and next buttons in the magnifier allow successive viewing of all radial images. The image viewed in the magnifier is outlined in the main window for user reference.
  8. Added "Manual edit" to the "Segmentation type" selector, allowing manual editing of inner and outer LV markers. When "Manual edit" is selected, the image magnifier (see above) becomes editable, and inner and outer LV markers may be dragged along their respective axes with the mouse. Reverting to any of the automatic segmentation modes causes all manual edits to be lost, so when this is selected a confirmation dialog box appears.

Made display of sector numbers on polar display page togglable via a button just below the CFR image. Feature request by JC.

Updated LV segmentation algorithm to produce distinct inner and outer radii even when the algorithm fails. This ensures that the markers will not overlap, and will thus be draggable when in "Manual edit" mode.

QPP Version 0.910 - Released 28 Sep 2011

This version updated to run with JSim 2.03. Using other JSim versions may yield unexpected errors.

Rolled in AA changes to auto segmentation code (Sep 9).

View extrema editing enabled for color bars on the polar page. To edit a color bar minumum or maximum, double click on the number and an editing box will open. Type the new value and hit return to update. If the mouse leaved the color bar area before editing is complete, the editing box disappears and no update is performed. Double click on the color bar to restore the original minimum and maximum.

New polar map segmentation geometries of 3, 68 and 76 segments are now available. Previously, only 17 and 20 segment geometries were available.

The 17 and 20 segment geometries have been altered, doubling the radius of the innermost ring to correspond with generally accepted standards. Users should be careful when viewing sessions processed with QPP 0.909 and below with QPP 0.910 and above since the displayed geometry will not correspond to the modeled one (at least until the LV segmentation is rerun).

QPP Version 0.909 - Released Aug 18 2011

This verision is now in NSR CVS.

This version updated to run with JSim 2.02 and probably the forthcoming 2.03.

QPP Version 0.908 - Release pending

Fixed jsrun.db for 64-bit Macs (thanks to AA).

Update to LV segmentation algorith: Included are more constraints on the allowed variability of the radius of the LV. The fixed thickness segmenters seem to work much more reliably now. (When you open an old session, you'll need to move the circle a little for the new segmentation to run). The "find endo/epi surface" segmenter was not updated and will probably work less well now. Changes by AA.

QPP Version 0.907 - Released 13 July 2010

This release is designed to work with JSim 1.6.95 and should not be used with earlier JSim versions.

Changed background to black, foreground to white.

Bold fonts on polar display page for better printing.

If last dynamic frame > 5min, just use last frame as average.

Commented out window error message for lousy segmentation.

Added query function for segment type.

Added Choice drop down list for segmentation type selection. Added query function for segmentation type selection.

Added segType input to LVAutoMyo().

Changed threshold for defining a valid profile from max needs to be > 2*GeometricMean to greater than 1.3*GeometricMean.

Increased iterations from 20 to 30 in fitCylinderHemisphere().

Added 2 new models to home/flowModels.

Changes to InterpolateToMissingRadii(). Added compounded version of function to enable exanding search range for interpolation.

If only a stress study is loaded, place 17/20 sector button and segmentation choice on stress pane.

QPP Version 0.906 - Released 9 July 2009

This release is designed to work with JSim 1.6.91 and should not be used with earlier JSim versions.

Added model page control for maximum modeling time. Feature request by JC.

Improved automatic ROI definition. Removed the epi- and endo- cardial surface detection and implemented a fixed 0.8cm myocardial wall centered on myocardium. Also made several adjustments to the segmentation parameters. Revised code by AA.

Added missing qpp.db to J4 source distribution. Bug report by AA.

Fixed CLASSPATH bug in Bug report by AA.

Added support for Hopkins data import. Implementation by AA.

Updated servers.xml to include UW Dicom servers.

QPP Version 0.905 - Released 11 May 2009

This release is designed to work with JSim 1.6.89 and should not be used with earlier JSim versions.

Added option to use two processors during modeling phase. This option is experimental at present, and so must be specifically requested by user.

QPP now supports dynamic 4D Philips data volumes.

Fixed bug in optimization report that reported segment results multiple times.

Updated heat and rainbow colorbar palettes to match industry standards. Created new $J4HOME/palettes/ to hold various palette examples.

Colorbars for quantitative flow, CFR and qualititative reversiblity set to maximum 6, minimum 0. Previously quantitative flow max was 4, and CFR and qualitative reversiblity minimum and maximum were set to the range of the presented data. Change request by JC.

Implemented snapshot push to DICOM server.

Modeling phase project files are now written with t.max set to end of image time series. This allows model results to be verified using jsfim. Previously, discrepancies in t.max caused confusion when running jsfim on QPP-create project files. Bug report by JC.

Flow models list updated from QPP2 workstation 28 Apr 2009.

QPP Version 0.904 - Released 11 Jun 2008

This release is designed to work with JSim 1.6.83, also released today.

QPP Version 0.903 - Released 6 Jun 2008

Fixed IncompatibleClassChangeError, caused by a QPP/JSim version mismatch, which disabled GUI update during the modeling phase (bug report JC). QPP 0.903 was compiled against JSim 1.6.82, and should be used ONLY with JSim 1.6.82. Using QPP 0.903 with JSim 1.6.83 and above will result in a repeat of this problem.

Changed build scripts to use QPJSIMSRC instead of JSIMSRC so to prevent recurrence of IncompatibleClassChangeError problem above.

Fixed bug whereing the writing of model fit curves (*LVFit.jsml) file crashed when a model run was canceled. The resulting empty .jsml file caused errors when attempting to reload the study.

QPP Version 0.902 - Released 20 May 2008

Fixed bug with bullseye table updating discovered by JC. Fix ignores null data (indicating data not yet read) in table GUI update.

Added two projects to $J4HOME/flowModels directory: NH3_V12_rest.proj and NH3_V12_stress.proj.

QPP Version 0.901 - Released 2 Apr 2008


This release requires JSim release 1.6.82 or above. It should not be used with session directories from previous releases. It should be used only for newly created session directories. However, it is compatible with exam directories from previous releases.

Created pre-built binary release package (previous releases required building from source).

qpp script/QPSession/QPSelect revised to relaunch when exitstat=42. Relaunching Java prevents multiple sessions from exhausting memory.

Added version# in frame titles, logs.

Working dialogs are now shown while major file processing is done (loading examination and review session lists, creating a new session directory, session page save and switch). These dialogs will eventually update as work proceeds, showing the % complete. At present, however, they merely show a fixed 50% complete.

">>>" buttons relabeled "NEXT >", font size increased.

Default colorscale changed from heat to inverse grayscale.

"Global changes will be lost" message, seen when changing pages via flowchart (as opposed to NEXT button), changed to "Abandon recent changes to this page?" (Yes/No) with option to cancel page switch.

"Saving this page will require redoing the following pages ..." message now has cancel option.

"Save & Close" button relabeled "Close". Follows "abandon recent changes" logic of other flowchart buttons.

Modified to protect against vol=null mouse queries (seen by JC 21 Mar 2008).

Added session.log which captures information for diagnostic purposes.

Added session directory to frame title so user can tell which session he is working on.

Session window size changed to 1180x950.

"Stress" and "Rest" labels more distinct (larger) on several pages (Reorient, Input, LVRoi).

Suppressed annoying "FTics: illegal args" console message.

Exam/Session Selector Page

"Series#" column now shows correct value from DicomSeries.seriesNumber.

Review sessions table data now populated (ID, Name, Date, ...).

Option to delete exam or session dirs. Note: Due to inherent danger of writing a recursive delete routine, the delete will fail if there are files at 3 nesting levels down.

Add qpselect log file $QPDATA/logs/qpselect.log to record program activity for diagnostic purposes.


Set patient info to fixed width (200 px) so that flowchart is not pushed off screen when patient info is long.

Input ROI Page

t-slice slider: show only first and last image slices numbers.

Add "Copy from Stress", "Copy from Rest" buttons. When an ROI is copied, the image slicers are centered on the new ROI.

Model Page

LVFit data files converted to JSML format to support varying time series. To convert old studies:

    jsbatch -f StressLVFit.cdata -odataset StressLVFit -ofmt JSML -out StressLVFit.jsml
    jsbatch -f ResLVFit.cdata -odataset RestLVFit -ofmt JSML -out RestLVFit.jsml

Separate selection of Stress/Rest projects. Selection lists are reloaded each time model page is loaded. See configuring models document for details on adding models.

Added tables of quantitative values (one Stress, one Rest). Columns headings are "Segment", "MBF".

Improved flow control robustness. Can now rerun model successfully. User no longer "locked into" this page if visited after the splash & polar pages. NEXT and flow chart buttons are now disabled while model is running to prevent system lockup. Even with the above changes, the page still needs some more work.

Dynamic Splash Page

Added line separator (above) and space separator (below) each Qual/Quant splash pair to improve visual distinction between pairs. Slice numbers compressed into image frames to allow better vertical compression of a splash pair.

Added option to lock quantitative and qualitative scrollbars together. When locked, only the upper scrollbar is enabled and both splashed drag in tandem.

State of splash scrollbars is now preserved when saving/reloading the page.

Polar Page

Add table of quantitative values (Segment, Stress, Rest, CFR)

QPP Version 0.900 - Released 31 Jan 2008

Initial prototype.

Model development and archiving support at provided by the following grants: NIH U01HL122199 Analyzing the Cardiac Power Grid, 09/15/2015 - 05/31/2020, NIH/NIBIB BE08407 Software Integration, JSim and SBW 6/1/09-5/31/13; NIH/NHLBI T15 HL88516-01 Modeling for Heart, Lung and Blood: From Cell to Organ, 4/1/07-3/31/11; NSF BES-0506477 Adaptive Multi-Scale Model Simulation, 8/15/05-7/31/08; NIH/NHLBI R01 HL073598 Core 3: 3D Imaging and Computer Modeling of the Respiratory Tract, 9/1/04-8/31/09; as well as prior support from NIH/NCRR P41 RR01243 Simulation Resource in Circulatory Mass Transport and Exchange, 12/1/1980-11/30/01 and NIH/NIBIB R01 EB001973 JSim: A Simulation Analysis Platform, 3/1/02-2/28/07.