I am a beginner with Numpy. My code imports a movie file saved in h5 format. The movie is stored as a 3D array which I then slice into 2D arrays to get the frames.
I would like to add two 2D arrays (frames) together (element-wise). However, when I do this resulting 2D array is populated with values that I don't expect (i.e not element-wise addition)
Can any one spot where I have gone wrong? Thanks!
import numpy as np
import h5py
File='10min_frames.h5'
f = h5py.File(File, 'r')
movie=f['native']
print("size: " str(np.size(movie,0)))
print("shape: " str(np.shape(movie)))
image1=movie[0,:,:]
image2=movie[1,:,:]
print('image')
print(list(image1))
print((image1.shape))
print('image2')
print(list(image2))
print((image2.size))
sum=np.add(image1,image2)
print("sum")
print(list(sum))
OUTPUT:
This movie is: 28249
shape: (28249, 59, 150)
image
[array([40996, 44947, 44528, 45520, 42444, 40239, 37299, 37922, 41863,
43389, 43035, 40798, 40197, 40097, 40352, 40650, 40233, 41654,
42220, 43753, 42091, 40906, 38673, 38771, 38388, 38990, 41166,
42070, 41958, 39958, 39601, 41161, 43726, 44090, 39035, 35404,
38582, 45259, 50001, 46800, 39752, 37158, 38236, 41226, 41878,
40895, 40356, 41200, 42285, 41495, 39465, 38124, 38603, 39065,
39780, 38574, 39443, 41222, 41407, 40383, 41703, 42801, 42601,
39595, 36686, 35642, 36610, 38325, 41118, 43937, 44449, 42190,
40593, 39250, 39030, 39277, 40069, 40543, 41769, 43321, 43059,
39710, 35335, 32578, 34353, 39195, 44489, 46760, 42665, 38346,
38479, 39813, 40894, 40297, 41360, 42163, 41051, 38561, 37780,
38780, 40311, 40255, 39925, 39796, 37401, 34396, 32845, 34359,
36888, 38671, 41189, 43333, 45228, 42434, 38733, 36500, 35707,
35845, 35257, 33277, 34115, 37540, 43167, 48434, 49994, 48232,
46272, 43379, 40961, 39128, 37116, 34149, 33042, 36372, 42161,
46027, 41955, 37067, 36858, 40774, 42434, 39476, 34394, 31283,
31081, 32577, 35003, 35508, 35131, 35252], dtype=uint16), array([40688, 43592, 43207, 43599, 40863, 39629, 36700, 37513, 41022,
43491, 45184, 43355, 40617, 37454, 37685, 38776, 41507, 43432,
43291, 42573, 41313, 40426, 38040, 37331, 37906, 39546, 41779,
44033, 43933, 42690, 40940, 41141, 44434, 43773, 39572, 35114,
35437, 40311, 44603, 43761, 40643, 38988, 41046, 43869, 44724,
42999, 40947, 40475, 41321, 41873, 40070, 37118, 38319, 40265,
42131, 42518, 43854, 43157, 42192, 40235, 40448, 40810, 40987,
40398, 38169, 36615, 35103, 37426, 40883, 45383, 47339, 46428,
43287, 39988, 38960, 38786, 38241, 38665, 39813, 42919, 44999,
42959, 38747, 34962, 35025, 39792, 45052, 44832, 40905, 37153,
37840, 39107, 39572, 38720, 39723, 41745, 41355, 38348, 37486,
38987, 40668, 40811, 39060, 39247, 37576, 35418, 34901, 36676,
39131, 40461, 42329, 45103, 46024, 42120, 37629, 34370, 34874,
35504, 35402, 33498, 35199, 39390, 45642, 49950, 49484, 46823,
45435, 43607, 41478, 37949, 34562, 31632, 31360, 33226, 37053,
38819, 36974, 36130, 39188, 42803, 42996, 39258, 35225, 33054,
33642, 35118, 36865, 37304, 35717, 35517], dtype=uint16), array([38862, 41219, 40963, 40307, 38270, 38103, 35724, 35783, 38249,
41583, 44884, 43190, 40126, 36144, 35108, 37899, 41624, 44116,
43289, 42309, 42192, 41370, 38873, 38347, 38330, 39847, 41673,
43623, 45275, 44222, 42188, 42370, 44041, 43517, 40718, 35280,
33581, 35143, 38496, 40420, 40326, 39954, 41369, 44012, 44755,
43188, 40216, 38842, 39487, 39308, 36837, 35556, 36751, 41241,
44574, 45793, 44878, 43640, 40782, 38306, 36713, 38150, 41272,
42913, 41846, 38543, 36007, 36765, 39403, 43487, 45835, 44990,
42529, 39475, 37196, 37159, 36557, 36979, 39202, 43213, 45801,
45671, 41568, 37037, 35926, 38690, 42276, 42534, 38787, 36011,
37384, 38552, 37721, 37246, 39536, 42510, 42782, 40259, 37891,
38447, 39356, 39210, 37468, 38588, 38553, 38157, 37950, 39855,
41267, 40988, 42265, 43728, 43043, 39761, 35334, 33308, 35302,
36461, 36504, 34375, 34778, 39036, 43985, 47236, 46187, 43628,
42981, 43467, 41501, 36340, 31515, 29345, 30012, 33067, 35523,
36237, 35915, 36661, 39414, 41429, 40272, 37209, 35529, 36618,
37720, 38912, 39279, 37692, 36407, 36625], dtype=uint16), array([38855, 40979, 39328, 37881, 36867, 38762, 36661, 35334, 36052,
38866, 42282, 42706, 39580, 35219, 33351, 36108, 40144, 42417,
41034, 39889, 40437, 41202, 40693, 39353, 39251, 39276, 39615,
40662, 42265, 44355, 43863, 41968, 42681, 41695, 40864, 36755,
33755, 33258, 36932, 40034, 41462, 40366, 38082, 37930, 38277,
39091, 37615, 36281, 36535, 36147, 33621, 33103, 34662, 39397,
44330, 44935, 43004, 40504, 38478, 35759, 35460, 38564, 42514,
45904, 45499, 42261, 38196, 36634, 37873, 40166, 41227, 41216,
39525, 37566, 36126, 36068, 36275, 37351, 38380, 41401, 44037,
43824, 41078, 37082, 36400, 38112, 40544, 40912, 37754, 36124,
37046, 38385, 38297, 38354, 40643, 44360, 44489, 41623, 38988,
38761, 38485, 37943, 36734, 38600, 40509, 39951, 40187, 39865,
40751, 40020, 39656, 39622, 38178, 35998, 33656, 34828, 37454,
38769, 37710, 35489, 35070, 37222, 40683, 43025, 41315, 40397,
42068, 43720, 41447, 36238, 30709, 29467, 32092, 35683, 38055,
38137, 37590, 38533, 40525, 40033, 37515, 35187, 36538, 39165,
41122, 41509, 40734, 37856, 36315, 36945], dtype=uint16), array([39741, 41465, 39989, 38294, 38663, 40822, 39720, 38097, 37300,
38082, 41022, 41296, 38740, 34804, 33515, 35180, 38714, 39330,
37297, 37418, 39516, 40631, 41131, 40187, 39880, 39140, 38124,
37899, 40112, 41880, 43281, 40459, 40398, 39572, 39126, 37877,
35904, 35549, 38907, 42047, 43504, 38154, 32761, 30027, 31267,
34458, 35801, 35860, 34933, 33749, 33022, 32519, 34319, 37466,
41359, 41330, 39140, 37401, 37290, 36439, 36454, 38191, 42166,
46078, 45754, 43889, 40553, 37506, 36440, 37203, 37797, 37688,
37157, 36193, 36590, 37377, 37997, 38572, 38567, 39162, 40174,
38847, 37476, 35938, 36478, 37419, 40736, 40721, 39342, 36531,
35934, 37810, 38747, 38915, 39978, 42429, 42463, 40632, 39153,
38725, 38110, 37481, 37542, 40086, 43011, 42769, 40277, 37815,
37166, 36597, 36186, 35722, 34455, 34105, 34969, 36929, 39409,
39860, 38155, 35604, 35467, 36380, 38027, 38067, 36650, 36976,
39404, 43040, 42102, 37104, 32706, 32596, 36351, 40491, 42425,
42187, 41513, 41247, 41053, 38880, 36088, 34892, 38112, 40666,
41839, 41082, 39330, 36459, 34491, 35268], dtype=uint16), array([41282, 42820, 41653, 41099, 42107, 43979, 43282, 40406, 38634,
38642, 40556, 40926, 40144, 36496, 35876, 37561, 39871, 39450,
37405, 36632, 38603, 39894, 40286, 40254, 40659, 40113, 38726,
37635, 38729, 40367, 41290, 38671, 37068, 36534, 38298, 39246,
38557, 38067, 40589, 43829, 45233, 38383, 30377, 26517, 28819,
33337, 37845, 39471, 37981, 36867, 35180, 34357, 35583, 36558,
36912, 36408, 36183, 36923, 38535, 38878, 38518, 38267, 40240,
42296, 42597, 42539, 40493, 38492, 36563, 36470, 36897, 37797,
37539, 37309, 38219, 38682, 39902, 40292, 39380, 38407, 36816,
36639, 36638, 36636, 37973, 38327, 40568, 40365, 38818, 35814,
34800, 35964, 38480, 38726, 38949, 37814, 37232, 37279, 37616,
37687, 37554, 37193, 37819, 41993, 44795, 44198, 39952, 35150,
33577, 33641, 34220, 34542, 34047, 34874, 36999, 39268, 41844,
39787, 38179, 36526, 35809, 37625, 37797, 36875, 34821, 35118,
37445, 41426, 42051, 39324, 36389, 37193, 40849, 44841, 45786,
44288, 41886, 41688, 41132, 38660, 35652, 35911, 39202, 40891,
40354, 38615, 36796, 35388, 33230, 33062], dtype=uint16), array([42248, 43538, 42082, 42171, 42770, 45088, 44312, 41819, 40809,
39945, 40915, 40860, 41326, 39259, 40048, 41957, 44435, 43024,
40991, 39109, 40634, 40554, 39609, 40030, 41665, 42613, 41121,
38763, 38341, 40036, 39881, 36743, 34787, 34929, 38599, 40716,
39586, 38546, 40539, 44125, 44594, 38201, 32034, 29467, 32432,
39694, 44426, 45563, 43800, 41639, 40105, 38926, 37575, 37013,
36331, 35550, 36405, 38560, 41502, 40918, 39317, 37409, 36575,
37623, 39171, 40292, 40389, 38434, 36667, 37765, 39402, 40498,
40461, 39916, 39560, 40807, 40710, 40632, 40097, 38734, 36811,
37275, 37697, 38488, 37588, 37168, 38141, 39221, 38176, 34866,
33777, 35242, 38181, 39349, 38299, 35289, 34267, 34452, 35818,
36640, 36481, 36321, 37966, 41810, 45092, 43931, 39272, 35478,
33236, 34043, 35193, 35409, 35610, 37192, 38773, 41055, 41561,
38919, 36604, 36128, 37660, 39280, 39550, 39318, 37070, 36576,
37678, 40358, 41344, 40731, 39636, 40862, 43099, 45089, 43824,
41261, 39783, 40024, 39627, 37849, 35625, 37081, 39473, 41001,
39079, 36733, 34836, 35326, 34699, 34118], dtype=uint16), array([43628, 43430, 42166, 42250, 42007, 44364, 44156, 43136, 42485,
40346, 41190, 40668, 42475, 42515, 43587, 45287, 47030, 45122,
43660, 42881, 43547, 41192, 39645, 39233, 41327, 42864, 42692,
40368, 39186, 39294, 38277, 35957, 34089, 34888, 40246, 41911,
42347, 39791, 39008, 41209, 43514, 40211, 37488, 36913, 40912,
48264, 50961, 51363, 50126, 47725, 45604, 41317, 38733, 37480,
37198, 36916, 39
(59, 150)
image2
[array([41049, 44973, 44539, 45558, 42428, 40256, 37314, 37964, 41930,
43452, 43101, 40826, 40204, 40098, 40360, 40656, 40233, 41658,
42226, 43787, 42125, 40906, 38672, 38753, 38415, 39069, 41186,
42097, 41968, 39976, 39592, 41180, 43772, 44135, 39024, 35448,
38620, 45236, 50044, 46805, 39771, 37192, 38253, 41238, 41869,
40948, 40377, 41226, 42241, 41532, 39436, 38076, 38577, 39082,
39786, 38573, 39430, 41247, 41414, 40354, 41665, 42815, 42583,
39576, 36662, 35643, 36595, 38301, 41119, 43966, 44464, 42142,
40569, 39225, 39059, 39363, 40194, 40589, 41750, 43255, 43007,
39673, 35323, 32583, 34324, 39180, 44506, 46755, 42655, 38369,
38452, 39831, 40899, 40276, 41305, 42134, 40988, 38524, 37787,
38784, 40328, 40208, 39936, 39797, 37385, 34392, 32840, 34364,
36885, 38661, 41165, 43271, 45190, 42467, 38835, 36596, 35784,
35876, 35258, 33279, 34114, 37521, 43193, 48448, 50006, 48193,
46187, 43287, 40933, 39138, 37133, 34114, 33032, 36351, 42126,
46013, 41903, 37066, 36814, 40770, 42446, 39460, 34401, 31275,
31087, 32613, 34961, 35523, 35153, 35272], dtype=uint16), array([40703, 43583, 43219, 43604, 40898, 39618, 36723, 37569, 41056,
43498, 45249, 43381, 40631, 37503, 37760, 38792, 41489, 43443,
43304, 42558, 41358, 40483, 38068, 37340, 37917, 39616, 41800,
44072, 43949, 42696, 40904, 41152, 44427, 43785, 39574, 35143,
35448, 40333, 44602, 43767, 40632, 38998, 41071, 43873, 44722,
43027, 40935, 40480, 41331, 41891, 40073, 37129, 38359, 40275,
42155, 42531, 43844, 43133, 42179, 40232, 40480, 40841, 40980,
40409, 38222, 36622, 35097, 37415, 40855, 45390, 47374, 46405,
43273, 39946, 38988, 38863, 38269, 38715, 39796, 42846, 44998,
42969, 38735, 34971, 35053, 39770, 45073, 44856, 40913, 37175,
37834, 39097, 39617, 38729, 39681, 41738, 41358, 38363, 37501,
39016, 40665, 40822, 39039, 39227, 37533, 35423, 34908, 36713,
39145, 40455, 42330, 45089, 46021, 42133, 37694, 34496, 34929,
35504, 35388, 33508, 35189, 39397, 45651, 49987, 49500, 46813,
45391, 43526, 41443, 37934, 34594, 31614, 31374, 33206, 37049,
38844, 36961, 36171, 39163, 42768, 42998, 39210, 35222, 33067,
33666, 35146, 36849, 37318, 35744, 35546], dtype=uint16), array([38888, 41251, 40987, 40317, 38246, 38095, 35741, 35757, 38273,
41628, 44923, 43181, 40145, 36158, 35188, 37929, 41660, 44084,
43301, 42336, 42264, 41388, 38910, 38353, 38337, 39872, 41721,
43644, 45290, 44202, 42174, 42372, 44008, 43550, 40715, 35266,
33596, 35175, 38462, 40438, 40357, 39949, 41383, 44020, 44738,
43190, 40166, 38787, 39452, 39268, 36883, 35566, 36716, 41236,
44556, 45856, 44896, 43637, 40763, 38313, 36718, 38194, 41276,
42955, 41878, 38553, 36015, 36747, 39395, 43441, 45842, 44954,
42522, 39477, 37235, 37190, 36620, 36971, 39186, 43233, 45821,
45688, 41589, 37031, 35932, 38697, 42301, 42567, 38785, 36030,
37401, 38595, 37726, 37293, 39534, 42510, 42795, 40298, 37900,
38454, 39343, 39188, 37450, 38592, 38535, 38148, 37991, 39841,
41250, 40969, 42256, 43712, 43003, 39741, 35353, 33338, 35273,
36373, 36449, 34354, 34762, 39042, 43990, 47216, 46220, 43626,
42948, 43433, 41487, 36339, 31537, 29348, 29988, 32998, 35493,
36252, 35917, 36691, 39442, 41426, 40209, 37187, 35497, 36655,
37697, 38925, 39260, 37692, 36403, 36599], dtype=uint16), array([38925, 41068, 39423, 37915, 36838, 38764, 36632, 35323, 36058,
38897, 42271, 42702, 39580, 35251, 33368, 36121, 40124, 42382,
41010, 39871, 40481, 41231, 40715, 39336, 39211, 39285, 39582,
40664, 42256, 44348, 43841, 41959, 42696, 41667, 40895, 36743,
33744, 33276, 36959, 40038, 41492, 40405, 38122, 37951, 38242,
39009, 37518, 36224, 36495, 36076, 33654, 33133, 34697, 39403,
44335, 44982, 43018, 40469, 38454, 35752, 35495, 38606, 42563,
45955, 45473, 42238, 38217, 36636, 37887, 40187, 41195, 41224,
39522, 37541, 36150, 36075, 36339, 37351, 38334, 41397, 44053,
43857, 41108, 37099, 36386, 38129, 40546, 40929, 37766, 36136,
37049, 38414, 38333, 38334, 40572, 44342, 44501, 41626, 38993,
38798, 38474, 37963, 36740, 38618, 40528, 39950, 40193, 39849,
40702, 39998, 39653, 39598, 38155, 35958, 33591, 34795, 37373,
38658, 37646, 35473, 35103, 37241, 40669, 42968, 41317, 40432,
42116, 43756, 41460, 36244, 30771, 29448, 32066, 35676, 38051,
38182, 37562, 38535, 40540, 40034, 37508, 35127, 36490, 39150,
41102, 41514, 40748, 37837, 36321, 36940], dtype=uint16), array([39756, 41540, 39998, 38287, 38674, 40796, 39689, 38123, 37335,
38071, 41031, 41292, 38697, 34812, 33521, 35207, 38727, 39291,
37275, 37398, 39525, 40640, 41117, 40141, 39854, 39050, 38097,
37893, 40072, 41860, 43249, 40465, 40409, 39549, 39136, 37890,
35932, 35551, 38936, 42072, 43489, 38180, 32763, 30026, 31226,
34438, 35828, 35898, 34953, 33716, 33002, 32517, 34331, 37465,
41372, 41350, 39133, 37384, 37319, 36471, 36518, 38214, 42224,
46103, 45785, 43871, 40577, 37517, 36450, 37220, 37745, 37684,
37141, 36171, 36556, 37401, 38013, 38561, 38542, 39136, 40152,
38848, 37508, 35946, 36490, 37452, 40744, 40726, 39312, 36554,
35962, 37835, 38763, 38906, 39968, 42399, 42463, 40638, 39126,
38705, 38129, 37495, 37523, 40100, 43029, 42784, 40294, 37814,
37184, 36616, 36216, 35761, 34483, 34064, 34934, 36920, 39401,
39829, 38135, 35673, 35508, 36415, 37995, 38057, 36598, 36953,
39403, 43036, 42091, 37124, 32737, 32604, 36319, 40483, 42423,
42218, 41528, 41249, 41092, 38853, 36056, 34850, 38120, 40623,
41828, 41087, 39364, 36495, 34492, 35211], dtype=uint16), array([41283, 42804, 41642, 41080, 42100, 43969, 43273, 40446, 38643,
38597, 40538, 40877, 40128, 36525, 35883, 37570, 39898, 39420,
37387, 36636, 38638, 39914, 40232, 40206, 40627, 40081, 38675,
37539, 38691, 40355, 41304, 38658, 37087, 36533, 38271, 39262,
38541, 38068, 40592, 43862, 45210, 38422, 30379, 26500, 28736,
33312, 37972, 39760, 38177, 36871, 35165, 34324, 35598, 36558,
36916, 36448, 36228, 36948, 38521, 38895, 38470, 38294, 40296,
42354, 42580, 42493, 40475, 38497, 36609, 36464, 36917, 37790,
37557, 37309, 38170, 38678, 39891, 40281, 39337, 38397, 36770,
36661, 36671, 36649, 37955, 38320, 40588, 40374, 38771, 35838,
34785, 36032, 38518, 38735, 38935, 37799, 37208, 37252, 37602,
37713, 37553, 37198, 37835, 41975, 44807, 44205, 39966, 35144,
33541, 33656, 34253, 34599, 34051, 34894, 37011, 39320, 41814,
39798, 38199, 36561, 35846, 37627, 37784, 36889, 34830, 35093,
37424, 41434, 42032, 39332, 36424, 37206, 40835, 44850, 45821,
44315, 41922, 41709, 41131, 38652, 35651, 35884, 39193, 40895,
40368, 38646, 36790, 35400, 33240, 33036], dtype=uint16), array([42204, 43511, 42066, 42171, 42784, 45052, 44328, 41846, 40795,
39930, 40922, 40833, 41296, 39291, 40106, 41991, 44429, 42970,
40981, 39139, 40655, 40525, 39587, 40009, 41721, 42688, 41152,
38732, 38299, 40023, 39883, 36745, 34785, 34932, 38602, 40677,
39619, 38530, 40542, 44122, 44582, 38206, 32063, 29447, 32382,
39719, 44599, 45916, 44064, 41698, 40091, 38871, 37587, 37047,
36366, 35579, 36437, 38586, 41542, 40903, 39336, 37420, 36581,
37608, 39127, 40264, 40400, 38422, 36701, 37761, 39409, 40517,
40433, 39967, 39567, 40818, 40683, 40632, 40121, 38709, 36807,
37299, 37711, 38502, 37560, 37158, 38115, 39259, 38165, 34856,
33768, 35246, 38152, 39352, 38278, 35329, 34289, 34520, 35806,
36668, 36444, 36303, 37956, 41778, 45107, 43936, 39244, 35439,
33225, 34097, 35256, 35422, 35612, 37201, 38764, 41066, 41596,
38969, 36600, 36172, 37693, 39275, 39564, 39342, 37086, 36595,
37680, 40339, 41313, 40725, 39645, 40851, 43056, 45116, 43805,
41282, 39750, 40020, 39630, 37799, 35623, 37071, 39454, 40996,
39051, 36729, 34809, 35325, 34699, 34140], dtype=uint16), array([43607, 43398, 42130, 42276, 42031, 44379, 44123, 43177, 42519,
40336, 41176, 40676, 42518, 42542, 43600, 45313, 47070, 45111,
43675, 42867, 43567, 41219, 39632, 39294, 41515, 43071, 42792,
40407, 39105, 39243, 38263, 36000, 34078, 34911, 40260, 41905,
42344, 39777, 39011, 41228, 43503, 40236, 37507, 36912, 40863,
48263, 51067, 51572, 50280, 47718, 45571, 41296, 38743, 37516,
37263, 36926, 39
8850
sum
[array([16509, 24384, 23531, 25542, 19336, 14959, 9077, 10350, 18257,
21305, 20600, 16088, 14865, 14659, 15176, 15770, 14930, 17776,
18910, 22004, 18680, 16276, 11809, 11988, 11267, 12523, 16816,
18631, 18390, 14398, 13657, 16805, 21962, 22689, 12523, 5316,
11666, 24959, 34509, 28069, 13987, 8814, 10953, 16928, 18211,
16307, 15197, 16890, 18990, 17491, 13365, 10664, 11644, 12611,
14030, 11611, 13337, 16933, 17285, 15201, 17832, 20080, 19648,
13635, 7812, 5749, 7669, 11090, 16701, 22367, 23377, 18796,
15626, 12939, 12553, 13104, 14727, 15596, 17983, 21040, 20530,
13847, 5122, 65161, 3141, 12839, 23459, 27979, 19784, 11179,
11395, 14108, 16257, 15037, 17129, 18761, 16503, 11549, 10031,
12028, 15103, 14927, 14325, 14057, 9250, 3252, 149, 3187,
8237, 11796, 16818, 21068, 24882, 19365, 12032, 7560, 5955,
6185, 4979, 1020, 2693, 9525, 20824, 31346, 34464, 30889,
26923, 21130, 16358, 12730, 8713, 2727, 538, 7187, 18751,
26504, 18322, 8597, 8136, 16008, 19344, 13400, 3259, 62558,
62168, 65190, 4428, 5495, 4748, 4988], dtype=uint16), array([15855, 21639, 20890, 21667, 16225, 13711, 7887, 9546, 16542,
21453, 24897, 21200, 15712, 9421, 9909, 12032, 17460, 21339,
21059, 19595, 17135, 15373, 10572, 9135, 10287, 13626, 18043,
22569, 22346, 19850, 16308, 16757, 23325, 22022, 13610, 4721,
5349, 15108, 23669, 21992, 15739, 12450, 16581, 22206, 23910,
20490, 16346, 15419, 17116, 18228, 14607, 8711, 11142, 15004,
18750, 19513, 22162, 20754, 18835, 14931, 15392, 16115, 16431,
15271, 10855, 7701, 4664, 9305, 16202, 25237, 29177, 27297,
21024, 14398, 12412, 12113, 10974, 11844, 14073, 20229, 24461,
20392, 11946, 4397, 4542, 14026, 24589, 24152, 16282, 8792,
10138, 12668, 13653, 11913, 13868, 17947, 17177, 11175, 9451,
12467, 15797, 16097, 12563, 12938, 9573, 5305, 4273, 7853,
12740, 15380, 19123, 24656, 26509, 18717, 9787, 3330, 4267,
5472, 5254, 1470, 4852, 13251, 25757, 34401, 33448, 28100,
25290, 21597, 17385, 10347, 3620, 63246, 62734, 896, 8566,
12127, 8399, 6765, 12815, 20035, 20458, 12932, 4911, 585,
1772, 4728, 8178, 9086, 5925, 5527], dtype=uint16), array([12214, 16934, 16414, 15088, 10980, 10662, 5929, 6004, 10986,
17675, 24271, 20835, 14735, 6766, 4760, 10292, 17748, 22664,
21054, 19109, 18920, 17222, 12247, 11164, 11131, 14183, 17858,
21731, 25029, 22888, 18826, 19206, 22513, 21531, 15897, 5010,
1641, 4782, 11422, 15322, 15147, 14367, 17216, 22496, 23957,
20842, 14846, 12093, 13403, 13040, 8184, 5586, 7931, 16941,
23594, 26113, 24238, 21741, 16009, 11083, 7895, 10808, 17012,
20332, 18188, 11560, 6486, 7976, 13262, 21392, 26141, 24408,
19515, 13416, 8895, 8813, 7641, 8414, 12852, 20910, 26086,
25823, 17621, 8532, 6322, 11851, 19041, 19565, 12036, 6505,
9249, 11611, 9911, 9003, 13534, 19484, 20041, 15021, 10255,
11365, 13163, 12862, 9382, 11644, 11552, 10769, 10405, 14160,
16981, 16421, 18985, 21904, 20510, 13966, 5151, 1110, 5039,
7298, 7417, 3193, 4004, 12542, 22439, 28916, 26871, 21718,
20393, 21364, 17452, 7143, 63052, 58693, 60000, 529, 5480,
6953, 6296, 7816, 13320, 17319, 14945, 8860, 5490, 7737,
9881, 12301, 13003, 9848, 7274, 7688], dtype=uint16), array([12244, 16511, 13215, 10260, 8169, 11990, 7757, 5121, 6574,
12227, 19017, 19872, 13624, 4934, 1183, 6693, 14732, 19263,
16508, 14224, 15382, 16897, 15872, 13153, 12926, 13025, 13661,
15790, 18985, 23167, 22168, 18391, 19841, 17826, 16223, 7962,
1963, 998, 8355, 14536, 17418, 15235, 10668, 10345, 10983,
12564, 9597, 6969, 7494, 6687, 1739, 700, 3823, 13264,
23129, 24381, 20486, 15437, 11396, 5975, 5419, 11634, 19541,
26323, 25436, 18963, 10877, 7734, 10224, 14817, 16886, 16904,
13511, 9571, 6740, 6607, 7078, 9166, 11178, 17262, 22554,
22145, 16650, 8645, 7250, 10705, 15554, 16305, 9984, 6724,
8559, 11263, 11094, 11152, 15679, 23166, 23454, 17713, 12445,
12023, 11423, 10370, 7938, 11682, 15501, 14365, 14844, 14178,
15917, 14482, 13773, 13684, 10797, 6420, 1711, 4087, 9291,
11891, 9820, 5426, 4637, 8927, 15816, 20457, 17096, 15293,
18648, 21940, 17371, 6946, 61480, 58915, 64158, 5823, 10570,
10783, 9616, 11532, 15529, 14531, 9487, 4778, 7492, 12779,
16688, 17487, 15946, 10157, 7100, 8349], dtype=uint16), array([13961, 17469, 14451, 11045, 11801, 16082, 13873, 10684, 9099,
10617, 16517, 17052, 11901, 4080, 1500, 4851, 11905, 13085,
9036, 9280, 13505, 15735, 16712, 14792, 14198, 12654, 10685,
10256, 14648, 18204, 20994, 15388, 15271, 13585, 12726, 10231,
6300, 5564, 12307, 18583, 21457, 10798, 65524, 60053, 62493,
3360, 6093, 6222, 4350, 1929, 488, 65036, 3114, 9395,
17195, 17144, 12737, 9249, 9073, 7374, 7436, 10869, 18854,
26645, 26003, 22224, 15594, 9487, 7354, 8887, 10006, 9836,
8762, 6828, 7610, 9242, 10474, 11597, 11573, 12762, 14790,
12159, 9448, 6348, 7432, 9335, 15944, 15911, 13118, 7549,
6360, 10109, 11974, 12285, 14410, 19292, 19390, 15734, 12743,
11894, 10703, 9440, 9529, 14650, 20504, 20017, 15035, 10093,
8814, 7677, 6866, 5947, 3402, 2633, 4367, 8313, 13274,
14153, 10754, 5741, 5439, 7259, 10486, 10588, 7712, 8393,
13271, 20540, 18657, 8692, 65443, 65200, 7134, 15438, 19312,
18869, 17505, 16960, 16609, 12197, 6608, 4206, 10696, 15753,
18131, 16633, 13158, 7418, 3447, 4943], dtype=uint16), array([17029, 20088, 17759, 16643, 18671, 22412, 21019, 15316, 11741,
11703, 15558, 16267, 14736, 7485, 6223, 9595, 14233, 13334,
9256, 7732, 11705, 14272, 14982, 14924, 15750, 14658, 11865,
9638, 11884, 15186, 17058, 11793, 8619, 7531, 11033, 12972,
11562, 10599, 15645, 22155, 24907, 11269, 60756, 53017, 57555,
1113, 10281, 13695, 10622, 8202, 4809, 3145, 5645, 7580,
8292, 7320, 6875, 8335, 11520, 12237, 11452, 11025, 15000,
19114, 19641, 19496, 15432, 11453, 7636, 7398, 8278, 10051,
9560, 9082, 10853, 11824, 14257, 15037, 13181, 11268, 8050,
7764, 7773, 7749, 10392, 11111, 15620, 15203, 12053, 6116,
4049, 6460, 11462, 11925, 12348, 10077, 8904, 8995, 9682,
9864, 9571, 8855, 10118, 18432, 24066, 22867, 14382, 4758,
1582, 1761, 2937, 3605, 2562, 4232, 8474, 13052, 18122,
14049, 10842, 7551, 6119, 9716, 10045, 8228, 4115, 4675,
9333, 17324, 18547, 13120, 7277, 8863, 16148, 24155, 26071,
23067, 18272, 17861, 16727, 11776, 5767, 6259, 12859, 16250,
15186, 11725, 8050, 5252, 934, 562], dtype=uint16), array([18916, 21513, 18612, 18806, 20018, 24604, 23104, 18129, 16068,
14339, 16301, 16157, 17086, 13014, 14618, 18412, 23328, 20458,
16436, 12712, 15753, 15543, 13660, 14503, 17850, 19765, 16737,
11959, 11104, 14523, 14228, 7952, 4036, 4325, 11665, 15857,
13669, 11540, 15545, 22711, 23640, 10871, 64097, 58914, 64814,
13877, 23489, 25943, 22328, 17801, 14660, 12261, 9626, 8524,
7161, 5593, 7306, 11610, 17508, 16285, 13117, 9293, 7620,
9695, 12762, 15020, 15253, 11320, 7832, 9990, 13275, 15479,
15358, 14347, 13591, 16089, 15857, 15728, 14682, 11907, 8082,
9038, 9872, 11454, 9612, 8790, 10720, 12944, 10805, 4186,
2009, 4952, 10797, 13165, 11041, 5082, 3020, 3436, 6088,
7772, 7389, 7088, 10386, 18052, 24663, 22331, 12980, 5381,
925, 2604, 4913, 5295, 5686, 8857, 12001, 16585, 17621,
12352, 7668, 6764, 9817, 13019, 13578, 13124, 8620, 7635,
9822, 15161, 17121, 15920, 13745, 16177, 20619, 24669, 22093,
17007, 13997, 14508, 13721, 10112, 5712, 8616, 13391, 16461,
12594, 7926, 4109, 5115, 3862, 2722], dtype=uint16), array([21699, 21292, 18760, 18990, 18502, 23207, 22743, 20777, 19468,
15146, 16830, 15808, 19457, 19521, 21651, 25064, 28564, 24697,
21799, 20212, 21578, 16875, 13741, 12991, 17306, 20399, 19948,
15239, 12755, 13001, 11004, 6421, 2631, 4263, 14970, 18280,
19155, 14032, 12483, 16901, 21481, 14911, 9459, 8289, 16239,
30991, 36492, 37399, 34870, 29907, 25639, 17077, 11940, 9460,
8925, 8306, 12
CodePudding user response:
The issue is that the type of the elements in your arrays are uint16, meaning that the maximum value for a given cell is 65535. All your results of the additions will be over this threshold, hence they will be reduced to result - 65535
.
In your add function, force the dtype to be:
sum=np.add(image1,image2,dtype='uint32')
CodePudding user response:
Your problem is caused by a integer overflow due to the size of the considered values and their data type.
The used data type np.uint16
is able to represent values between 0 and 65535.
When we consider the first element of both images and their sum we obtain:
image1[0][0] = 40996
image2[0][0] = 41049
image1[0][0] image2[0][0] = 16509
However, as the correct value we would expect: 82045 = 65536 16509
To fix your problem you could use numpy.ndarray.astype
Furthermore your image objects are not 2D arrays from the type np.array
, but rather a list of multiple numpy arrays.
To fix this you should use np.vstack(image1)
numpy.vstack. This will probably ease further processing and automatically changes the dtype to np.int64
by default.