public class PulmonaryTrunkSegm extends ImageReviewer implements ij.plugin.PlugIn
About PulmonaryTrunk Segmentation...
This permits one to segment the pulmonary trunk (lung inflow) and left artium and lung outflow from amongst
the heart, ascending aorta and other structures in the medistinum, starting with a single seed location.
also generates and saves the connectiveTissueMask
1. Cropping to body.
2. call human lung segm if needed
3. Min Vessel threshold: limit search to pixels with value > threshold to exclude myocardium
4. Select seed point by double-clicking mouse over approximate vessel tree root.
5. perform successive erosions to indentify where the aorta is clipped off.
6. keep the pulmonary root FF result and dilate just that.
7. Save mask images.
Modifier and Type | Field and Description |
---|---|
protected int |
adjustedMax |
protected int |
adjustedMin |
protected int |
airBGThresh |
protected int |
airBGThresh_adjusted |
protected int |
ARSeedx |
protected int |
ARSeedy |
protected int |
ARSeedz |
protected int |
bodyThresh |
protected boolean |
didLungCrop |
protected float[][][] |
distMap |
protected float |
ErosionRadius |
protected int |
imagemax |
protected int |
imagemin |
protected boolean[][][] |
LAbodyMask |
protected ArrayDisplay |
LAmaskAd |
protected int |
LASeedx |
protected int |
LASeedy |
protected int |
LASeedz |
protected VesselSegm |
LAvesselsegm |
protected Rectangle3D |
lungRect |
protected int |
LVSeedx |
protected int |
LVSeedy |
protected int |
LVSeedz |
protected boolean |
masksWereSaved |
int |
maxthresh |
int |
minthresh |
protected java.lang.String |
name_ext |
protected int |
ntreeTops |
protected java.lang.String |
outputdir |
protected boolean |
PTLAmasksWereReadIn |
protected int |
ptSeedx |
protected int |
ptSeedy |
protected int |
ptSeedz |
protected int |
RVSeedx |
protected int |
RVSeedy |
protected int |
RVSeedz |
protected boolean |
saveConnTissMask |
protected boolean |
saveRVLVmasks |
protected int |
seedVoxelValue |
protected java.lang.String |
slash |
protected ArrayDisplay |
threshAd |
protected Point3Dint[] |
treeTops |
protected int |
upperConnThresh |
protected VesselSegm |
vesselsegm |
working_canvas
Constructor and Description |
---|
PulmonaryTrunkSegm() |
Modifier and Type | Method and Description |
---|---|
protected void |
cropToRect(Rectangle3D curRect) |
void |
customButFunc() |
void |
doTraversal() |
void |
getWriteTreeSimImage(VesselTree treeAt) |
void |
getWriteTreeSTL(VesselTree treeAt) |
void |
hideAllDisplays() |
boolean |
readInOrComputeLungVolMask() |
boolean |
readPTdata(java.lang.String path) |
void |
reFillMasks(int thisThresh) |
void |
run(java.lang.String arg)
This method is called when the plugin is loaded.
|
void |
run(java.lang.String arg,
ij.ImagePlus passedimp) |
void |
savePTdata() |
void |
sepByDistAllMasks() |
void |
setupMIPs(byte[][][] maskedImg,
byte[][][] labelsImg) |
void |
showAllDisplays() |
void |
spaceWindowsOnScreen() |
void |
updateMIPs(boolean[][][] mask) |
void |
updateMIPs(byte[][][] maskedImg) |
void |
updateMIPs(byte[][][] maskedImg,
byte[][][] labelsImg) |
protected void |
updateThreshold() |
adjustCurSlice, cropToObjectROI, customChoiceFunc, findClosestMark, get3Dview, get3DviewOfmark, getObjectMaskFromFiles, getObjectMaskFromFiles, getPtInputDirInfo, redisplay, resetwidgets, runGUI, setGUIWinLevelWidgets, setNewSlice, setNewStudy, setupImg, setupImg, setupImg, setupImg, toString, updateMarkingPanel, UpdateScreen, UpdateSelection, UpdateSelectionImageReviewer
keyPressed, mouseDragged, mouseMoved, mousePressed, mouseReleased
protected int bodyThresh
protected int upperConnThresh
protected int airBGThresh
public int minthresh
public int maxthresh
protected int imagemax
protected int imagemin
protected int adjustedMin
protected int adjustedMax
protected int airBGThresh_adjusted
protected float ErosionRadius
protected java.lang.String outputdir
protected java.lang.String slash
protected java.lang.String name_ext
protected ArrayDisplay threshAd
protected ArrayDisplay LAmaskAd
protected int ptSeedx
protected int ptSeedy
protected int ptSeedz
protected int LASeedx
protected int LASeedy
protected int LASeedz
protected int ARSeedx
protected int ARSeedy
protected int ARSeedz
protected int LVSeedx
protected int LVSeedy
protected int LVSeedz
protected int RVSeedx
protected int RVSeedy
protected int RVSeedz
protected int seedVoxelValue
protected Point3Dint[] treeTops
protected int ntreeTops
protected boolean[][][] LAbodyMask
protected float[][][] distMap
protected Rectangle3D lungRect
protected boolean PTLAmasksWereReadIn
protected boolean saveRVLVmasks
protected boolean saveConnTissMask
protected boolean masksWereSaved
protected boolean didLungCrop
protected VesselSegm vesselsegm
protected VesselSegm LAvesselsegm
public void run(java.lang.String arg)
ij.plugin.PlugIn
run
in interface ij.plugin.PlugIn
run
in class ImageReviewer
public void run(java.lang.String arg, ij.ImagePlus passedimp)
run
in class ImageReviewer
public void customButFunc()
customButFunc
in class ImageReviewer
public void sepByDistAllMasks()
public void reFillMasks(int thisThresh)
public void setupMIPs(byte[][][] maskedImg, byte[][][] labelsImg)
public void updateMIPs(boolean[][][] mask)
public void updateMIPs(byte[][][] maskedImg)
public void updateMIPs(byte[][][] maskedImg, byte[][][] labelsImg)
public void hideAllDisplays()
public void showAllDisplays()
public void spaceWindowsOnScreen()
spaceWindowsOnScreen
in class ImageReviewer
protected void updateThreshold()
protected void cropToRect(Rectangle3D curRect)
public boolean readInOrComputeLungVolMask()
public void savePTdata()
public boolean readPTdata(java.lang.String path)
public void getWriteTreeSimImage(VesselTree treeAt)
public void getWriteTreeSTL(VesselTree treeAt)
public void doTraversal()