3
Yd                 @   s  d Z ddlZddlmZmZmZmZmZmZm	Z	m
Z
mZmZ G dd deZG dd deZG d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&eZG d'd( d(eZG d)d* d*eZG d+d, d,eZ G d-d. d.eZ!G d/d0 d0eZ"G d1d2 d2eZ#G d3d4 d4eZ$G d5d6 d6eZ%G d7d8 d8eZ&G d9d: d:eZ'G d;d< d<eZ(G d=d> d>eZ)G d?d@ d@eZ*G dAdB dBeZ+G dCdD dDeZ,G dEdF dFeZ-G dGdH dHeZ.G dIdJ dJeZ/G dKdL dLeZ0G dMdN dNeZ1G dOdP dPeZ2G dQdR dReZ3G dSdT dTeZ4G dUdV dVeZ5G dWdX dXeZ6G dYdZ dZeZ7G d[d\ d\eZ8G d]d^ d^eZ9G d_d` d`eZ:G dadb dbeZ;G dcdd ddeZ<G dedf dfeZ=G dgdh dheZ>G didj djeZ?G dkdl dleZ@G dmdn dneZAG dodp dpeZBdS )qzuAutogenerated file - DO NOT EDIT
If you spot a bug, please report it on the mailing list and/or change the generator.    N   )
CommandLineCommandLineInputSpecSEMLikeCommandLineTraitedSpecFile	Directorytraits	isdefinedInputMultiPathOutputMultiPathc               @   sH  e Zd ZeddddZeddddZejddd	Zejd
dd	Z	ej
ddd	Zejddddd	Zejddddd	Zejddd	Zej
ddd	Zejddddd	Zejddd d!d"d#d$d%d&d'd	
Zejd(d)d*d	Zejeje d+d,d-d.Zejeje d+d/d0d.Zejeje d+d1d2d.Zejd3d4d	Zejd5d6d	Zejd7d8d9dd:Zd;S )<&JistLaminarVolumetricLayeringInputSpecz%Inner Distance Image (GM/WM boundary)Tz--inInner %s)descexistsargstrz&Outer Distance Image (CSF/GM boundary)z--inOuter %szNumber of layersz--inNumber %d)r   r   z(Max iterations for narrow band evolutionz
--inMax %dz*Min change ratio for narrow band evolutionz
--inMin %fzdistance-preservingzvolume-preservingzLayering methodz--inLayering %sZoutwardZinwardzLayering directionz--inLayering2 %sz&curvature approximation scale (voxels)z--incurvature %dz$ratio smoothing kernel size (voxels)z--inratio %ftruefalsezpre-smooth cortical surfacesz--inpresmooth %sz26/6z6/26z18/6z6/18z6/6wcswconoTopologyz--inTopology %snrrdzOutput File Typez--xPrefExt %sFzContinuous depth measurementz--outContinuous %s)
hash_filesr   r   zDiscrete sampled layersz--outDiscrete %szLayer boundary surfacesz--outLayer %szExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %d   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   
usedefaultN)__name__
__module____qualname__r   ZinInnerZinOuterr	   IntinNumberinMaxFloatinMinEnumZ
inLayeringZinLayering2ZincurvatureZinratioZinpresmooth
inTopologyxPrefExtEitherBooloutContinuousoutDiscreteoutLayerStrnullxDefaultMemxMaxProcess r/   r/   S/var/www/html/virt/lib/python3.6/site-packages/nipype/interfaces/mipav/developer.pyr      s|   




r   c               @   s0   e Zd ZedddZedddZedddZdS )'JistLaminarVolumetricLayeringOutputSpeczContinuous depth measurementT)r   r   zDiscrete sampled layerszLayer boundary surfacesN)r   r   r   r   r(   r)   r*   r/   r/   r/   r0   r1   f   s   r1   c               @   s,   e Zd ZdZeZeZdZddddZ	dZ
dS )	JistLaminarVolumetricLayeringaa  Volumetric Layering.

    Builds a continuous layering of the cortex following distance-preserving or volume-preserving
    models of cortical folding.

    References
    ----------
    Waehnert MD, Dinse J, Weiss M, Streicher MN, Waehnert P, Geyer S, Turner R, Bazin PL,
    Anatomically motivated modeling of cortical laminae, Neuroimage, 2013.

    zYjava edu.jhu.ece.iacl.jist.cli.run de.mpg.cbs.jist.laminar.JistLaminarVolumetricLayering zoutContinuous.niizoutLayer.niizoutDiscrete.nii)r(   r*   r)   TN)r   r   r   __doc__r   
