description "3 slicers and a 3D view" author "jpr@creatis.insa-lyon.fr" category "demo" // To show how easy it is to add smthing // ===================================== load vtk include wxvtk load std load itk include vtk include wx load itkvtk load gdcmvtk new LayoutX4 main new LayoutLine upright new LayoutLine upleft new LayoutLine downleft connect upright.Widget main.Widget1 connect upleft.Widget main.Widget2 connect downleft.Widget main.Widget3 # Here loads hola.mhd # ------------------- include vtk/boxes/bbLoadHola new LoadHola reader # uncomment next lines to have a file selector # -------------------------------------------- /* new FileSelector openFileDialog new ImageReader reader connect openFileDialog.Out reader.In */ # uncomment next lines to use Gimmick # ----------------------------------- /* load creaImageIO new Gimmick reader */ # uncomment next lines to Read a MHD file (and nothing else !) # ------------------------------------------------------------ /* new FileSelector openFileDialog set openFileDialog.Wildcard "(*.mhd)|*.mhd" new MetaImageReader reader connect openFileDialog.Out reader.In */ # uncomment the following lines to read a 3D images stack # (only if file name order is meaningfull) # ------------------------------------------------------- /* // To choose the directory new DirectorySelector ds // To get the image names into a vector new FilesFromDirectory fd // To read all the files, as a bbitk::ImagePointer new ImageSeriesReader reader // user choosen directory as input connect ds.Out fd.In set fd.Recursive false // list of files as input #print "Files found in $ds.Out$\n connect fd.Out reader.FileNames */ # uncomment the following lines to read a 3D images stack # (if the directory contains a 'XCoherent" Serie) # ------------------------------------------------------- /* // To choose the directory new DirectorySelector ds // To get the image names into a vector new FilesFromDirectory fd // user choosen directory as input connect ds.Out fd.In // order the files, computes an accurate ZSpacing new GetXCoherentInfoGdcmReader reader connect fd.Out reader.In */ # uncomment the following lines to read a 3D images stack # (with DICOMDirReader) # ------------------------------------------------------- /* include itk/boxes/bbDICOMDirReader // To choose the directory new DirectorySelector ds new DICOMDirReader reader connect ds.Out reader.In */ //set reader.XSpacing 23.4 //set reader.YSpacing 23.4 //set reader.ZSpacing 35 #print "Image properties : $reader.Out" //For 3D Viewer new ImagePlanes planes connect reader.Out planes.In new Viewer3D viewer connect planes.PlaneX viewer.Obs1 connect planes.PlaneY viewer.Obs2 connect planes.PlaneZ viewer.Obs3 connect viewer.Widget main.Widget4 // For X axis // ---------- new Viewer2D viewerUL set viewerUL.BoxProcessMode Always connect planes.ImageX viewerUL.In # contains only one slice set viewerUL.Slice 0 connect viewerUL.Widget upleft.Widget1 connect planes.BoxChange viewerUL.BoxExecute print "===============planes.ImageX $planes.ImageX" // For Y axis // ---------- new Viewer2D viewerUR set viewerUR.BoxProcessMode Always connect planes.ImageY viewerUR.In connect viewerUR.Widget upright.Widget1 # contains only one slice set viewerUR.Slice 0 connect planes.BoxChange viewerUR.BoxExecute print "===============planes.ImageY $planes.ImageY" // For Z axis // ---------- new Viewer2D viewerDL set viewerDL.BoxProcessMode Always connect planes.ImageZ viewerDL.In connect viewerDL.Widget downleft.Widget1 # contains only one slice set viewerDL.Slice 0 connect planes.BoxChange viewerDL.BoxExecute print "===============planes.ImageZ $planes.ImageZ" set main.WinTitle "demoViewing3" exec main