creaMaracasVisu:ViewerNV:Box02
ISEXEC:FALSE
63.061066:12.525419:-900.000000
-126.781066:2.525419:-900.000000
+98.936066:2.525419:-900.000000
FIN_BOX
BOX
wx:Slider:Box03
ISEXEC:FALSE
-154.546639:101.942909:-900.000000
--103.146639:91.942909:-900.000000
+-122.971639:91.942909:-900.000000
PORT
Label:"true"
PORT
wx:LayoutSplit:Box06
ISEXEC:TRUE
92.198291:-155.868396:-900.000000
-131.278291:-165.868396:-900.000000
+128.873291:-165.868396:-900.000000
PORT
Orientation:"H"
FIN_BOX
wx:Slider:Box15
ISEXEC:FALSE
-220.686169:101.889733:-900.000000
--169.286169:91.889733:-900.000000
+-168.862229:91.889733:-900.000000
PORT
Label:"true"
PORT
Render
-100.149261:284.086627:-900.000000
FIN_COMPLEX_PORT
-BOXES:37
+BOXES:44
BOX
creaMaracasVisu:SliceImage:Box00
ISEXEC:FALSE
BOX
creaMaracasVisu:ImageActor:Box04
ISEXEC:FALSE
--118.333465:-253.552833:-900.000000
--80.383465:-263.552833:-900.000000
+-175.861342:-256.750145:-900.000000
+-137.911342:-266.750145:-900.000000
FIN_BOX
BOX
vtk:Transform:Box17
ISEXEC:FALSE
--322.998284:-74.448757:-900.000000
--287.423284:-84.448757:-900.000000
+-320.706867:-77.874112:-900.000000
+-285.131867:-87.874112:-900.000000
FIN_BOX
BOX
std:ConcatStrings:Box18
ISEXEC:FALSE
--251.123336:-28.228423:-900.000000
--211.398336:-38.228423:-900.000000
+-272.546519:-70.682423:-900.000000
+-232.821519:-80.682423:-900.000000
PORT
In1:"0 "
PORT
In2:"0 "
FIN_BOX
BOX
-std:MathOperationVector:Box19
-ISEXEC:FALSE
--265.419338:-51.037435:-900.000000
--217.894338:-61.037435:-900.000000
-PORT
-Type:"2"
-FIN_BOX
-BOX
vtk:ImageVtkProperties:Box20
ISEXEC:FALSE
--315.026700:11.344918:-900.000000
--269.676700:1.344918:-900.000000
+-312.672504:29.786119:-900.000000
+-267.322504:19.786119:-900.000000
FIN_BOX
BOX
creaVtk:ScalarsToColors:Box22
ISEXEC:FALSE
--358.818509:-195.160643:-900.000000
--317.293509:-205.160643:-900.000000
+-439.528193:-206.813913:-900.000000
+-398.003193:-216.813913:-900.000000
PORT
Type:"1"
FIN_BOX
BOX
vtk:Transform:Box32
ISEXEC:FALSE
--323.769330:-95.234030:-900.000000
--288.194330:-105.234030:-900.000000
+-321.807500:-96.018762:-900.000000
+-286.232500:-106.018762:-900.000000
FIN_BOX
BOX
creaMaracasVisu:DrawAxisTree3D:Box26
ISEXEC:FALSE
--214.692282:-210.527168:-900.000000
--169.452282:-220.527168:-900.000000
+-273.473729:-218.831241:-900.000000
+-228.233729:-228.831241:-900.000000
PORT
Colour:"0 0 0"
PORT
BOX
vtk:Transform:Box27
ISEXEC:FALSE
--362.028550:-125.500532:-900.000000
--326.453550:-135.500532:-900.000000
-PORT
-RotateWXYZ:"-90 0 0 1"
+-316.662998:-136.217224:-900.000000
+-281.087998:-146.217224:-900.000000
FIN_BOX
BOX
std:CreateArithmeticSuiteVector:Box33
BOX
vtk:vtkImageDataPointerRelay:Box38
ISEXEC:FALSE
--247.758452:124.609772:-900.000000
--195.583452:114.609772:-900.000000
+-242.147618:127.630990:-900.000000
+-189.972618:117.630990:-900.000000
FIN_BOX
BOX
std:ConcatStrings:Box40
BOX
std:StringSelect:Box41
ISEXEC:FALSE
--490.352359:40.618854:-900.000000
--448.192359:30.618854:-900.000000
+-369.319073:-76.024573:-900.000000
+-327.159073:-86.024573:-900.000000
PORT
In0:"0 1 0 0"
PORT
-In1:"-90 1 0 0"
+In1:"90 1 0 0"
PORT
-In2:"90 0 0 1"
+In2:"-90 0 1 0"
FIN_BOX
BOX
std:StringSelect:Box42
ISEXEC:FALSE
--443.483395:41.068651:-900.000000
--401.323395:31.068651:-900.000000
+-362.110000:-136.869133:-900.000000
+-319.950000:-146.869133:-900.000000
PORT
In0:"0 1 0 0"
PORT
PORT
In0:"0"
PORT
-In1:"2"
+In1:"0"
PORT
In2:"2"
FIN_BOX
PORT
In0:"1"
PORT
-In1:"0"
+In1:"2"
PORT
In2:"1"
FIN_BOX
BOX
vtk:Transform:Box52
ISEXEC:FALSE
--318.238946:-52.503141:-900.000000
--282.663946:-62.503141:-900.000000
+-312.196510:-56.034435:-900.000000
+-276.621510:-66.034435:-900.000000
FIN_BOX
BOX
std:StringSelect:Box53
ISEXEC:FALSE
--399.487459:42.261025:-900.000000
--357.327459:32.261025:-900.000000
+-357.946944:-52.565356:-900.000000
+-315.786944:-62.565356:-900.000000
PORT
In0:"0 1 0 0"
PORT
In2:"-90 0 1 0"
FIN_BOX
BOX
-std:MathOperationVector:Box54
-ISEXEC:FALSE
--273.630777:-74.489537:-900.000000
--226.105777:-84.489537:-900.000000
-PORT
-Type:"2"
-FIN_BOX
-BOX
std:StringSelect:Box55
ISEXEC:FALSE
--373.326340:25.942851:-900.000000
--331.166340:15.942851:-900.000000
+-373.718706:28.297047:-900.000000
+-331.558706:18.297047:-900.000000
PORT
-In0:"0 0 1"
+In0:"1"
PORT
-In1:"0 0 1"
+In1:"-1"
PORT
-In2:"0 0 -1"
+In2:"-1"
FIN_BOX
BOX
std:ConcatStrings:Box57
BOX
std:ConcatStrings:Box65
ISEXEC:FALSE
--370.441250:223.713236:-900.000000
--330.716250:213.713236:-900.000000
+-366.909956:245.293365:-900.000000
+-327.184956:235.293365:-900.000000
FIN_BOX
BOX
std:Div:Box66
-345.592205:152.557386:-900.000000
-315.142205:142.557386:-900.000000
FIN_BOX
-CONNECTIONS:61
-CONNECTION
-Box00:Out:Box04:In
-NumberOfControlPoints:0
-CONNECTION
-Box20:Spacing:Box19:In0
-NumberOfControlPoints:0
-CONNECTION
-Box18:Out:Box19:In1
-NumberOfControlPoints:0
+BOX
+std:MathOperation:Box72
+ISEXEC:FALSE
+-257.408453:-30.946538:-900.000000
+-216.358453:-40.946538:-900.000000
+PORT
+In1:"1"
+PORT
+Type:"2"
+FIN_BOX
+BOX
+std:MathOperation:Box73
+ISEXEC:FALSE
+-263.661305:-53.857110:-900.000000
+-222.611305:-63.857110:-900.000000
+PORT
+Type:"2"
+FIN_BOX
+BOX
+std:StringSelect:Box74
+ISEXEC:FALSE
+-336.062237:53.397805:-900.000000
+-293.902237:43.397805:-900.000000
+PORT
+In0:"2"
+PORT
+In1:"0"
+PORT
+In2:"1"
+FIN_BOX
+BOX
+std:GetVectorDoubleElement:Box75
+ISEXEC:FALSE
+-261.893099:1.211259:-900.000000
+-210.843099:-8.788741:-900.000000
+FIN_BOX
+BOX
+wx:OutputText:Box76
+ISEXEC:FALSE
+-382.573203:100.888434:-900.000000
+-345.798203:90.888434:-900.000000
+FIN_BOX
+BOX
+vtk:Transform:Box79
+ISEXEC:FALSE
+-313.408336:-36.360191:-900.000000
+-277.833336:-46.360191:-900.000000
+PORT
+Scale:"1 1 1"
+FIN_BOX
+BOX
+creaMaracasVisu:ImageChangeInformation:Box80
+ISEXEC:FALSE
+-90.830876:-128.464526:-900.000000
+-39.305876:-138.464526:-900.000000
+PORT
+NewSpacing:"1 1 1"
+FIN_BOX
+BOX
+std:StringSelect:Box81
+ISEXEC:FALSE
+-474.548561:74.412243:-900.000000
+-432.388561:64.412243:-900.000000
+PORT
+In0:"0"
+PORT
+In1:"-1"
+PORT
+In2:"-2"
+FIN_BOX
+BOX
+std:MathOperationVector:Box82
+ISEXEC:FALSE
+-450.471349:8.131320:-900.000000
+-402.946349:-1.868680:-900.000000
+PORT
+In1:"-1 -1 -1"
+PORT
+Type:"0"
+FIN_BOX
+CONNECTIONS:67
CONNECTION
Box22:LookupTable:Box04:LookupTable
NumberOfControlPoints:0
Box27:Out:Box26:Transform
NumberOfControlPoints:0
CONNECTION
-Box20:Size:Box34:In
-NumberOfControlPoints:0
-CONNECTION
Box34:Out:Box33:FirstValue
NumberOfControlPoints:0
CONNECTION
Box37:Out:Box26:lstPointY
NumberOfControlPoints:0
CONNECTION
-Box20:Spacing:Box27:Scale
-NumberOfControlPoints:0
-CONNECTION
Box38:Out:Box00:In
NumberOfControlPoints:0
CONNECTION
Box38:Out:Box20:In
NumberOfControlPoints:0
CONNECTION
-Box40:Out:Box00:TypeOrientation
-NumberOfControlPoints:0
-CONNECTION
Box40:Out:Box41:In
NumberOfControlPoints:0
CONNECTION
Box40:Out:Box42:In
NumberOfControlPoints:0
CONNECTION
-Box42:Out:Box27:RotateWXYZ
-NumberOfControlPoints:0
-CONNECTION
-Box20:Size:Box44:In
-NumberOfControlPoints:0
-CONNECTION
Box44:Out:Box36:FirstValue
NumberOfControlPoints:0
CONNECTION
Box17:Out:Box32:In
NumberOfControlPoints:0
CONNECTION
-Box41:Out:Box17:RotateWXYZ
-NumberOfControlPoints:0
-CONNECTION
Box52:Out:Box17:In
NumberOfControlPoints:0
CONNECTION
Box40:Out:Box53:In
NumberOfControlPoints:0
CONNECTION
-Box53:Out:Box52:RotateWXYZ
-NumberOfControlPoints:0
-CONNECTION
-Box54:Out:Box32:Translate
-NumberOfControlPoints:0
-CONNECTION
-Box19:Out:Box54:In0
-NumberOfControlPoints:0
-CONNECTION
-Box55:Out:Box54:In1
-NumberOfControlPoints:0
-CONNECTION
Box40:Out:Box55:In
NumberOfControlPoints:0
CONNECTION
Box60:Out:Box00:Slice
NumberOfControlPoints:0
CONNECTION
-Box60:Out:Box18:In3
-NumberOfControlPoints:0
-CONNECTION
Box61:Out:Box26:Renderer
NumberOfControlPoints:0
CONNECTION
CONNECTION
Box04:BoxChange:BoxChangeImageSlice:BoxChangeImageSlice
NumberOfControlPoints:0
+CONNECTION
+Box60:Out:Box72:In2
+NumberOfControlPoints:0
+CONNECTION
+Box72:Out:Box73:In1
+NumberOfControlPoints:0
+CONNECTION
+Box55:Out:Box73:In2
+NumberOfControlPoints:0
+CONNECTION
+Box18:Out:Box32:Translate
+NumberOfControlPoints:0
+CONNECTION
+Box73:Out:Box18:In3
+NumberOfControlPoints:0
+CONNECTION
+Box40:Out:Box74:In
+NumberOfControlPoints:0
+CONNECTION
+Box20:Spacing:Box75:In
+NumberOfControlPoints:0
+CONNECTION
+Box74:Out:Box75:I
+NumberOfControlPoints:0
+CONNECTION
+Box57:BoxChange:Box76:BoxExecute
+NumberOfControlPoints:0
+CONNECTION
+Box57:Out:Box76:In
+NumberOfControlPoints:0
+CONNECTION
+Box79:Out:Box52:In
+NumberOfControlPoints:0
+CONNECTION
+Box00:Out:Box80:In
+NumberOfControlPoints:0
+CONNECTION
+Box80:Out:Box04:In
+NumberOfControlPoints:0
+CONNECTION
+Box20:Spacing:Box79:Scale
+NumberOfControlPoints:0
+CONNECTION
+Box41:Out:Box17:RotateWXYZ
+NumberOfControlPoints:0
+CONNECTION
+Box40:Out:Box81:In
+NumberOfControlPoints:0
+CONNECTION
+Box81:Out:Box00:TypeOrientation
+NumberOfControlPoints:0
+CONNECTION
+Box20:Size:Box82:In0
+NumberOfControlPoints:0
+CONNECTION
+Box82:Out:Box34:In
+NumberOfControlPoints:0
+CONNECTION
+Box20:Size:Box44:In
+NumberOfControlPoints:0
APP_END
include vtk
include std
include creaVtk
+include wx
define SliceImage-3DVisu creaMaracasVisu
set Box18.In1 "0 "
set Box18.In2 "0 "
-new std:MathOperationVector Box19
- set Box19.Type "2"
-
new vtk:ImageVtkProperties Box20
new creaVtk:ScalarsToColors Box22
set Box26.lstPointZ "0 0 0 0 0"
new vtk:Transform Box27
- set Box27.RotateWXYZ "-90 0 0 1"
new std:CreateArithmeticSuiteVector Box33
set Box33.Delta "0"
new std:StringSelect Box41
set Box41.In0 "0 1 0 0"
- set Box41.In1 "-90 1 0 0"
- set Box41.In2 "90 0 0 1"
+ set Box41.In1 "90 1 0 0"
+ set Box41.In2 "-90 0 1 0"
new std:StringSelect Box42
set Box42.In0 "0 1 0 0"
new std:StringSelect Box45
set Box45.In0 "0"
- set Box45.In1 "2"
+ set Box45.In1 "0"
set Box45.In2 "2"
new std:StringSelect Box46
set Box46.In0 "1"
- set Box46.In1 "0"
+ set Box46.In1 "2"
set Box46.In2 "1"
new vtk:Transform Box52
set Box53.In1 "0 1 0 0"
set Box53.In2 "-90 0 1 0"
-new std:MathOperationVector Box54
- set Box54.Type "2"
-
new std:StringSelect Box55
- set Box55.In0 "0 0 1"
- set Box55.In1 "0 0 1"
- set Box55.In2 "0 0 -1"
+ set Box55.In0 "1"
+ set Box55.In1 "-1"
+ set Box55.In2 "-1"
new std:ConcatStrings Box57
set Box57.In2 " "
new std:Add Box70
+new std:MathOperation Box72
+ set Box72.In1 "1"
+ set Box72.Type "2"
+
+new std:MathOperation Box73
+ set Box73.Type "2"
+
+new std:StringSelect Box74
+ set Box74.In0 "2"
+ set Box74.In1 "0"
+ set Box74.In2 "1"
+
+new std:GetVectorDoubleElement Box75
+
+new wx:OutputText Box76
+
+new vtk:Transform Box79
+ set Box79.Scale "1 1 1"
+
+new creaMaracasVisu:ImageChangeInformation Box80
+ set Box80.NewSpacing "1 1 1"
+
+new std:StringSelect Box81
+ set Box81.In0 "0"
+ set Box81.In1 "-1"
+ set Box81.In2 "-2"
+
+new std:MathOperationVector Box82
+ set Box82.In1 "-1 -1 -1"
+ set Box82.Type "0"
+
-connect Box00.Out Box04.In
-connect Box20.Spacing Box19.In0
-connect Box18.Out Box19.In1
connect Box22.LookupTable Box04.LookupTable
connect Box32.Out Box04.Transform
connect Box26.BoxChange Box04.BoxExecute
connect Box32.Out Box27.In
connect Box27.Out Box26.Transform
-connect Box20.Size Box34.In
connect Box34.Out Box33.FirstValue
connect Box33.ArithmeticSuiteVector Box35.In0
connect Box35.Out Box26.lstPointX
connect Box36.ArithmeticSuiteVector Box37.In0
connect Box37.Out Box26.lstPointY
-connect Box20.Spacing Box27.Scale
connect Box38.Out Box00.In
connect Box38.Out Box20.In
-connect Box40.Out Box00.TypeOrientation
connect Box40.Out Box41.In
connect Box40.Out Box42.In
-connect Box42.Out Box27.RotateWXYZ
-connect Box20.Size Box44.In
connect Box44.Out Box36.FirstValue
connect Box40.Out Box45.In
connect Box40.Out Box46.In
connect Box45.Out Box34.I
connect Box46.Out Box44.I
connect Box17.Out Box32.In
-connect Box41.Out Box17.RotateWXYZ
connect Box52.Out Box17.In
connect Box40.Out Box53.In
-connect Box53.Out Box52.RotateWXYZ
-connect Box54.Out Box32.Translate
-connect Box19.Out Box54.In0
-connect Box55.Out Box54.In1
connect Box40.Out Box55.In
connect Box57.Out Box22.Range
connect Box60.Out Box00.Slice
-connect Box60.Out Box18.In3
connect Box61.Out Box26.Renderer
connect Box61.Out Box04.Renderer
connect Box62.Out Box26.Colour
connect Box66.Out Box70.In1
connect Box68.Out Box70.In2
connect Box70.Out Box57.In3
+connect Box60.Out Box72.In2
+connect Box72.Out Box73.In1
+connect Box55.Out Box73.In2
+connect Box18.Out Box32.Translate
+connect Box73.Out Box18.In3
+connect Box40.Out Box74.In
+connect Box20.Spacing Box75.In
+connect Box74.Out Box75.I
+connect Box57.BoxChange Box76.BoxExecute
+connect Box57.Out Box76.In
+connect Box79.Out Box52.In
+connect Box00.Out Box80.In
+connect Box80.Out Box04.In
+connect Box20.Spacing Box79.Scale
+connect Box41.Out Box17.RotateWXYZ
+connect Box40.Out Box81.In
+connect Box81.Out Box00.TypeOrientation
+connect Box20.Size Box82.In0
+connect Box82.Out Box34.In
+connect Box20.Size Box44.In
# Complex input ports
input Direction Box40.In1 " "
imageReslice->SetResliceAxesOrigin( slice*bbGetInputIn()->GetSpacing()[0] ,0 ,0);
} else if (bbGetInputTypeOrientation()==2)
{
- // Orientation 2 = YZ
- // v1 = [ 0 , 0 ,-1 ]
- // v2 = [ 1 , 0 , 0 ]
- // v3 = [ 0 ,-1 , 0 ]
+ // Orientation 2 = Y-Z
+ // v1 = [ 0 , 1 ,0 ]
+ // v2 = [ 0 , 0 ,-1 ]
+ // v3 = [ -1 ,0 , 0 ]
+ // SetResliceAxesDirectionCosines(v1x,v2x,v3x,v1y,v2y,v3y,v1z,v2z,v3z);
+ imageReslice->SetResliceAxesDirectionCosines( 0,1,0, 0,0,-1, -1,0,0 );
+ imageReslice->SetResliceAxesOrigin( slice*bbGetInputIn()->GetSpacing()[0] ,0 ,0);
+ } else if (bbGetInputTypeOrientation()==-2)
+ {
+ // Orientation -2 = ZY
+ // v1 = [ 0 , 0 , 1 ]
+ // v2 = [ 0 , 1 , 0 ]
+ // v3 = [ -1, 0 , 0 ]
// SetResliceAxesDirectionCosines(v1x,v2x,v3x,v1y,v2y,v3y,v1z,v2z,v3z);
- imageReslice->SetResliceAxesDirectionCosines(0,1,0, 0,0,-1 ,-1,0,0);
+ imageReslice->SetResliceAxesDirectionCosines( 0,0,1, 0,1,0, -1,0,0 );
imageReslice->SetResliceAxesOrigin( slice*bbGetInputIn()->GetSpacing()[0] ,0 ,0);
} else if (bbGetInputTypeOrientation()==1) {
- // Orientation 1 = XZ
+ // Orientation 1 = X-Z
+ // v1 = [ 1 , 0 , 0 ]
+ // v2 = [ 0 , 0 , -1 ]
+ // v3 = [ 0 ,1 , 0 ]
+ // SetResliceAxesDirectionCosines(v1x,v2x,v3x,v1y,v2y,v3y,v1z,v2z,v3z);
+ imageReslice->SetResliceAxesDirectionCosines( 1,0,0, 0,0,-1, 0,1,0 );
+ imageReslice->SetResliceAxesOrigin(0, slice*bbGetInputIn()->GetSpacing()[1],0 );
+ } else if (bbGetInputTypeOrientation()==-1) {
+ // Orientation -1 = XZ
// v1 = [ 1 , 0 , 0 ]
// v2 = [ 0 , 0 , 1 ]
// v3 = [ 0 ,-1 , 0 ]
// SetResliceAxesDirectionCosines(v1x,v2x,v3x,v1y,v2y,v3y,v1z,v2z,v3z);
- imageReslice->SetResliceAxesDirectionCosines(1,0,0, 0,0,-1 ,0,1,0);
+ imageReslice->SetResliceAxesDirectionCosines( 1,0,0, 0,0,1, 0,-1,0 );
imageReslice->SetResliceAxesOrigin(0, slice*bbGetInputIn()->GetSpacing()[1],0 );
} else
{
imageReslice->SetInterpolationModeToLinear();
+
+
+
+
+
+
+
//EED 2017-01-01 Migration VTK7
#if VTK_MAJOR_VERSION <= 5
imagedata = imageReslice->GetOutput();
BBTK_INPUT(SliceImage,Slice,"Slice",double,"");
BBTK_INPUT(SliceImage,Z,"Z (deprecated)",double,"");
BBTK_INPUT(SliceImage,ResliceAxesDirectionCosines,"ResliceAxesDirectionCosines [v1x,v1y,v1z,v2x,v2y,v2z,v3x,v3y,v3z], ",std::vector<double>,"");
-BBTK_INPUT(SliceImage,TypeOrientation,"Type orientation (default 0) 0=XY, 1=XZ, 2=YZ, 3=Free (Set the input ResliceAxesDirectionCosines)",int,"");
+BBTK_INPUT(SliceImage,TypeOrientation,"Type orientation (default 0) 0=XY, 1=X-Z, -1=XZ, 2=Y-Z, -2=ZY, 3=Free (Set the input ResliceAxesDirectionCosines)",int,"");
BBTK_OUTPUT(SliceImage,Out,"Output image",vtkImageData *,"");
BBTK_END_DESCRIBE_BLACK_BOX(SliceImage);
}