input_specr1   output_spec_cmd_outputs_filenames_redirect_xr/   r/   r/   r0   r2   l   s   r2   c               @   s  e Zd ZeddddZeddddZeddddZed	dd
dZeddddZeddddZ	e
jdddZe
jdddZe
jdddZe
jdddZe
jdddZe
jdddZe
jddddd d!d"d#d$d%d
Ze
jd&d'd(d)dZe
jd&d'd*d+dZe
jd,d-d.d/dZe
jd0d1d2dZe
je
je d3d4d5d6Ze
je
je d3d7d8d6Ze
je
je d3d9d:d6Ze
je
je d3d;d<d6Ze
jd=d>dZ e
jd?d@dZ!e
jdAdBdCddDZ"dES )F"JistBrainMgdmSegmentationInputSpeczMP2RAGE T1 Map ImageTz--inMP2RAGE %s)r   r   r   zMP2RAGE T1-weighted Imagez--inMP2RAGE2 %szPV / Dura Imagez	--inPV %szMPRAGE T1-weighted Imagez--inMPRAGE %szFLAIR Imagez--inFLAIR %sz
Atlas filez--inAtlas %szData weightz--inData %f)r   r   zCurvature weightz--inCurvature %fzPosterior scale (mm)z--inPosterior %fzMax iterationsz
--inMax %dz
Min changez
--inMin %fZStepsz--inSteps %dz26/6z6/26z18/6z6/18z6/6r   r   r   r   z--inTopology %sr   r   zCompute posteriorsz--inCompute %szAdjust intensity priorsz--inAdjust %sZsegmentationZmembershipszOutput imagesz--inOutput %sr   zOutput File Typez--xPrefExt %sFzSegmented Brain Imagez--outSegmented %s)r   r   r   zLevelset Boundary Imagez--outLevelset %sz"Posterior Maximum Memberships (4D)z--outPosterior2 %szPosterior Maximum Labels (4D)z--outPosterior3 %szExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)#r   r   r   r   Z	inMP2RAGEZ
inMP2RAGE2inPVZinMPRAGEinFLAIRinAtlasr	   r!   ZinDataZinCurvatureZinPosteriorr   r    r"   ZinStepsr#   r$   Z	inComputeZinAdjustinOutputr%   r&   r'   outSegmentedoutLevelsetoutPosterior2outPosterior3r+   r,   r-   r.   r/   r/   r/   r0   r9      s   
r9   c               @   s<   e Zd ZedddZedddZedddZedddZdS )#JistBrainMgdmSegmentationOutputSpeczSegmented Brain ImageT)r   r   zLevelset Boundary Imagez"Posterior Maximum Memberships (4D)zPosterior Maximum Labels (4D)N)r   r   r   r   r>   r?   r@   rA   r/   r/   r/   r0   rB      s   rB   c               @   s.   e Zd ZdZeZeZdZdddddZ	dZ
d	S )
JistBrainMgdmSegmentationzMGDM Whole Brain Segmentation.

    Estimate brain structures from an atlas for a MRI dataset (multiple input combinations
    are possible).

    zSjava edu.jhu.ece.iacl.jist.cli.run de.mpg.cbs.jist.brain.JistBrainMgdmSegmentation zoutSegmented.niizoutPosterior2.niizoutPosterior3.niizoutLevelset.nii)r>   r@   rA   r?   TN)r   r   r   r3   r9   r4   rB   r5   r6   r7   r8   r/   r/   r/   r0   rC      s   rC   c               @   s   e Zd ZeddddZejddddd	d
