{ "diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/tmp.e71yeUaV75/b1/nibabel_2.4.1-1_i386.changes", "source2": "/srv/reproducible-results/rbuild-debian/tmp.e71yeUaV75/b2/nibabel_2.4.1-1_i386.changes", "unified_diff": null, "details": [ { "source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- 40668438b58ec309a132967ec9908366 1501100 doc extra python-nibabel-doc_2.4.1-1_all.deb\n+ 86d2b92d8040aaf42d03d1b11cce7063 1500816 doc extra python-nibabel-doc_2.4.1-1_all.deb\n 42b22a6877bfa91c2d4b7ddbb680b06f 2661764 python extra python-nibabel_2.4.1-1_all.deb\n 97821bb40ca1e7529198568d94fd6f8c 2657764 python extra python3-nibabel_2.4.1-1_all.deb\n" }, { "source1": "python-nibabel-doc_2.4.1-1_all.deb", "source2": "python-nibabel-doc_2.4.1-1_all.deb", "unified_diff": null, "details": [ { "source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2019-05-28 13:35:14.000000 debian-binary\n--rw-r--r-- 0 0 0 6220 2019-05-28 13:35:14.000000 control.tar.xz\n--rw-r--r-- 0 0 0 1494688 2019-05-28 13:35:14.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 6232 2019-05-28 13:35:14.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 1494392 2019-05-28 13:35:14.000000 data.tar.xz\n" }, { "source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [ { "source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [ { "source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [ { "source1": "./md5sums", "source2": "./md5sums", "comments": [ "Files differ" ], "unified_diff": null }, { "source1": "line order", "source2": "line order", "unified_diff": "@@ -1,17 +1,17 @@\n usr/share/doc/python-nibabel-doc/changelog.Debian.gz\n usr/share/doc/python-nibabel-doc/changelog.gz\n usr/share/doc/python-nibabel-doc/copyright\n usr/share/doc/python-nibabel-doc/html/.buildinfo\n-usr/share/doc/python-nibabel-doc/html/_downloads/01c0ddb5a01b1855aa9ab2a257e0e71b/cross_product_error.ipynb\n-usr/share/doc/python-nibabel-doc/html/_downloads/039dcaa62222d1acc2e10e4c531009f9/ata_error.ipynb.gz\n-usr/share/doc/python-nibabel-doc/html/_downloads/8e417f4c1773ba9890736796b1bc25d8/someones_epi.nii.gz\n-usr/share/doc/python-nibabel-doc/html/_downloads/91f627dc0e05cfed2c760badc0d68b0b/spm_dicom_orient.py\n-usr/share/doc/python-nibabel-doc/html/_downloads/e7e029cef54a06cf60644ab5a2646f6e/register_me.py\n-usr/share/doc/python-nibabel-doc/html/_downloads/f698b213dbfaca2fd9126e6691ac06f9/someones_anatomy.nii.gz\n+usr/share/doc/python-nibabel-doc/html/_downloads/38974bbb5af6107bf7448530b9559da2/someones_anatomy.nii.gz\n+usr/share/doc/python-nibabel-doc/html/_downloads/600038078c8a32c330fa09f5f4c66d15/spm_dicom_orient.py\n+usr/share/doc/python-nibabel-doc/html/_downloads/952c6388e9e163bd814e7d6e4ccbfdf7/register_me.py\n+usr/share/doc/python-nibabel-doc/html/_downloads/b52f0e2f73c7a60fd7fecc1c2288834b/ata_error.ipynb.gz\n+usr/share/doc/python-nibabel-doc/html/_downloads/bebbb638f579dd26e7deaead08854ab4/someones_epi.nii.gz\n+usr/share/doc/python-nibabel-doc/html/_downloads/c926129d93645beba3b0111671b34176/cross_product_error.ipynb\n usr/share/doc/python-nibabel-doc/html/_images/branch_dropdown.png\n usr/share/doc/python-nibabel-doc/html/_images/coordinate_systems-2.png\n usr/share/doc/python-nibabel-doc/html/_images/coordinate_systems-3_00.png\n usr/share/doc/python-nibabel-doc/html/_images/coordinate_systems-3_01.png\n usr/share/doc/python-nibabel-doc/html/_images/forking_button.png\n usr/share/doc/python-nibabel-doc/html/_images/illustrating_affine.png\n usr/share/doc/python-nibabel-doc/html/_images/localizer.png\n" } ] } ] } ] }, { "source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [ { "source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [ { "source1": "file list", "source2": "file list", "unified_diff": "@@ -5,26 +5,26 @@\n drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/\n -rw-r--r-- 0 root (0) root (0) 2529 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 14629 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/changelog.gz\n -rw-r--r-- 0 root (0) root (0) 3559 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/\n -rw-r--r-- 0 root (0) root (0) 230 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/.buildinfo\n drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/\n-drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/01c0ddb5a01b1855aa9ab2a257e0e71b/\n--rw-r--r-- 0 root (0) root (0) 3248 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/01c0ddb5a01b1855aa9ab2a257e0e71b/cross_product_error.ipynb\n-drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/039dcaa62222d1acc2e10e4c531009f9/\n--rw-r--r-- 0 root (0) root (0) 1965 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/039dcaa62222d1acc2e10e4c531009f9/ata_error.ipynb.gz\n-drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/8e417f4c1773ba9890736796b1bc25d8/\n--rw-r--r-- 0 root (0) root (0) 93749 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/8e417f4c1773ba9890736796b1bc25d8/someones_epi.nii.gz\n-drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/91f627dc0e05cfed2c760badc0d68b0b/\n--rw-r--r-- 0 root (0) root (0) 4378 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/91f627dc0e05cfed2c760badc0d68b0b/spm_dicom_orient.py\n-drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/e7e029cef54a06cf60644ab5a2646f6e/\n--rw-r--r-- 0 root (0) root (0) 1427 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/e7e029cef54a06cf60644ab5a2646f6e/register_me.py\n-drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/f698b213dbfaca2fd9126e6691ac06f9/\n--rw-r--r-- 0 root (0) root (0) 191428 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/f698b213dbfaca2fd9126e6691ac06f9/someones_anatomy.nii.gz\n+drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/38974bbb5af6107bf7448530b9559da2/\n+-rw-r--r-- 0 root (0) root (0) 191428 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/38974bbb5af6107bf7448530b9559da2/someones_anatomy.nii.gz\n+drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/600038078c8a32c330fa09f5f4c66d15/\n+-rw-r--r-- 0 root (0) root (0) 4378 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/600038078c8a32c330fa09f5f4c66d15/spm_dicom_orient.py\n+drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/952c6388e9e163bd814e7d6e4ccbfdf7/\n+-rw-r--r-- 0 root (0) root (0) 1427 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/952c6388e9e163bd814e7d6e4ccbfdf7/register_me.py\n+drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/b52f0e2f73c7a60fd7fecc1c2288834b/\n+-rw-r--r-- 0 root (0) root (0) 1965 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/b52f0e2f73c7a60fd7fecc1c2288834b/ata_error.ipynb.gz\n+drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/bebbb638f579dd26e7deaead08854ab4/\n+-rw-r--r-- 0 root (0) root (0) 93749 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/bebbb638f579dd26e7deaead08854ab4/someones_epi.nii.gz\n+drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/c926129d93645beba3b0111671b34176/\n+-rw-r--r-- 0 root (0) root (0) 3248 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/html/_downloads/c926129d93645beba3b0111671b34176/cross_product_error.ipynb\n drwxr-xr-x 0 root (0) root (0) 0 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_images/\n -rw-r--r-- 0 root (0) root (0) 16311 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/html/_images/branch_dropdown.png\n -rw-r--r-- 0 root (0) root (0) 23943 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_images/coordinate_systems-2.png\n -rw-r--r-- 0 root (0) root (0) 23943 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_images/coordinate_systems-3_00.png\n -rw-r--r-- 0 root (0) root (0) 31554 2019-05-28 13:35:14.000000 ./usr/share/doc/python-nibabel-doc/html/_images/coordinate_systems-3_01.png\n -rw-r--r-- 0 root (0) root (0) 13092 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/html/_images/forking_button.png\n -rw-r--r-- 0 root (0) root (0) 136815 2019-05-27 16:12:33.000000 ./usr/share/doc/python-nibabel-doc/html/_images/illustrating_affine.png\n" }, { "source1": "./usr/share/doc/python-nibabel-doc/html/coordinate_systems.html", "source2": "./usr/share/doc/python-nibabel-doc/html/coordinate_systems.html", "unified_diff": "@@ -121,16 +121,16 @@\n
We have scanned someone called \u201cSomeone\u201d, and we have a two MRI images of\n their brain, a single EPI volume, and a structural scan. In general we never\n use the person\u2019s name in the image filenames, but we make an\n exception in this case:
\nsomeones_epi.nii.gz
.someones_anatomy.nii.gz
.someones_epi.nii.gz
.someones_anatomy.nii.gz
.We can load up the EPI image to get the image data array:
\n>>> import nibabel as nib\n >>> epi_img = nib.load('downloads/someones_epi.nii.gz')\n >>> epi_img_data = epi_img.get_fdata()\n >>> epi_img_data.shape\n (53, 61, 33)\n"
},
{
"source1": "./usr/share/doc/python-nibabel-doc/html/devel/data_pkg_uses.html",
"source2": "./usr/share/doc/python-nibabel-doc/html/devel/data_pkg_uses.html",
"unified_diff": "@@ -297,15 +297,15 @@\n >>> local_usr = dpkg.get_source('local-user')\n >>> local_usr.register(dst)\n >>> local_usr.save()\n
but we wanted to be able to avoid using dpkg
. To do this, there might be\n a supporting script, in the distribution directory, called register_me.py
,\n-of form given in register_me.py
.
register_me.py
.\n The local discovery sources are ini files, so it would be easy to read and use\n these outside the dpkg system, as long as the locations of the ini files are\n well defined. Here is the code from register_me.py
defining these files:
import os\n"
},
{
"source1": "./usr/share/doc/python-nibabel-doc/html/dicom/dicom_orientation.html",
"source2": "./usr/share/doc/python-nibabel-doc/html/dicom/dicom_orientation.html",
"unified_diff": "@@ -363,15 +363,15 @@\n \\[\\begin{Bmatrix}k_{{1}} : \\frac{T^{1}_{{1}} - T^{N}_{{1}}}{1 - N}, & k_{{2}} : \\frac{T^{1}_{{2}} - T^{N}_{{2}}}{1 - N}, & k_{{3}} : \\frac{T^{1}_{{3}} - T^{N}_{{3}}}{1 - N}\\end{Bmatrix}\\]
and therefore:
\nSee derivations/spm_dicom_orient.py
for the derivations and\n+
See derivations/spm_dicom_orient.py
for the derivations and\n some explanations.
We may have the problem (see e.g. Sorting files into volumes) of trying\n to sort a set of slices into anatomical order. For this we want to use\n@@ -418,15 +418,15 @@\n
This is the distance of \u2018ImagePositionPatient\u2019 along the slice direction\n cosine.
\nThe unknown $T^1$ terms pool into a constant, and the operation has the\n neat feature that, because the $n_{123}^2$ terms, by definition, sum to 1,\n the whole can be expressed as $lambda + Delta{s} d$ - i.e. it is\n equal to the slice voxel size ($Delta{s}$) multiplied by $d$,\n plus a constant.
\n-Again, see derivations/spm_dicom_orient.py
for the derivations.
Again, see derivations/spm_dicom_orient.py
for the derivations.
This formula with the definitions above result in the single and multi\n slice formulae in 3D affine formulae.
\n-See derivations/spm_dicom_orient.py
for the derivations and\n+
See derivations/spm_dicom_orient.py
for the derivations and\n some explanations.
Just apply scaling and offset from \u2018RescaleSlope\u2019 and \u2018RescaleIntercept\u2019\n for each slice and write volume.
\nimg_data[:, :, k]
), the resulting slice will have a first array axis\n going from left to right in terms of spatial position and the second array\n axis going from posterior to anterior. If we display this image with the\n first axis going from left to right on screen and the second from bottom to\n top, it will have the subject\u2019s right towards the right of the screen, and\n anterior towards the top of the screen, as neurologists like it. Here we are\n-showing the middle slice of an image
with RAS voxel axes:\n+showing the middle slice of an image
with RAS voxel axes:\n >>> import nibabel as nib\n >>> import matplotlib.pyplot as plt\n >>> img = nib.load('downloads/someones_anatomy.nii.gz')\n >>> # The 3x3 part of the affine is diagonal with all +ve values\n >>> img.affine\n array([[ 2.75, 0. , 0. , -78. ],\n [ 0. , 2.75, 0. , -91. ],\n"
},
{
"source1": "./usr/share/doc/python-nibabel-doc/html/notebooks/index.html",
"source2": "./usr/share/doc/python-nibabel-doc/html/notebooks/index.html",
"unified_diff": "@@ -72,15 +72,15 @@\n \n \n \n \n IPython notebooks for Nibabel project\u00b6
\n \n \n \n \n"
},
{
"source1": "./usr/share/doc/python-nibabel-doc/html/_downloads/01c0ddb5a01b1855aa9ab2a257e0e71b/cross_product_error.ipynb",
"source2": "./usr/share/doc/python-nibabel-doc/html/_downloads/c926129d93645beba3b0111671b34176/cross_product_error.ipynb",
"comments": [
"Files identical despite different names"
],
"unified_diff": null
},
{
"source1": "./usr/share/doc/python-nibabel-doc/html/_downloads/039dcaa62222d1acc2e10e4c531009f9/ata_error.ipynb.gz",
"source2": "./usr/share/doc/python-nibabel-doc/html/_downloads/b52f0e2f73c7a60fd7fecc1c2288834b/ata_error.ipynb.gz",
"comments": [
"Files identical despite different names"
],
"unified_diff": null
},
{
"source1": "./usr/share/doc/python-nibabel-doc/html/_downloads/8e417f4c1773ba9890736796b1bc25d8/someones_epi.nii.gz",
"source2": "./usr/share/doc/python-nibabel-doc/html/_downloads/bebbb638f579dd26e7deaead08854ab4/someones_epi.nii.gz",
"comments": [
"Files identical despite different names"
],
"unified_diff": null
},
{
"source1": "./usr/share/doc/python-nibabel-doc/html/_downloads/91f627dc0e05cfed2c760badc0d68b0b/spm_dicom_orient.py",
"source2": "./usr/share/doc/python-nibabel-doc/html/_downloads/600038078c8a32c330fa09f5f4c66d15/spm_dicom_orient.py",
"comments": [
"Files identical despite different names"
],
"unified_diff": null
},
{
"source1": "./usr/share/doc/python-nibabel-doc/html/_downloads/e7e029cef54a06cf60644ab5a2646f6e/register_me.py",
"source2": "./usr/share/doc/python-nibabel-doc/html/_downloads/952c6388e9e163bd814e7d6e4ccbfdf7/register_me.py",
"comments": [
"Files identical despite different names"
],
"unified_diff": null
},
{
"source1": "./usr/share/doc/python-nibabel-doc/html/_downloads/f698b213dbfaca2fd9126e6691ac06f9/someones_anatomy.nii.gz",
"source2": "./usr/share/doc/python-nibabel-doc/html/_downloads/38974bbb5af6107bf7448530b9559da2/someones_anatomy.nii.gz",
"comments": [
"Files identical despite different names"
],
"unified_diff": null
}
]
}
]
}
]
}
]
}