The filter won't accept the gradient list directly, the
::SetGradientList() method expects an std::vector< itk::Vector< double, 3>> as argument, whereas the DiffusionImage::GetDirections() returns an itk::VectorContainer< vnl_vector_fixed< double, 3> >
so even the CastToSTLContainer() method provided by the VectorContainer does not provide the correct type for the TensorToDiffusionImageFilter. On the other side the filter only accesses the directions by the at( uint idx) method, so the container types can be easily switched.