ddddd
ZejdddddZej	dddZ
ej	dddZejddddZejeje ddddZejdd dZejd!d"dZejd#d$d%dd&Zd'S )(#JistLaminarProfileGeometryInputSpeczProfile Surface ImageTz--inProfile %s)r   r   r   Z	thicknessZ
curvednessZshape_indexZmean_curvatureZgauss_curvatureZprofile_lengthZprofile_curvatureZprofile_torsionzcomputed measurez--incomputed %s)r   r   noneZGaussianZregularizationz--inregularization %szsmoothing parameterz--insmoothing %fzoutside extension (mm)z--inoutside %fr   zOutput File Typez--xPrefExt %sFResultz--outResult %s)r   r   r   zExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   	inProfiler	   r#   
incomputedZinregularizationr!   ZinsmoothingZ	inoutsider%   r&   r'   	outResultr+   r,   r   r-   r.   r/   r/   r/   r0   rD      s6   
rD   c               @   s   e Zd ZedddZdS )$JistLaminarProfileGeometryOutputSpecrF   T)r   r   N)r   r   r   r   rI   r/   r/   r/   r0   rJ     s   rJ   c               @   s(   e Zd ZdZeZeZdZddiZ	dZ
dS )JistLaminarProfileGeometryz;Compute various geometric quantities for a cortical layers.zVjava edu.jhu.ece.iacl.jist.cli.run de.mpg.cbs.jist.laminar.JistLaminarProfileGeometry rI   zoutResult.niiTN)r   r   r   r3   rD   r4   rJ   r5   r6   r7   r8   r/   r/   r/   r0   rK     s   rK   c               @   s   e Zd ZeddddZeddddZejddd	d
dddZejddddZ	ej
eje ddddZejdddZejdddZejdddddZdS )%JistLaminarProfileCalculatorInputSpeczIntensity Profile ImageTz--inIntensity %s)r   r   r   zMask Image (opt, 3D or 4D)z--inMask %sZmeanZstdevZskewnessZkurtosiszcomputed statisticz--incomputed %s)r   r   r   zOutput File Typez--xPrefExt %sFrF   z--outResult %s)r   r   r   zExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   inIntensityinMaskr	   r#   rH   r%   r&   r'   rI   r+   r,   r   r-   r.   r/   r/   r/   r0   rL     s*   
rL   c               @   s   e Zd ZedddZdS )&JistLaminarProfileCalculatorOutputSpecrF   T)r   r   N)r   r   r   r   rI   r/   r/   r/   r0   rO   <  s   rO   c               @   s(   e Zd ZdZeZeZdZddiZ	dZ
dS )JistLaminarProfileCalculatorzHCompute various moments for intensities mapped along a cortical profile.zXjava edu.jhu.ece.iacl.jist.cli.run de.mpg.cbs.jist.laminar.JistLaminarProfileCalculator rI   zoutResult.niiTN)r   r   r   r3   rL   r4   rO   r5   r6   r7   r8   r/   r/   r/   r0   rP   @  s   rP   c               @   s   e Zd ZeddddZejdddZejdd	dZ	ejd
ddZ
ejdddZejdddZejdddZejdddZejdddddZejddddZejeje ddddZejeje ddd dZejd!d"dZejd#d$dZejd%d&d'dd(Zd)S )*MedicAlgorithmN3InputSpeczInput VolumeTz--inInput %s)r   r   r   zVDefault = min + 1, Values at less than threshold are treated as part of the backgroundz--inSignal %f)r   r   zMaximum number of Iterationsz--inMaximum %dzUsually 0.01-0.00001, The measure used to terminate the iterations is the coefficient of variation of change in field estimates between successive iterations.z
--inEnd %fa  Characteristic distance over which the field varies. The distance between adjacent knots in bspline fitting with at least 4 knots going in every dimension. The default in the dialog is one third the distance (resolution * extents) of the smallest dimension.z--inField %fzUsually between 1-32, The factor by which the data is subsampled to a lower resolution in estimating the slowly varying non-uniformity field. Reduce sampling in the finest sampling direction by the shrink factor.z--inSubsample %fzUsually between 0.05-0.50, Width of deconvolution kernel used to sharpen the histogram. Larger values give faster convergence while smaller values give greater accuracy.z--inKernel %fzUsually between 0.0-1.0z--inWeiner %fr   r   zxIf true determines the threshold by histogram analysis. If true a VOI cannot be used and the input threshold is ignored.z--inAutomatic %sr   zOutput File Typez--xPrefExt %sFzInhomogeneity Corrected Volumez--outInhomogeneity %s)r   r   r   zInhomogeneity Fieldz--outInhomogeneity2 %szExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   inInputr	   r!   ZinSignalr   	inMaximumZinEndinFieldinSubsampleZinKernelZinWeinerr#   ZinAutomaticr%   r&   r'   outInhomogeneityoutInhomogeneity2r+   r,   r-   r.   r/   r/   r/   r0   rQ   J  sX   
rQ   c               @   s$   e Zd ZedddZedddZdS )MedicAlgorithmN3OutputSpeczInhomogeneity Corrected VolumeT)r   r   zInhomogeneity FieldN)r   r   r   r   rV   rW   r/   r/   r/   r0   rX     s   rX   c               @   s*   e Zd ZdZeZeZdZdddZ	dZ
dS )MedicAlgorithmN3zPNon-parametric Intensity Non-uniformity Correction, N3, originally by J.G. Sled.z\java edu.jhu.ece.iacl.jist.cli.run edu.jhu.ece.iacl.plugins.classification.MedicAlgorithmN3 zoutInhomogeneity2.niizoutInhomogeneity.nii)rW   rV   TN)r   r   r   r3   rQ   r4   rX   r5   r6   r7   r8   r/   r/   r/   r0   rY     s   rY   c               @   s   e Zd ZeddddZeddddZejddd	Zed
dddZ	ej
dddd	Zejeje ddddZejddd	Zejddd	ZejdddddZdS ) JistLaminarROIAveragingInputSpeczIntensity Profile ImageTz--inIntensity %s)r   r   r   zROI Maskz
--inROI %szROI Namez--inROI2 %s)r   r   zMask Image (opt, 3D or 4D)z--inMask %sr   zOutput File Typez--xPrefExt %sFzROI Averagez--outROI3 %s)r   r   r   zExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   rM   ZinROIr	   r+   ZinROI2rN   r#   r%   r&   r'   outROI3r,   r   r-   r.   r/   r/   r/   r0   rZ     s    
rZ   c               @   s   e Zd ZedddZdS )!JistLaminarROIAveragingOutputSpeczROI AverageT)r   r   N)r   r   r   r   r[   r/   r/   r/   r0   r\     s   r\   c               @   s(   e Zd ZdZeZeZdZddiZ	dZ
dS )JistLaminarROIAveragingz,Compute an average profile over a given ROI.zSjava edu.jhu.ece.iacl.jist.cli.run de.mpg.cbs.jist.laminar.JistLaminarROIAveraging r[   TN)r   r   r   r3   rZ   r4   r\   r5   r6   r7   r8   r/   r/   r/   r0   r]     s   r]   c               @   sp  e Zd ZeddddZeddddZeddddZejd	d
dddZ	ejdddddddZ
ejdddddZejdddddZejdddddZeddddZeddddZed dd!dZejd"d#dZejd$d%dZejd&d'dZejddd(d)dZejd*d+dZejd,d-dZejd.d/dZejd0d1dZejd2d3d4d5dZejd6d7d8d9d:d;dZejd<d=d>dZejeje d?d@dAdBZ ejeje d?dCdDdBZ!ejeje d?dEdFdBZ"ejeje d?dGdHdBZ#ejeje d?dIdJdBZ$ejeje d?dKdLdBZ%ejeje d?dMdNdBZ&ejeje d?dOdPdBZ'ejeje d?dQdRdBZ(ej)dSdTdZ*ejdUdVdZ+ejdWdXdYddZZ,d[S )\"MedicAlgorithmLesionToadsInputSpeczT1_MPRAGE ImageTz--inT1_MPRAGE %s)r   r   r   zT1_SPGR Imagez--inT1_SPGR %szFLAIR Imagez--inFLAIR %szWith Lesionz	No LesionzAtlas to Usez--inAtlas %s)r   r   zhard segmentationzhard segmentation+membershipszcruise inputszdura removal inputszOutput imagesz--inOutput %sr   r   z_Output the hard classification using maximum membership (not neceesarily topologically correct)z--inOutput2 %szCorrect MR field inhomogeneity.z--inCorrect %sz(Output the estimated inhomogeneity fieldz--inOutput3 %szAtlas File - With Lesionsz--inAtlas2 %sz%Atlas File - No Lesion - T1 and FLAIRz--inAtlas3 %sz Atlas File - No Lesion - T1 Onlyz--inAtlas4 %szrMaximum distance from the interventricular WM boundary to downweight the lesion membership to avoid false postivesz--inMaximum %dzMaximum Ventircle Distancez--inMaximum2 %dz!Maximum InterVentricular Distancez--inMaximum3 %dz1Include lesion in WM class in hard classificationz--inInclude %sz@Controls the effect of the statistical atlas on the segmentationz--inAtlas5 %fz<Controls the effect of neighberhood voxels on the membershipz--inSmooting %fz_Maximum amount of relative change in the energy function considered as the convergence criteriaz--inMaximum4 %fzMaximum iterationsz--inMaximum5 %dZrigidZmulti_fully_affinezAtlas alignmentz--inAtlas6 %sz(26,6)z(6,26)z(6,18)z(18,6)z$Connectivity (foreground,background)z--inConnectivity %sr   zOutput File Typez--xPrefExt %sFzHard segmentationz--outHard %s)r   r   r   z!Hard segmentationfrom membershipsz--outHard2 %szInhomogeneity Fieldz--outInhomogeneity %szMembership Functionsz--outMembership %szLesion Segmentationz--outLesion %szSulcal CSF Membershipz--outSulcal %szCortical GM Membershipz--outCortical %szFilled WM Membershipz--outFilled %szWM Maskz
--outWM %szExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)-r   r   r   r   ZinT1_MPRAGEZ	inT1_SPGRr;   r	   r#   r<   r=   	inOutput2Z	inCorrect	inOutput3ZinAtlas2ZinAtlas3ZinAtlas4r   rS   Z
inMaximum2Z
inMaximum3Z	inIncluder!   ZinAtlas5Z
inSmootingZ
inMaximum4Z
inMaximum5ZinAtlas6ZinConnectivityr%   r&   r'   outHardoutHard2rV   outMembership	outLesion	outSulcaloutCortical	outFilledoutWMr+   r,   r-   r.   r/   r/   r/   r0   r^     s   

