From c9e4b8a2fb8f1424af2cc4b57ca9f12bf62d610e Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauldmccarthy@gmail.com>
Date: Thu, 7 Dec 2023 16:08:55 +0000
Subject: [PATCH] ENH,RF: Move dtifit.py to fdt.py; add vecreg wrapper

---
 fsl/wrappers/__init__.py           |  3 ++-
 fsl/wrappers/{dtifit.py => fdt.py} | 24 +++++++++++++++++-------
 2 files changed, 19 insertions(+), 8 deletions(-)
 rename fsl/wrappers/{dtifit.py => fdt.py} (62%)

diff --git a/fsl/wrappers/__init__.py b/fsl/wrappers/__init__.py
index 819a73c3e..651cb4f85 100755
--- a/fsl/wrappers/__init__.py
+++ b/fsl/wrappers/__init__.py
@@ -158,7 +158,8 @@ from fsl.wrappers.bianca             import (bianca,
                                              make_bianca_mask)
 from fsl.wrappers.feat               import (feat,
                                              featquery)
-from fsl.wrappers.dtifit             import  dtifit
+from fsl.wrappers.fdt                import (dtifit,
+                                             vecreg)
 from fsl.wrappers.bedpostx           import (xfibres,
                                              xfibres_gpu,
                                              split_parts_gpu,
diff --git a/fsl/wrappers/dtifit.py b/fsl/wrappers/fdt.py
similarity index 62%
rename from fsl/wrappers/dtifit.py
rename to fsl/wrappers/fdt.py
index 728d2b1eb..d89bdca4d 100644
--- a/fsl/wrappers/dtifit.py
+++ b/fsl/wrappers/fdt.py
@@ -1,16 +1,26 @@
 #!/usr/bin/env python
 #
-# dtifit.py - Wrapper for dtifit.
+# fdt.py - Wrappers for FDT commands.
 #
-# Author: Fidel Alfaro Almagro <fidel.alfaroalmagro@ndcn.ox.ac.uk>
+# Author: Paul McCarthy <pauldmccarthy@gmail.com>
 #
-"""This module provides wrapper functions for the FSL `dtifit
-<https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FDT>`_ command.
-"""
+"""This module contains wrapper functions for various FDT commands. """
 
-import fsl.utils.assertions as asrt
 
-from . import wrapperutils  as wutils
+import fsl.wrappers.wrapperutils as wutils
+
+
+@wutils.fileOrImage('input', 'output', 'ref', 'warpfield',
+                    'rotwarp', 'mask', 'refmask')
+@wutils.fileOrArray('premat', 'postmat', 'rotmat')
+@wutils.fslwrapper
+def vecreg(input, output, ref, **kwargs):
+    """Wrapper for the ``vecreg`` command. """
+
+    cmd  = ['vecreg', '-i', input, '-o', output, '-r', ref]
+    cmd += wutils.applyArgStyle('--=', **kwargs)
+
+    return cmd
 
 
 @wutils.fileOrImage('data', 'mask', 'field', outprefix='out')
-- 
GitLab