forked from Slicer/Slicer
/
vtkFSSurfaceHelper.h
46 lines (33 loc) · 1.4 KB
/
vtkFSSurfaceHelper.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*=auto=========================================================================
Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
See COPYRIGHT.txt
or http://www.slicer.org/copyright/copyright.txt for details.
=========================================================================auto=*/
#ifndef __vtkFSSurfaceHelper_h
#define __vtkFSSurfaceHelper_h
#include "vtkFreeSurferExport.h"
// VTK includes
#include <vtkObject.h>
class vtkMatrix4x4;
/// \brief Provides tools.
///
/// Utility functions associated to FreeSurfer data.
class VTK_FreeSurfer_EXPORT vtkFSSurfaceHelper: public vtkObject
{
public:
static vtkFSSurfaceHelper* New();
/// Convenience method to compute a volume's Vox2RAS-tkreg Matrix
static void ComputeTkRegVox2RASMatrix(double* spacing, int* dimensions, vtkMatrix4x4 *M );
/// Computes matrix we need to register V1Node to V2Node given the
/// "register.dat" matrix from tkregister2 (FreeSurfer)
static void TranslateFreeSurferRegistrationMatrixIntoSlicerRASToRASMatrix(
double* V1Spacing, int* V1Dim, vtkMatrix4x4* V1IJKToRASMatrix,
double* V2Spacing, int* V2Dim, vtkMatrix4x4* V2RASToIJKMatrix,
vtkMatrix4x4 *FSRegistrationMatrix, vtkMatrix4x4 *RAS2RASMatrix);
protected:
vtkFSSurfaceHelper();
private:
vtkFSSurfaceHelper(const vtkFSSurfaceHelper&) = delete;
void operator=(const vtkFSSurfaceHelper&) = delete;
};
#endif