def concat(input, axis, fname_output, pixdim):
    """Concatenate NIfTIs along the specified dimension.

    input: Input paths of the files to concatenate. Separate the files by a space.
    """
    # Create nii list
    list_nii = []
    for fname_file in input:
        nii_input = nib.load(fname_file)
        list_nii.append(nii_input)

    # Call concat API
    dim_list = AXES
    index = dim_list.index(axis)
    nii_out = concat_data(list_nii, index, pixdim)

    # Save image
    nib.save(nii_out, fname_output)
 def test_concat_100(self):
     """Use a list of more than 100 files"""
     out = concat_data(self.list_nii * 34, 4)
     assert out.shape == self.list_nii[0].shape + (1, len(self.list_nii) * 34)  # (128, 68, 20, 1, 3)
 def test_concat_pixdim(self):
     pixdim = 0.2
     out = concat_data(self.list_nii, 2, pixdim=pixdim)
     assert np.all(np.isclose(out.header['pixdim'], [-1, 2.1875, 2.1875, 0.2, 1, 0, 0, 0]))
 def test_concat_dim_1(self):
     out = concat_data(self.list_nii, 1)
     assert out.shape == (128, 204, 20)
 def test_concat_dim_4(self):
     out = concat_data(self.list_nii, 4)
     assert out.shape == self.list_nii[0].shape + (1, len(self.list_nii))  # (128, 68, 20, 1, 3)
 def test_concat_dim_def(self):
     out = concat_data(self.list_nii)
     assert out.shape == self.list_nii[0].shape + (len(self.list_nii),)  # (128, 68, 20, 3)