r^   c               @   sx   e Zd ZedddZedddZedddZedddZedddZedddZ	ed	ddZ
ed
ddZedddZdS )#MedicAlgorithmLesionToadsOutputSpeczHard segmentationT)r   r   z!Hard segmentationfrom membershipszInhomogeneity FieldzMembership FunctionszLesion SegmentationzSulcal CSF MembershipzCortical GM MembershipzFilled WM MembershipzWM MaskN)r   r   r   r   ra   rb   rV   rc   rd   re   rf   rg   rh   r/   r/   r/   r0   ri   Q  s   ri   c            
   @   s8   e Zd ZdZeZeZdZddddddd	d
dd	Z	dZ
dS )MedicAlgorithmLesionToadsa  Algorithm for simulataneous brain structures and MS lesion segmentation of MS Brains.

    The brain segmentation is topologically consistent and the algorithm can use multiple
    MR sequences as input data.

    References
    ----------
    N. Shiee, P.-L. Bazin, A.Z. Ozturk, P.A. Calabresi, D.S. Reich, D.L. Pham,
    "A Topology-Preserving Approach to the Segmentation of Brain Images with Multiple Sclerosis",
    NeuroImage, vol. 49, no. 2, pp. 1524-1535, 2010.

    zejava edu.jhu.ece.iacl.jist.cli.run edu.jhu.ece.iacl.plugins.classification.MedicAlgorithmLesionToads z	outWM.niizoutHard.niizoutFilled.niizoutMembership.niizoutInhomogeneity.niizoutCortical.niizoutHard2.niizoutLesion.niizoutSulcal.nii)	rh   ra   rg   rc   rV   rf   rb   rd   re   TN)r   r   r   r3   r^   r4   ri   r5   r6   r7   r8   r/   r/   r/   r0   rj   ]  s   rj   c               @   s   e Zd ZeddddZeddddZeddddZed	dd
dZej	dddddZ
ej	ddddZejeje ddddZejeje ddddZejeje ddddZejeje ddddZejdddZejdd dZejd!d"d#dd$Zd%S )&'JistBrainMp2rageSkullStrippingInputSpeczSecond inversion (Inv2) ImageTz--inSecond %s)r   r   r   zT1 Map (T1_Images) Image (opt)z	--inT1 %szT1-weighted (UNI) Image (opt)z--inT1weighted %szFilter Image (opt)z--inFilter %sr   r   zSkip zero valuesz--inSkip %s)r   r   r   zOutput File Typez--xPrefExt %sFzBrain Mask Imagez--outBrain %s)r   r   r   zMasked T1 Map Imagez--outMasked %szMasked T1-weighted Imagez--outMasked2 %szMasked Filter Imagez--outMasked3 %szExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   inSecondZinT1inT1weightedZinFilterr	   r#   inSkipr%   r&   r'   outBrain	outMasked
outMasked2
outMasked3r+   r,   r   r-   r.   r/   r/   r/   r0   rk   |  sP   
rk   c               @   s<   e Zd ZedddZedddZedddZedddZdS )(JistBrainMp2rageSkullStrippingOutputSpeczBrain Mask ImageT)r   r   zMasked T1 Map ImagezMasked T1-weighted ImagezMasked Filter ImageN)r   r   r   r   ro   rp   rq   rr   r/   r/   r/   r0   rs     s   rs   c               @   s.   e Zd ZdZeZeZdZdddddZ	dZ
d	S )
JistBrainMp2rageSkullStrippingzmEstimate a brain mask for a MP2RAGE dataset.

    At least a T1-weighted or a T1 map image is required.

    zXjava edu.jhu.ece.iacl.jist.cli.run de.mpg.cbs.jist.brain.JistBrainMp2rageSkullStripping zoutBrain.niizoutMasked3.niizoutMasked2.niizoutMasked.nii)ro   rr   rq   rp   TN)r   r   r   r3   rk   r4   rs   r5   r6   r7   r8   r/   r/   r/   r0   rt     s   rt   c               @   s   e Zd ZeddddZejdddZejdd	dZej	d
