@@ -647,8 +647,9 @@ def _format_arg(self, opt, spec, val):
647
647
if not self ._quantilesDone :
648
648
return self ._formatWinsorizeImageIntensities ()
649
649
return '' # Must return something for argstr!
650
- elif opt == 'collapse_linear_transforms_to_fixed_image_header' :
651
- return '' # Command no longer exist, so return empty string for backwards compatibility
650
+ # This feature was removed from recent versions of antsRegistration due to corrupt outputs.
651
+ #elif opt == 'collapse_linear_transforms_to_fixed_image_header':
652
+ # return self._formatCollapseLinearTransformsToFixedImageHeader()
652
653
return super (Registration , self )._format_arg (opt , spec , val )
653
654
654
655
def _outputFileNames (self , prefix , count , transform , inverse = False ):
@@ -684,91 +685,93 @@ def _list_outputs(self):
684
685
if isdefined (self .inputs .invert_initial_moving_transform ):
685
686
invert_initial_moving_transform = self .inputs .invert_initial_moving_transform
686
687
687
- if not self .inputs .collapse_output_transforms :
688
- transformCount = 0
689
- if isdefined (self .inputs .initial_moving_transform ):
690
- outputs ['forward_transforms' ].append (
691
- self .inputs .initial_moving_transform )
692
- outputs ['forward_invert_flags' ].append (
693
- invert_initial_moving_transform )
694
- outputs ['reverse_transforms' ].insert (
695
- 0 , self .inputs .initial_moving_transform )
696
- outputs ['reverse_invert_flags' ].insert (
697
- 0 , not invert_initial_moving_transform ) # Prepend
698
- transformCount += 1
699
- elif isdefined (self .inputs .initial_moving_transform_com ):
700
- forwardFileName , forwardInverseMode = self ._outputFileNames (
701
- self .inputs .output_transform_prefix ,
702
- transformCount ,
703
- 'Initial' )
704
- reverseFileName , reverseInverseMode = self ._outputFileNames (
705
- self .inputs .output_transform_prefix ,
706
- transformCount ,
707
- 'Initial' ,
708
- True )
709
- outputs ['forward_transforms' ].append (os .path .abspath (forwardFileName ))
710
- outputs ['forward_invert_flags' ].append (False )
711
- outputs ['reverse_transforms' ].insert (0 ,
712
- os .path .abspath (reverseFileName ))
713
- outputs ['reverse_invert_flags' ].insert (0 , True )
714
- transformCount += 1
715
-
716
- for count in range (len (self .inputs .transforms )):
717
- forwardFileName , forwardInverseMode = self ._outputFileNames (
718
- self .inputs .output_transform_prefix , transformCount ,
719
- self .inputs .transforms [count ])
720
- reverseFileName , reverseInverseMode = self ._outputFileNames (
721
- self .inputs .output_transform_prefix , transformCount ,
722
- self .inputs .transforms [count ], True )
723
- outputs ['forward_transforms' ].append (
724
- os .path .abspath (forwardFileName ))
725
- outputs ['forward_invert_flags' ].append (forwardInverseMode )
726
- outputs ['reverse_transforms' ].insert (
727
- 0 , os .path .abspath (reverseFileName ))
728
- outputs [
729
- 'reverse_invert_flags' ].insert (0 , reverseInverseMode )
730
- transformCount += 1
731
- elif not self .inputs .write_composite_transform :
732
- transformCount = 0
733
- isLinear = [any (self ._linear_transform_names == t )
734
- for t in self .inputs .transforms ]
735
- collapse_list = []
736
-
737
- if isdefined (self .inputs .initial_moving_transform ) or \
738
- isdefined (self .inputs .initial_moving_transform_com ):
739
- isLinear .insert (0 , True )
740
-
741
- # Only files returned by collapse_output_transforms
742
- if any (isLinear ):
743
- collapse_list .append ('GenericAffine' )
744
- if not all (isLinear ):
745
- collapse_list .append ('SyN' )
746
-
747
- for transform in collapse_list :
748
- forwardFileName , forwardInverseMode = self ._outputFileNames (
749
- self .inputs .output_transform_prefix ,
750
- transformCount ,
751
- transform ,
752
- inverse = False )
753
- reverseFileName , reverseInverseMode = self ._outputFileNames (
754
- self .inputs .output_transform_prefix ,
755
- transformCount ,
756
- transform ,
757
- inverse = True )
758
- outputs ['forward_transforms' ].append (os .path .abspath (
759
- forwardFileName ))
760
- outputs ['forward_invert_flags' ].append (forwardInverseMode )
761
- outputs ['reverse_transforms' ].append (
762
- os .path .abspath (reverseFileName ))
763
- outputs ['reverse_invert_flags' ].append (reverseInverseMode )
764
- transformCount += 1
765
688
if self .inputs .write_composite_transform :
766
689
fileName = self .inputs .output_transform_prefix + 'Composite.h5'
767
690
outputs ['composite_transform' ] = [os .path .abspath (fileName )]
768
691
fileName = self .inputs .output_transform_prefix + \
769
692
'InverseComposite.h5'
770
693
outputs ['inverse_composite_transform' ] = [
771
694
os .path .abspath (fileName )]
695
+ else : # If composite transforms are written, then individuals are not written (as of 2014-10-26
696
+ if not self .inputs .collapse_output_transforms :
697
+ transformCount = 0
698
+ if isdefined (self .inputs .initial_moving_transform ):
699
+ outputs ['forward_transforms' ].append (
700
+ self .inputs .initial_moving_transform )
701
+ outputs ['forward_invert_flags' ].append (
702
+ invert_initial_moving_transform )
703
+ outputs ['reverse_transforms' ].insert (
704
+ 0 , self .inputs .initial_moving_transform )
705
+ outputs ['reverse_invert_flags' ].insert (
706
+ 0 , not invert_initial_moving_transform ) # Prepend
707
+ transformCount += 1
708
+ elif isdefined (self .inputs .initial_moving_transform_com ):
709
+ forwardFileName , forwardInverseMode = self ._outputFileNames (
710
+ self .inputs .output_transform_prefix ,
711
+ transformCount ,
712
+ 'Initial' )
713
+ reverseFileName , reverseInverseMode = self ._outputFileNames (
714
+ self .inputs .output_transform_prefix ,
715
+ transformCount ,
716
+ 'Initial' ,
717
+ True )
718
+ outputs ['forward_transforms' ].append (os .path .abspath (forwardFileName ))
719
+ outputs ['forward_invert_flags' ].append (False )
720
+ outputs ['reverse_transforms' ].insert (0 ,
721
+ os .path .abspath (reverseFileName ))
722
+ outputs ['reverse_invert_flags' ].insert (0 , True )
723
+ transformCount += 1
724
+
725
+ for count in range (len (self .inputs .transforms )):
726
+ forwardFileName , forwardInverseMode = self ._outputFileNames (
727
+ self .inputs .output_transform_prefix , transformCount ,
728
+ self .inputs .transforms [count ])
729
+ reverseFileName , reverseInverseMode = self ._outputFileNames (
730
+ self .inputs .output_transform_prefix , transformCount ,
731
+ self .inputs .transforms [count ], True )
732
+ outputs ['forward_transforms' ].append (
733
+ os .path .abspath (forwardFileName ))
734
+ outputs ['forward_invert_flags' ].append (forwardInverseMode )
735
+ outputs ['reverse_transforms' ].insert (
736
+ 0 , os .path .abspath (reverseFileName ))
737
+ outputs [
738
+ 'reverse_invert_flags' ].insert (0 , reverseInverseMode )
739
+ transformCount += 1
740
+ else :
741
+ transformCount = 0
742
+ isLinear = [any (self ._linear_transform_names == t )
743
+ for t in self .inputs .transforms ]
744
+ collapse_list = []
745
+
746
+ if isdefined (self .inputs .initial_moving_transform ) or \
747
+ isdefined (self .inputs .initial_moving_transform_com ):
748
+ isLinear .insert (0 , True )
749
+
750
+ # Only files returned by collapse_output_transforms
751
+ if any (isLinear ):
752
+ collapse_list .append ('GenericAffine' )
753
+ if not all (isLinear ):
754
+ collapse_list .append ('SyN' )
755
+
756
+ for transform in collapse_list :
757
+ forwardFileName , forwardInverseMode = self ._outputFileNames (
758
+ self .inputs .output_transform_prefix ,
759
+ transformCount ,
760
+ transform ,
761
+ inverse = False )
762
+ reverseFileName , reverseInverseMode = self ._outputFileNames (
763
+ self .inputs .output_transform_prefix ,
764
+ transformCount ,
765
+ transform ,
766
+ inverse = True )
767
+ outputs ['forward_transforms' ].append (os .path .abspath (
768
+ forwardFileName ))
769
+ outputs ['forward_invert_flags' ].append (forwardInverseMode )
770
+ outputs ['reverse_transforms' ].append (
771
+ os .path .abspath (reverseFileName ))
772
+ outputs ['reverse_invert_flags' ].append (reverseInverseMode )
773
+ transformCount += 1
774
+
772
775
out_filename = self ._get_outputfilenames (inverse = False )
773
776
inv_out_filename = self ._get_outputfilenames (inverse = True )
774
777
if out_filename :
0 commit comments