Regression slicer SALT

Hi @bpaniagua and others,

I have a question regarding the regression tool in slicer SALT. I have longitudinal data (2 timepoints) for a group of patients and controls. I want to see where and how much (and also preferably test for this) the shape changes from timepoint 1 to tp 2. When I use the regression tool in SlicerSALT, I can only specify a minimum of 10 timepoints, however in the timepoints range I can set it to 1 to 2, and in the setup of the model this is also possible. Does this mean that the regression computation tool computes a projection(regression) for 10 timepoints based on the two timepoints I input?

Thanks in advance, and looking forward to hearing from you!

Best,
Jasper

Hi Jasper,

First, about the number of time points. This setting refers to the time discretization, that is the number of points between the earliest and latest observation. If number of time points is 20, your output will consist of a sequence of 20 shapes. I hope this explanation makes sense.

To address your main question, the regression module in SlicerSALT is intended for longitudinal data with at least 3 time points. There is a way to use the regression module for registration with only 2 timepoints, but it is currently not available through SALT.

You can still use the command line application shape4D which comes with SALT at the path lib/SlicerSALT-4.11/cli-modules (your directory may have a different version name). Here is an example driver xml file.

<?xml version="1.0">
<experiment name="RegistrationExample">
  <algorithm name="RegressionVelocity">
    <source>
      <input>
        <shape>/path/to/your/shape_timepoint_1.vtk</shape>
      </input>
      <sigmaV> 15.0 </sigmaV>
      <gammaR> 0.01 </gammaR>
      <t0> 0 </t0>
      <tn> 1 </tn>
      <T> 20 </T>
      <kernelType> p3m </kernelType>
      <estimateBaseline> 0 </estimateBaseline>
      <useFista> 0 </useFista>
      <breakRatio> 1e-8 </breakRatio>
      <maxIters> 1000 </maxIters>
      <output>
        <saveProgress> 100 </saveProgress>
        <dir> /path/to/output-dir/ </dir>
        <prefix>out_shape_</prefix>
      </output>
    </source>
    <targets>
      <target>
        <shape>/path/to/shape_timepoint_2.vtk</shape>
        <type>SURFACE</type>
        <tris>0</tris>
        <sigmaW>12</sigmaW>
        <timept>1</timept>
        <weight>1</weight>
      </target>
    </targets>
  </algorithm>
</experiment>

You may have to change values of sigmaV, gammaR, and sigmaW to better suit your specific data.

Let me know if you are unfamiliar with running command line applications and need more assistance.

Cheers,
James

2 Likes