Update history:
0.1.0 init Basic functions
0.1.1 add mpi; manual adding seed, select seed in slices view, show seed location and intensity in display
0.1.2 tracing order, rescale
0.1.3 color tracing, length and volume in order, automatic process, artery seed save and load
0.1.4 add file tree. auto load swc when loading image
0.2.0 use this version to analyze CROP
0.2.2 fix 16 bit image reading problem
0.2.3 Support multi-database
0.2.4 Detect artery, auto update snake when modified
0.3.0 reload snake
0.4.0 Select intensity region, Invert
0.4.1 Each slice thresholding using ImageJ, store threshold image
0.4.2 Modify threshold format, reselect button, fix bug
0.5.0 CROP, Tag xml
0.5.1 raw image remain after crop. Click to select max z in MIP. Reselect after read xml. Kill task when exit. Save filenamesolo
0.6.0 reload seeds, cross section view, vessel image
0.6.1 trim snake
0.6.2 new set order method, to fix bug on 2-point snake crash when switching to tracingview
0.6.3 fix bug and tidy up in setImageState. New detect artery based on clicked point
0.7.0 add landmark
0.7.1 find all branches according to landmark points
0.7.2 New crop(padding) method
0.7.3 New Feature output. create branch direct. fix bug.
0.7.4 Manual tracing after reload seeds and Ivessel. In loadsnake add middle point if NP is 2. Fix sctterview.
0.7.5 Local Threshold method using Phansalkar. New output raw swc method.
0.7.6 Add id, deg, nnid to Point3D, find BranchExtentionType branches using deg. SWC_raw_ves with auto merge.
0.7.7 Output bifurcation angle. fix bug in loading ves raw snake.
0.7.8 New load image method. Tracing on raw, display in threshold.
0.8.0 mip in three directions. select point shown in 3 views
0.8.1 intensity value collection from snake region and background. snake shown in 3 views. fix bug.
0.8.2 Tag
0.8.3 Histogram. Resample, Threshold, global intensity calculation all in Imagej.
0.8.3.X Fix bug of paint croparea. Tidy up load and preprocess.
0.8.4 Intensity normalization using Nyul method based on histogram
0.8.5 Manual add snake by points. Add more edit box on right bottom.
0.8.6 New Output feature method.
0.8.7 Compare vessel. Select snake in 3 MIP.
0.8.8 Register and fuse by NSI
0.9.0 Predict nearest landmark from database setting, remove MPImg checkbox, output XYZ format
0.9.1 Region Selection sliders
0.9.2 New M23 finding algorithm
0.9.3 Vesselness tracing switch. Coding method switch. ImageJ invert
0.9.4 Compare scale, flip. Direct add landmark in selected point. Transform bifurcation. Load base landmark from xml file. Show brief feature. Permanent delete seeds.
0.9.5 Base landmark calculate, load, write. Genrate model tree to register landmark label.
0.9.6 Predict ICA BA and COW rough region.
0.9.7 Fix slider out range bug. Record point.
0.9.8 3D MIP, restore 3D view
0.9.9 Fix bug in point seed selection. Scroll between slices. Rescale after select slice/mip.
0.9.10 Select area to measure intensity. Fix bug in maxproj for Ivessel.
0.9.11 Display labeled vessels with various radius in tube display
0.10.0 Segment patches
0.10.1 Patches with normalized intensity
0.10.2 Final Version for Major Version 0. Snake patch. Fix bugs.
1.0.0 VS 2015 + VTK 7.1.1 + ITK 4.1.1 + Qt 5.8. Compatible upgrades.
1.0.1 MIP view switch independent of tab change. Stretching snake. Trim last snake.
1.0.2 Fix bug: croplocation wiped loading next image. Del snake 2+ will not delete first snake. Restore last delete snake. Comp bifurcation. Autoselect after split or trim.
1.0.3 Duplicate IM->I before processing. Red shpere on VTK clicked point.
1.0.4 Save and load trace setting. Change loading images in MIP and QVTK. Clicked trace statistics. ImageJ bundled with Java.
1.0.5 StatusBar text copy to clipboard. Trim snake without copying. Two colors for select trace.
1.0.6 Fix bug in Clicked trace statistics. Normalization last segment changed. Bug in counting histogram. Normalize without snake. Stenosis identification.
1.0.7 Scrollable 3 direction views. Current position shown in three 2D slices. Unify extract_one_slice. Customized color scheme.
1.1.0 VTK upgrade to 8.0.1. Use QVTKOpenGLWidget to replace QVTKWidget. Trace editing avoid repainting all traces. Set pointclick tolerance. Transform short bifurcation. Trace param update. Right click in Tracingviewer to add seed.
1.1.1 Per may not include correct 100%. Hide before show parameter setting groups when switching steps. Delete all landmarks of a type by Alt. Three views double click tracing. Slice view cannot select trace (switch to mip mode to select). No ask when merging splited snake.
1.1.2 No trace selections in slice view (except when Alt is holding). Threshold of selecting trace reduce to 2 pixels in MIP view. Fix bug: Icrop not reset when changing cases. Fix bug: Ivessel reload not divide 10, causing 3D image noisy.
1.1.3 Adjust Window level and width by dragging in tracing viewer. Manual tracing by dragging traces in manual seeding mode. Image size, Window level/width (click to reset) shown in label bar.
1.2.0 System setting. Python Segmentation connected. 2D normal view. Manual minor editing point radius and position. Fix bug in rselect, refreshlandpoint. Read files from VTS formated folder. Interact with python server to segment patch. Output artery type image (i.tif) and type ID text (i.txt).
1.2.1 Save compare scale in setting. Direction keys for multi purpose based on view and scroll type. Whole snake minor modification. Clicked trace in tube view.
1.2.2 Fix bug: Click on side view not sync. Fix bug: not restoring clicked traces actors in repainting all traces. Current active scroll. Auto move for scroll. Restore two additional normal views. Display feature table for selected traces.
1.2.3 Adjust plaque, brightness for 3D view. Support VTS format as imports. clicked trace separated by Current clicked trace and ID instead of point. Auto select the second branch when creating branch or merging branches. Default orientation in M2/3. Change X/Y/Z axis label to L/S/P.
1.2.4 Batch preprocessing. Select reverse point operation. Scroll enable in initnext image.
1.2.5 Mid branch intensity collection. Database alter vessel table. Change question to Overide existing seeds? ptnote: display note for point on tracing viewer. ReverseSliceOrder. Stack image search file support Radiant format.
1.2.6 Fix bug in display brief arteries. Center view by \
1.2.7 Resample snake. Branch point sphere repaint when checking branch gap. Fix bug in refresh landmark. Existing landmark info in status bar when clicked. Fix Landmark selection wrong row bug.
1.3.0 iCafe+: vessel wall features. Tag in result folder. Add/delete/display tags for snake, point. Display vessel wall radius in tracingViewer. Save seg patch to patch folder, delete patch img, seg along whole snake. Show/hide seg patch. Image resolution in case xml. Database resolution in database setting xml. Cut snake. Remove trimLastSnakeGUI. Manual drag tracing on three views. Keep scroll mode when switching image source. Auto load vessel image in qvtk view. Select isolated traces. Select end point. Flexible system setting. PSERVER, Historylimit defined in system setting. Autosave to temp. Fix max min bug in thres.ijm. Add hist.ijm for regenerating histogram. Check max intensity before NormLUT. Dataset color scheme. Z max region. Compare file path scale write in setting. Vessel feature/table add min/max x/y/z. Change SQL column property.
1.3.0X fix bugs in point move not show status. vessel wall radius and interpolate bugs. Regenerate result folders.
--------------------------------------------------------------------------------------------------------------------------------------
1.3.1 Seed out of border bug. multiple shortcut keys for zoom in and out. Load masked image, find masked artery. Fuzziness measurements. Read Affine. Generate Mask using affine. Switch_Display_CROP.
1.3.2 Auto switch to step 3 when loading vessel. Refine snake. Lesion dialog. Lumen segmentation (Y-net) using python server.
1.3.3 Option to use refined snake as loading swc. Output value precision 3. Check Imask size after loading. Pt note load and display when loading image.
1.4.0 MPR view. Splitter replace grid layout to resize MIP windows. Select artery export to CASCADE and MOCHA.
1.4.1 Multi sequence support. Fix bug in export CASCADE and MOCHA.
1.4.2 MPR and CS columns. Colored trace to support LATTE.
1.4.3 MPR and CS columns support multi sequence
1.4.3.1 fix bug in centerline selection and point sync
1.4.3.2 add stl number of side selection
1.4.3.3 add reverse snake
1.4.3.4 MPR rot angle using MPRROTSTEP
1.4.3.5 MOCHA export ask patientname. Fix bug in MOCHA view discontinuity in angle rotation (getCSPos int input for u v)
1.4.4 XML Dom for QVJ QVS. VW class for storing vessel wall structures. Rendering vw in 3D. Rotation Traslation Matrix (RTM) class for multi sequence display.
1.4.4.1 casdir record in setting. Read Casdir DCM size before QVS loading. Support FRAPPE vessel wall.
1.4.4.2 Bug when exporting cascade for the current selected trace (if not seg assigned). Bug CASCADE dir read from setting is in int format. Rescale slope from template is not reset when exporting dicom.
1.4.4.3 Bug for changing filenamesolo when doing batch process. Switch behavior of holding atl selecting snake at slice view. No need to trace before manual tracing. iCafe re-export cascade, color contour is the same for outer wall. Two DCM export formats for MOCHA and CASCADE.
1.4.4.4 RTM redesign interp
1.5.0 VS 2017 + ITK 5.0.1 + VTK-8.2.0 + Qt5.12.5