ddZ
ej	dddZejdddddZejddddddddddd
ZejddddZejeje dd d!d"Zejeje dd#d$d"Zejd%d&dZej	d'd(dZej	d)d*d+dd,Zd-S ).'JistCortexSurfaceMeshInflationInputSpeczLevelset ImageTz--inLevelset %s)r   r   r   zSOR Parameterz
--inSOR %f)r   r   zMean Curvature Thresholdz--inMean %fz	Step Sizez--inStep %dzMax Iterationsz
--inMax %dr   r   zLorentzian Normz--inLorentzian %sz26/6z6/26z18/6z6/18z6/6r   r   r   r   z--inTopology %sr   zOutput File Typez--xPrefExt %sFzOriginal Surfacez--outOriginal %s)r   r   r   zInflated Surfacez--outInflated %szExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   Z
inLevelsetr	   r!   ZinSORZinMeanr   ZinStepr    r#   ZinLorentzianr$   r%   r&   r'   outOriginaloutInflatedr+   r,   r-   r.   r/   r/   r/   r0   ru     sN   
ru   c               @   s$   e Zd ZedddZedddZdS )(JistCortexSurfaceMeshInflationOutputSpeczOriginal SurfaceT)r   r   zInflated SurfaceN)r   r   r   r   rv   rw   r/   r/   r/   r0   rx     s   rx   c               @   s*   e Zd ZdZeZeZdZdddZ	dZ
dS )JistCortexSurfaceMeshInflationzInflates a cortical surface mesh.

    References
    ----------
    D. Tosun, M. E. Rettmann, X. Han, X. Tao, C. Xu, S. M. Resnick, D. Pham, and J. L. Prince,
    Cortical Surface Segmentation and Mapping, NeuroImage, vol. 23, pp. S108--S118, 2004.

    zYjava edu.jhu.ece.iacl.jist.cli.run de.mpg.cbs.jist.cortex.JistCortexSurfaceMeshInflation rv   rw   )rv   rw   TN)r   r   r   r3   ru   r4   rx   r5   r6   r7   r8   r/   r/   r/   r0   ry     s   
ry   c               @   s   e Zd ZejdddZejdddZejdddZejdd	dZejd
ddZ	ej
dddZejdddZejdddZejddddddZejddddZejeje ddddZejdddZejd d!dZejd"d#d$d%d&Zd'S )(RandomVolInputSpeczSize of Volume in X directionz--inSize %d)r   r   zSize of Volume in Y directionz--inSize2 %dzSize of Volume in Z directionz--inSize3 %dzSize of Volume in t directionz--inSize4 %dz*Standard Deviation for Normal Distributionz--inStandard %dz)Lambda Value for Exponential Distributionz--inLambda %fzMaximum Valuez--inMaximum %dzMinimum Valuez--inMinimum %dZUniformZNormalZExponentialZFieldz--inField %sr   zOutput File Typez--xPrefExt %sFRand1z--outRand1 %s)r   r   r   zExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %dT)r   r   r   N)r   r   r   r	   r   ZinSizeZinSize2ZinSize3ZinSize4Z
inStandardr!   ZinLambdarS   	inMinimumr#   rT   r%   r&   r'   r   outRand1r+   r,   r-   r.   r/   r/   r/   r0   rz     s.   


rz   c               @   s   e Zd ZedddZdS )RandomVolOutputSpecr{   T)r   r   N)r   r   r   r   r}   r/   r/   r/   r0   r~   /  s   r~   c               @   s(   e Zd ZdZeZeZdZddiZ	dZ
dS )	RandomVolz$Generate a volume of random scalars.zDjava edu.jhu.ece.iacl.jist.cli.run edu.jhu.bme.smile.demo.RandomVol r}   zoutRand1.niiTN)r   r   r   r3   rz   r4   r~   r5   r6   r7   r8   r/   r/   r/   r0   r   3  s   r   c            
   @   s   e Zd ZeddddZeddddZejddd	d
dddddZejddddZ	ej
eje ddddZejdddZejdddZejdddddZdS ) &MedicAlgorithmImageCalculatorInputSpeczVolume 1Tz--inVolume %s)r   r   r   zVolume 2z--inVolume2 %sAddZSubtractZMultiplyZDivideZMinZMaxZ	Operationz--inOperation %s)r   r   r   zOutput File Typez--xPrefExt %sFzResult Volumez--outResult %s)r   r   r   zExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   ZinVolumeZ	inVolume2r	   r#   ZinOperationr%   r&   r'   rI   r+   r,   r   r-   r.   r/   r/   r/   r0   r   =  s4   
r   c               @   s   e Zd ZedddZdS )'MedicAlgorithmImageCalculatorOutputSpeczResult VolumeT)r   r   N)r   r   r   r   rI   r/   r/   r/   r0   r   ^  s   r   c               @   s(   e Zd ZdZeZeZdZddiZ	dZ
dS )MedicAlgorithmImageCalculatorzPerform simple image calculator operations on two images.

    The operations include 'Add', 'Subtract', 'Multiply', and 'Divide'

    zijava edu.jhu.ece.iacl.jist.cli.run edu.jhu.ece.iacl.plugins.utilities.math.MedicAlgorithmImageCalculator rI   zoutResult.niiTN)r   r   r   r3   r   r4   r   r5   r6   r7   r8   r/   r/   r/   r0   r   b  s   r   c            	   @   s   e Zd ZeddddZeddddZejddd	Zej	d
ddddddd	Z
ej	dddd	Zejeje ddddZejddd	Zejddd	ZejdddddZd S )!'JistBrainMp2rageDuraEstimationInputSpeczSecond inversion (Inv2) ImageTz--inSecond %s)r   r   r   zSkull Stripping Maskz--inSkull %szDistance to background (mm)z--inDistance %f)r   r   Zdura_regionboundaryZ
dura_priorZbg_priorZintens_priorzXOutputs an estimate of the dura / CSF boundary or an estimate of the entire dura region.z--inoutput %sr   zOutput File Typez--xPrefExt %sFz
Dura Imagez--outDura %s)r   r   r   zExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   rl   ZinSkullr	   r!   Z
inDistancer#   inoutputr%   r&   r'   outDurar+   r,   r   r-   r.   r/   r/   r/   r0   r   p  s0   

