Пример #1
0
def test_check_images():
    data = np.zeros((91, 91, 60))
    affine = np.eye(4)
    affine[:, 3] = np.ones(4)
    file1 = '/tmp/file1.nii'
    file2 = '/tmp/file2.nii'
    file3 = '/tmp/file3.nii'
    nibabel.Nifti1Image(data, affine).to_filename(file1)
    nibabel.Nifti1Image(data, affine * 3).to_filename(file2)
    nibabel.Nifti1Image(data + 1, affine * 3).to_filename(file3)
    _utils.check_images(file1, file1)
    assert_raises(ValueError, _utils.check_images, file1, file2)
    assert_raises(ValueError, _utils.check_images, file1, file3)
Пример #2
0
def test_check_images():
    data = np.zeros((91, 91, 60))
    affine = np.eye(4)
    affine[:, 3] = np.ones(4)
    file1 = '/tmp/file1.nii'
    file2 = '/tmp/file2.nii'
    file3 = '/tmp/file3.nii'
    nibabel.Nifti1Image(data, affine).to_filename(file1)
    nibabel.Nifti1Image(data, affine * 3).to_filename(file2)
    nibabel.Nifti1Image(data + 1, affine * 3).to_filename(file3)
    _utils.check_images(file1, file1)
    assert_raises(ValueError, _utils.check_images, file1, file2)
    assert_raises(ValueError, _utils.check_images, file1, file3)
Пример #3
0
def apply_mask(in_file, mask_file, mask_value=np.nan):
    """Masks input with a binary mask_file.
    """
    # Load images
    image = nibabel.load(in_file)
    data = image.get_data()
    mask_image = nibabel.load(mask_file)
    mask_data = mask_image.get_data()

    # Check shapes and affines
    check_images(in_file, mask_file)

    # Compute the masked image
    data[mask_data == 0] = mask_value
    out_image = nibabel.Nifti1Image(data, image.get_affine(),
                                    image.get_header())
    out_file = add_prefix('masked_', in_file)
    nibabel.save(out_image, out_file)
    return out_file
Пример #4
0
def apply_mask(in_file, mask_file, mask_value=np.nan, out_file=None):
    """Masks input with a binary mask_file.
    Parameters
    ----------
    in_file : str
        Path to the 3D image

    mask_file : str
        Path to the binary mask image

    mask_value : float, optional
        Value to allocate to masked voxels.

    out_file : str or None, optional
        Path to the masked image

    Returns
    -------
    out_file : str
        Path to the masked image
    """
    # Load images
    image = nibabel.load(in_file)
    data = image.get_data()
    mask_image = nibabel.load(mask_file)
    mask_data = mask_image.get_data()

    # Check shapes and affines
    check_images(in_file, mask_file)

    # Compute the masked image
    data[mask_data == 0] = mask_value
    out_image = nibabel.Nifti1Image(data, image.get_affine(),
                                    image.get_header())
    if out_file is None:
        out_file = _add_prefix('masked_', in_file)

    nibabel.save(out_image, out_file)
    return out_file