testing __setitem__ with pasting to roi
()
| 122 | assert img["test"] == "value" |
| 123 | |
| 124 | def test_setitem(): |
| 125 | """testing __setitem__ with pasting to roi""" |
| 126 | |
| 127 | nda = np.linspace(0, 59, 60).reshape(3, 4, 5) |
| 128 | |
| 129 | img = sitk.GetImageFromArray(nda) |
| 130 | img["test"] = "value" |
| 131 | |
| 132 | img[1:3, 2:4, 0:2] = sitk.Image([2, 2, 2], sitk.sitkFloat64) + 1 |
| 133 | assert all([px == 1 for px in img[1:3, 2:4, 0:2]]) |
| 134 | img[0:1, 0:1, 0:1] = sitk.Image([1, 1, 1], sitk.sitkFloat64) + 2 |
| 135 | assert 2 == img.GetPixel(0, 0, 0) |
| 136 | img[0:1, 0:2, 0:3] = sitk.Image([2, 3], sitk.sitkFloat64) + 3 |
| 137 | assert all([px == 3 for px in img[0:1, 0:2, 0:3]]) |
| 138 | img[0:2, 0:1, 0:3] = sitk.Image([2, 3], sitk.sitkFloat64) + 4 |
| 139 | assert all([px == 4 for px in img[0:2, 0:1, 0:3]]) |
| 140 | img[0:2, 0:3, 0:1] = sitk.Image([2, 3], sitk.sitkFloat64) + 5 |
| 141 | assert all([px == 5 for px in img[0:2, 0:3, 0:1]]) |
| 142 | assert img["test"] == "value" |
| 143 | |
| 144 | img[-1, 0:1, 0:3] = sitk.Image([1, 3], sitk.sitkFloat64) + 6 |
| 145 | assert all([px == 6 for px in img[-1, 0:1, 0:3]]) |
| 146 | img[1:2, 1, 0:3] = sitk.Image([1, 3], sitk.sitkFloat64) + 7 |
| 147 | assert all([px == 7 for px in img[1:2, 1, 0:3]]) |
| 148 | img[2:3, 0:3, 1] = sitk.Image([1, 3], sitk.sitkFloat64) + 8 |
| 149 | assert all([px == 8 for px in img[2:3, 0:3, 1]]) |
| 150 | assert img["test"] == "value" |
| 151 | |
| 152 | img[..., 2:4, 2:3] = sitk.Image([5, 2, 1], sitk.sitkFloat64) + 9 |
| 153 | assert all([px == 9 for px in img[:, 2:4, 2:3]]) |
| 154 | img[-2, ...] = sitk.Image([4, 3], sitk.sitkFloat64) + 10 |
| 155 | assert all([px == 10 for px in img[-2, :, :]]) |
| 156 | img[...] = sitk.Image([5, 4, 3], sitk.sitkFloat64) + 11 |
| 157 | assert all([px == 11 for px in img]) |
| 158 | img[2, 3:4, 1:2, ...] = sitk.Image([1, 1], sitk.sitkFloat64) + 12 |
| 159 | assert all([px == 12 for px in img[2, 3:4, 1:2]]) |
| 160 | assert img["test"] == "value" |
| 161 | |
| 162 | with pytest.raises(IndexError): |
| 163 | img[1:3, 2:4] = sitk.Image([2, 2, 2], sitk.sitkFloat64) |
| 164 | assert img["test"] == "value" |
| 165 | |
| 166 | with pytest.raises(IndexError): |
| 167 | do_image_assign(img, (slice(0, 2),) * 3, sitk.Image([2, 2], sitk.sitkFloat64)) |
| 168 | assert img["test"] == "value" |
| 169 | |
| 170 | with pytest.raises(IndexError): |
| 171 | do_image_assign(img, (slice(0, 2),) * 3, sitk.Image([2, 2, 1], sitk.sitkFloat64)) |
| 172 | |
| 173 | with pytest.raises(IndexError): |
| 174 | do_image_assign(img, (slice(0, 2),) * 3, sitk.Image([2, 1, 2], sitk.sitkFloat64)) |
| 175 | |
| 176 | with pytest.raises(IndexError): |
| 177 | do_image_assign(img, (slice(0, 2),) * 3, sitk.Image([1, 2, 2], sitk.sitkFloat64)) |
| 178 | |
| 179 | assert img["test"] == "value" |
| 180 | |
| 181 | def test_5d_setitem(): |
nothing calls this directly
no test coverage detected