r   c               @   s   e Zd ZedddZdS )(JistBrainMp2rageDuraEstimationOutputSpecz
Dura ImageT)r   r   N)r   r   r   r   r   r/   r/   r/   r0   r     s   r   c               @   s(   e Zd ZdZeZeZdZddiZ	dZ
dS )JistBrainMp2rageDuraEstimationzIFilters a MP2RAGE brain image to obtain a probability map of dura matter.zXjava edu.jhu.ece.iacl.jist.cli.run de.mpg.cbs.jist.brain.JistBrainMp2rageDuraEstimation r   zoutDura.niiTN)r   r   r   r3   r   r4   r   r5   r6   r7   r8   r/   r/   r/   r0   r     s   r   c               @   s   e Zd ZeddddZeddddZeddddZejd	d
ddZ	ej
eje ddddZej
eje ddddZejdddZejdddZejdddddZdS )#JistLaminarProfileSamplingInputSpeczProfile Surface ImageTz--inProfile %s)r   r   r   zIntensity Imagez--inIntensity %szCortex Mask (opt)z--inCortex %sr   zOutput File Typez--xPrefExt %s)r   r   FzProfile-mapped Intensity Imagez--outProfilemapped %s)r   r   r   zProfile 4D Maskz--outProfile2 %szExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   rG   rM   ZinCortexr	   r#   r%   r&   r'   outProfilemappedoutProfile2r+   r,   r   r-   r.   r/   r/   r/   r0   r     s0   
r   c               @   s$   e Zd ZedddZedddZdS )$JistLaminarProfileSamplingOutputSpeczProfile-mapped Intensity ImageT)r   r   zProfile 4D MaskN)r   r   r   r   r   r   r/   r/   r/   r0   r     s   r   c               @   s*   e Zd ZdZeZeZdZdddZ	dZ
dS )JistLaminarProfileSamplingzKSample some intensity image along a cortical profile across layer surfaces.zVjava edu.jhu.ece.iacl.jist.cli.run de.mpg.cbs.jist.laminar.JistLaminarProfileSampling zoutProfile2.niizoutProfilemapped.nii)r   r   TN)r   r   r   r3   r   r4   r   r5   r6   r7   r8   r/   r/   r/   r0   r     s   r   c               @   s,  e Zd ZeeddddZeddddZejd	d
dddddZ	ejdddddddddd	Z
ejdddddddddd	Zejdddddddddd	Zejddddd d!dZejd"d#d$d%d&d'd(d)d*d+d
Zejd,d-d.d/d0d1dZejd2d3d4dZeed5dd6dZejd7d8dZejd9d:dZejd;d<d=dd>Zd?S )@$MedicAlgorithmMipavReorientInputSpecZSource;z--inSource %s)r   sepr   TemplateTz--inTemplate %s)r   r   r   zDicom axialzDicom coronalzDicom sagittalzUser definedzNew image orientationz
--inNew %s)r   r   UnknownzPatient Right to LeftzPatient Left to RightzPatient Posterior to AnteriorzPatient Anterior to PosteriorzPatient Inferior to SuperiorzPatient Superior to Inferiorz5User defined X-axis orientation (image left to right)z--inUser %sz5User defined Y-axis orientation (image top to bottom)z--inUser2 %sz1User defined Z-axis orientation (into the screen)z--inUser3 %sZAxialZCoronalZSagittalzUser defined Image Orientationz--inUser4 %szNearest Neighbor	TrilinearzBspline 3rd orderzBspline 4th orderzCubic LagrangianzQuintic LagrangianzHeptic LagrangianzWindowed SincInterpolationz--inInterpolation %sZ	UnchangedzFinest cubiczCoarsest cubiczSame as template
Resolutionz--inResolution %sr   zOutput File Typez--xPrefExt %szReoriented Volumez--outReoriented %szExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   r   ZinSourceZ
inTemplater	   r#   ZinNewZinUserZinUser2ZinUser3ZinUser4ZinInterpolationZinResolutionr%   ZoutReorientedr+   r,   r   r-   r.   r/   r/   r/   r0   r     s   
r   c               @   s   e Zd ZdS )%MedicAlgorithmMipavReorientOutputSpecN)r   r   r   r/   r/   r/   r0   r   (  s   r   c               @   s$   e Zd ZdZeZeZdZi Z	dZ
dS )MedicAlgorithmMipavReorientz9Reorient a volume to a particular anatomical orientation.zijava edu.jhu.ece.iacl.jist.cli.run edu.jhu.ece.iacl.plugins.utilities.volume.MedicAlgorithmMipavReorient TN)r   r   r   r3   r   r4   r   r5   r6   r7   r8   r/   r/   r/   r0   r   ,  s   r   c               @   sj  e Zd ZeddddZeddddZejddd	Zej	d
ddddddd	Z
ej	ddddd	Zej	ddddd	Zej	ddddd	Zej	ddddd	Zejddd	Zejddd	Zejdd d	Zejd!d"d	Zej	ddd#d$d	Zejd%d&Zejd'd&Zej	ddd(d)d	Zej	ddd*d+d	Zej	ddd,d-d	Zej	d.d/d0d1d2d3d	Zej	d4d5d6d7d8d9d	Zej	d:d;d<d=d>d?d@dAdBd		Zej	d:d;d<d=d>d?d@dCdDdEd	
Zej	dFdGdHdIdJdKd	ZejdLdMd	ZejdNdOd	Z ejdPdQd	Z!ejdRdSd	Z"ejdTdUd	Z#ejdVdWd	Z$ejdXdYd	Z%ej	dddZd[d	Z&ej	ddd\d]d	Z'ej	ddd^d_d	Z(ej	ddd`dad	Z)ej	dbdcddd	Z*ej+ej,e dedfdgdhZ-ej+ej,e dedidjdhZ.ej+ej,e dedkdldhZ/ej+ej,e dedmdndhZ0ej+ej,e dedodpdhZ1ej+ej,e dedqdrdhZ2ej+ej,e dedsdtdhZ3ej+ej,e dedudvdhZ4ej+ej,e dedwdxdhZ5ej6dydzd	Z7ejd{d|d	Z8ejd}d~dddZ9dS )"MedicAlgorithmSPECTRE2010InputSpecz!Input volume to be skullstripped.Tz--inInput %s)r   r   r   zRSPECTRE atlas description file. A text file enumerating atlas files and landmarks.z--inAtlas %szErosion of the inital mask, which is based on the probability mask and the classification., The initial mask is ouput as the d0 volume at the conclusion of SPECTRE.z--inInitial %d)r   r   ZT1_SPGRZT1_ALTZ	T1_MPRAGEZT2ZFLAIRzKSet the image modality. MP-RAGE is recommended for most T1 sequence images.z--inImage %sr   r   zaDetermines if the output results are transformed back into the space of the original input image.z--inOutput %szFind Midsaggital Planez--inFind %szRun Smooth Brain Maskz
--inRun %szJDetermines if the data is resampled to be isotropic during the processing.z--inResample %szInitial probability thresholdz--inInitial2 %fzMinimum probability thresholdz--inMinimum %fzHThe size of the dilation step within the Modified Morphological Closing.z
--inMMC %dzGThe size of the erosion step within the Modified Morphological Closing.z--inMMC2 %dzySet to false by default, this parameter will make FANTASM try to do inhomogeneity correction during it's iterative cycle.z--inInhomogeneity %sz--inSmoothing %f)r   z--inBackground %fzOutput Plane?z--inOutput2 %szOutput Split-Halves?z--inOutput3 %szOutput Segmentation on Plane?z--inOutput4 %sz	Rigid - 6zGlobal rescale - 7zSpecific rescale - 9zAffine - 12zDegrees of freedomz--inDegrees %szCorrelation ratiozLeast squareszNormalized cross correlationzNormalized mutual informationzCost functionz--inCost %sr   zBspline 3rd orderzBspline 4th orderzCubic LagrangianzQuintic LagrangianzHeptic LagrangianzWindowed sinczRegistration interpolationz--inRegistration %szNearest NeighborzOutput interpolationz--inOutput5 %sZAllXYZzApply rotationz--inApply %szMinimum anglez--inMinimum2 %fzMaximum anglez--inMaximum %fzCoarse angle incrementz--inCoarse %fzFine angle incrementz--inFine %fz,Multiple of tolerance to bracket the minimumz--inMultiple %dzNumber of iterationsz--inNumber %dz0Number of minima from Level 8 to test at Level 4z--inNumber2 %dzFUse the max of the min resolutions of the two datasets when resamplingz
--inUse %szSubsample image for speedz--inSubsample %sz=Skip multilevel search (Assume images are close to alignment)z--inSkip %szgSet to false by default, this parameter controls the multithreaded behavior of the linear registration.z--inMultithreading %sr   zOutput File Typez--xPrefExt %sFzIf Output in Original Space Flag is true then outputs the original input volume. Otherwise outputs the axialy reoriented input volume.z--outOriginal %s)r   r   r   z=Skullstripped result of the input volume with just the brain.z--outStripped %sz;Binary Mask of the skullstripped result with just the brainz--outMask %sz.Probability prior from the atlas registrationsz--outPrior %sz3Tissue classification of of the whole input volume.z--outFANTASM %szInitial Brainmaskz
--outd0 %sz$Plane dividing the brain hemispheresz--outMidsagittal %sz=Skullstripped mask of the brain with the hemispheres divided.z--outSplitHalves %szC2D image showing the tissue classification on the midsagittal planez--outSegmentation %szExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N):r   r   r   r   rR   r<   r	   r   Z	inInitialr#   ZinImager=   ZinFindZinRunZ
inResampler!   Z
inInitial2r|   ZinMMCZinMMC2ZinInhomogeneityZinSmoothinginBackgroundr_   r`   Z	inOutput4Z	inDegreesZinCostZinRegistrationZ	inOutput5ZinApplyZ
inMinimum2rS   ZinCoarseZinFineZ
inMultipler   Z	inNumber2inUserU   rn   ZinMultithreadingr%   r&   r'   rv   outStrippedoutMaskoutPrior
outFANTASMoutd0outMidsagittaloutSplitHalvesoutSegmentationr+   r,   r-   r.   r/   r/   r/   r0   r   6  sh  




r   c               @   sx   e Zd ZedddZedddZedddZedddZedddZedddZ	ed	ddZ
ed
ddZedddZdS )#MedicAlgorithmSPECTRE2010OutputSpeczIf Output in Original Space Flag is true then outputs the original input volume. Otherwise outputs the axialy reoriented input volume.T)r   r   z=Skullstripped result of the input volume with just the brain.z;Binary Mask of the skullstripped result with just the brainz.Probability prior from the atlas registrationsz3Tissue classification of of the whole input volume.zInitial Brainmaskz$Plane dividing the brain hemispheresz=Skullstripped mask of the brain with the hemispheres divided.zC2D image showing the tissue classification on the midsagittal planeN)r   r   r   r   rv   r   r   r   r   r   r   r   r   r/   r/   r/   r0   r     s&   

r   c            
   @   s8   e Zd ZdZeZeZdZddddddd	d
dd	Z	dZ
dS )MedicAlgorithmSPECTRE2010a  SPECTRE 2010: Simple Paradigm for Extra-Cranial Tissue REmoval [1]_, [2]_.

    References
    ----------

    .. [1] A. Carass, M.B. Wheeler, J. Cuzzocreo, P.-L. Bazin, S.S. Bassett, and J.L. Prince,
           'A Joint Registration and Segmentation Approach to Skull Stripping',
           Fourth IEEE International Symposium on Biomedical Imaging (ISBI 2007), Arlington, VA,
           April 12-15, 2007.
    .. [2] A. Carass, J. Cuzzocreo, M.B. Wheeler, P.-L. Bazin, S.M. Resnick, and J.L. Prince,
           'Simple paradigm for extra-cerebral tissue removal: Algorithm and analysis',
           NeuroImage 56(4):1982-1992, 2011.

    zojava edu.jhu.ece.iacl.jist.cli.run edu.jhu.ece.iacl.plugins.segmentation.skull_strip.MedicAlgorithmSPECTRE2010 z	outd0.niizoutOriginal.niizoutMask.niizoutSplitHalves.niizoutMidsagittal.niizoutPrior.niizoutFANTASM.niizoutSegmentation.niizoutStripped.nii)	r   rv   r   r   r   r   r   r   r   TN)r   r   r   r3   r   r4   r   r5   r6   r7   r8   r/   r/   r/   r0   r   /  s   r   c               @   s   e Zd ZeddddZejddddd	d
Zejddddd
Zejdddd
Z	ej
eje ddddZejddd
Zejddd
ZejdddddZdS )%JistBrainPartialVolumeFilterInputSpeczInput ImageTz--inInput %s)r   r   r   ZbrightZdarkZbothzWOutputs the raw intensity values or a probability score for the partial volume regions.z	--inPV %s)r   r   ZprobabilityZ	intensityoutputz--inoutput %sr   zOutput File Typez--xPrefExt %sFzPartial Volume Imagez--outPartial %s)r   r   r   zExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   rR   r	   r#   r:   r   r%   r&   r'   
outPartialr+   r,   r   r-   r.   r/   r/   r/   r0   r   P  s0   
r   c               @   s   e Zd ZedddZdS )&JistBrainPartialVolumeFilterOutputSpeczPartial Volume ImageT)r   r   N)r   r   r   r   r   r/   r/   r/   r0   r   p  s   r   c               @   s(   e Zd ZdZeZeZdZddiZ	dZ
dS )JistBrainPartialVolumeFilterz|Partial Volume Filter.

    Filters an image for regions of partial voluming assuming a ridge-like model of intensity.

    zVjava edu.jhu.ece.iacl.jist.cli.run de.mpg.cbs.jist.brain.JistBrainPartialVolumeFilter r   zoutPartial.niiTN)r   r   r   r3   r   r4   r   r5   r6   r7   r8   r/   r/   r/   r0   r   t  s   r   c               @   s
  e Zd ZeddddZeddddZeddddZejd	d
dddZ	ejdddddZ
ejdddddZejddddZejeje ddddZejeje ddddZejeje ddd dZejeje dd!d"dZejd#d$dZejd%d&dZejd'd(d)dd*Zd+S ),$JistIntensityMp2rageMaskingInputSpeczSecond inversion (Inv2) ImageTz--inSecond %s)r   r   r   z%Quantitative T1 Map (T1_Images) Imagez--inQuantitative %szT1-weighted (UNI) Imagez--inT1weighted %sZexponentialzhalf-normalz`Model distribution for background noise (default is half-normal, exponential is more stringent).z--inBackground %s)r   r   r   r   zSkip zero valuesz--inSkip %sbinaryZprobazQWhether to use a binary threshold or a weighted average based on the probability.z--inMasking %sr   zOutput File Typez--xPrefExt %sFzSignal Proba Imagez--outSignal_Proba %s)r   r   r   zSignal Mask Imagez--outSignal_Mask %szMasked T1 Map Imagez--outMasked_T1_Map %szMasked Iso Imagez--outMasked_T1weighted %szExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %d)r   r   r   N)r   r   r   r   rl   ZinQuantitativerm   r	   r#   r   rn   Z	inMaskingr%   r&   r'   	outSignal
outSignal2rp   rq   r+   r,   r   r-   r.   r/   r/   r/   r0   r     sh   
r   c               @   s<   e Zd ZedddZedddZedddZedddZdS )%JistIntensityMp2rageMaskingOutputSpeczSignal Proba ImageT)r   r   zSignal Mask ImagezMasked T1 Map ImagezMasked Iso ImageN)r   r   r   r   r   r   rp   rq   r/   r/   r/   r0   r     s   r   c               @   s.   e Zd ZdZeZeZdZdddddZ	dZ
d	S )
JistIntensityMp2rageMaskingz8Estimate a background signal mask for a MP2RAGE dataset.zYjava edu.jhu.ece.iacl.jist.cli.run de.mpg.cbs.jist.intensity.JistIntensityMp2rageMasking zoutSignal2.niizoutSignal.niizoutMasked2.niizoutMasked.nii)r   r   rq   rp   TN)r   r   r   r3   r   r4   r   r5   r6   r7   r8   r/   r/   r/   r0   r     s   r   c               @   s   e Zd ZeeddddZejdddZejdd	dZ	ej
d
ddddZej
ddddZeeddddZejdddZejdddZejdddddZdS ),MedicAlgorithmThresholdToBinaryMaskInputSpeczInput volumesr   z--inLabel %s)r   r   r   zMinimum threshold value.z--inMinimum %f)r   r   zMaximum threshold value.z--inMaximum %fr   r   z;Use the images max intensity as the max value of the range.z
--inUse %sr   zOutput File Typez--xPrefExt %szBinary Maskz--outBinary %szExecution Timez	--null %szSet default maximum heap sizez-xDefaultMem %dr   z(Set default maximum number of processes.z-xMaxProcess %dT)r   r   r   N)r   r   r   r   r   ZinLabelr	   r!   r|   rS   r#   r   r%   Z	outBinaryr+   r,   r   r-   r.   r/   r/   r/   r0   r     s&   
r   c               @   s   e Zd ZdS )-MedicAlgorithmThresholdToBinaryMaskOutputSpecN)r   r   r   r/   r/   r/   r0   r     s   r   c               @   s$   e Zd ZdZeZeZdZi Z	dZ
dS )#MedicAlgorithmThresholdToBinaryMaskz}Threshold to Binary Mask.

    Given a volume and an intensity range create a binary mask for values within that range.

    zqjava edu.jhu.ece.iacl.jist.cli.run edu.jhu.ece.iacl.plugins.utilities.volume.MedicAlgorithmThresholdToBinaryMask TN)r   r   r   r3   r   r4   r   r5   r6   r7   r8   r/   r/   r/   r0   r     s   r   )Cr3   osbaser   r   r   r   r   r   r	   r
   r   r   r   r1   r2   r9   rB   rC   rD   rJ   rK   rL   rO   rP   rQ   rX   rY   rZ   r\   r]   r^   ri   rj   rk   rs   rt   ru   rx   ry   rz   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r/   r/   r/   r0   <module>   st   0PO#

9
 30 
!!
X
 ^! B