├── setup.cfg ├── images ├── dummy.jpg ├── gore.jpg └── digits.jpg ├── data ├── Al_Gore │ ├── 0000.bmp │ ├── 0001.bmp │ ├── 0002.bmp │ ├── 0003.bmp │ ├── 0004.bmp │ ├── 0005.bmp │ ├── 0006.bmp │ ├── 0007.bmp │ ├── 0008.bmp │ ├── 0009.bmp │ ├── 0010.bmp │ ├── 0011.bmp │ ├── 0012.bmp │ ├── 0013.bmp │ ├── 0014.bmp │ ├── 0015.bmp │ ├── 0016.bmp │ ├── 0017.bmp │ ├── 0018.bmp │ ├── 0019.bmp │ ├── 0020.bmp │ ├── 0021.bmp │ ├── 0022.bmp │ ├── 0023.bmp │ ├── 0024.bmp │ ├── 0025.bmp │ ├── 0026.bmp │ ├── 0027.bmp │ ├── 0028.bmp │ ├── 0029.bmp │ ├── 0030.bmp │ ├── 0031.bmp │ ├── 0032.bmp │ ├── 0033.bmp │ ├── 0034.bmp │ ├── 0035.bmp │ ├── 0036.bmp │ ├── 0037.bmp │ ├── 0038.bmp │ ├── 0039.bmp │ ├── 0040.bmp │ ├── 0041.bmp │ ├── 0042.bmp │ ├── 0043.bmp │ ├── 0044.bmp │ ├── 0045.bmp │ ├── 0046.bmp │ ├── 0047.bmp │ ├── 0048.bmp │ ├── 0049.bmp │ ├── 0050.bmp │ ├── 0051.bmp │ ├── 0052.bmp │ ├── 0053.bmp │ ├── 0054.bmp │ ├── 0055.bmp │ ├── 0056.bmp │ ├── 0057.bmp │ ├── 0058.bmp │ ├── 0059.bmp │ ├── 0060.bmp │ ├── 0061.bmp │ ├── 0062.bmp │ ├── 0063.bmp │ ├── 0064.bmp │ ├── 0065.bmp │ ├── 0066.bmp │ ├── 0067.bmp │ ├── 0068.bmp │ ├── 0069.bmp │ ├── 0070.bmp │ ├── 0071.bmp │ ├── 0072.bmp │ ├── 0073.bmp │ ├── 0074.bmp │ ├── 0075.bmp │ ├── 0076.bmp │ ├── 0077.bmp │ ├── 0078.bmp │ ├── 0079.bmp │ ├── 0080.bmp │ ├── 0081.bmp │ ├── 0082.bmp │ ├── 0083.bmp │ ├── 0084.bmp │ ├── 0085.bmp │ ├── 0086.bmp │ ├── 0087.bmp │ ├── 0088.bmp │ ├── 0089.bmp │ ├── 0090.bmp │ ├── 0091.bmp │ ├── 0092.bmp │ ├── 0093.bmp │ ├── 0094.bmp │ ├── 0095.bmp │ ├── 0096.bmp │ ├── 0097.bmp │ ├── 0098.bmp │ ├── 0099.bmp │ ├── 0100.bmp │ ├── 0101.bmp │ ├── 0102.bmp │ ├── 0103.bmp │ ├── 0104.bmp │ ├── 0105.bmp │ ├── 0106.bmp │ ├── 0107.bmp │ ├── 0108.bmp │ ├── 0109.bmp │ ├── 0110.bmp │ ├── 0111.bmp │ ├── 0112.bmp │ ├── 0113.bmp │ ├── 0114.bmp │ ├── 0115.bmp │ ├── 0116.bmp │ ├── 0117.bmp │ ├── 0118.bmp │ ├── 0119.bmp │ ├── 0120.bmp │ ├── 0121.bmp │ ├── 0122.bmp │ ├── 0123.bmp │ ├── 0124.bmp │ ├── 0125.bmp │ ├── 0126.bmp │ ├── 0127.bmp │ ├── 0128.bmp │ ├── 0129.bmp │ ├── 0130.bmp │ ├── 0131.bmp │ ├── 0132.bmp │ ├── 0133.bmp │ ├── 0134.bmp │ ├── 0135.bmp │ ├── 0136.bmp │ ├── 0137.bmp │ ├── 0138.bmp │ ├── 0139.bmp │ ├── Thumbs.db │ ├── 0000-points.mat │ ├── 0001-points.mat │ ├── 0002-points.mat │ ├── 0003-points.mat │ ├── 0004-points.mat │ ├── 0005-points.mat │ ├── 0006-points.mat │ ├── 0007-points.mat │ ├── 0008-points.mat │ ├── 0009-points.mat │ ├── 0010-points.mat │ ├── 0011-points.mat │ ├── 0012-points.mat │ ├── 0013-points.mat │ ├── 0014-points.mat │ ├── 0015-points.mat │ ├── 0016-points.mat │ ├── 0017-points.mat │ ├── 0018-points.mat │ ├── 0019-points.mat │ ├── 0020-points.mat │ ├── 0021-points.mat │ ├── 0022-points.mat │ ├── 0023-points.mat │ ├── 0024-points.mat │ ├── 0025-points.mat │ ├── 0026-points.mat │ ├── 0027-points.mat │ ├── 0028-points.mat │ ├── 0029-points.mat │ ├── 0030-points.mat │ ├── 0031-points.mat │ ├── 0032-points.mat │ ├── 0033-points.mat │ ├── 0034-points.mat │ ├── 0035-points.mat │ ├── 0036-points.mat │ ├── 0037-points.mat │ ├── 0038-points.mat │ ├── 0039-points.mat │ ├── 0040-points.mat │ ├── 0041-points.mat │ ├── 0042-points.mat │ ├── 0043-points.mat │ ├── 0044-points.mat │ ├── 0045-points.mat │ ├── 0046-points.mat │ ├── 0047-points.mat │ ├── 0048-points.mat │ ├── 0049-points.mat │ ├── 0050-points.mat │ ├── 0051-points.mat │ ├── 0052-points.mat │ ├── 0053-points.mat │ ├── 0054-points.mat │ ├── 0055-points.mat │ ├── 0056-points.mat │ ├── 0057-points.mat │ ├── 0058-points.mat │ ├── 0059-points.mat │ ├── 0060-points.mat │ ├── 0061-points.mat │ ├── 0062-points.mat │ ├── 0063-points.mat │ ├── 0064-points.mat │ ├── 0065-points.mat │ ├── 0066-points.mat │ ├── 0067-points.mat │ ├── 0068-points.mat │ ├── 0069-points.mat │ ├── 0070-points.mat │ ├── 0071-points.mat │ ├── 0072-points.mat │ ├── 0073-points.mat │ ├── 0074-points.mat │ ├── 0075-points.mat │ ├── 0076-points.mat │ ├── 0077-points.mat │ ├── 0078-points.mat │ ├── 0079-points.mat │ ├── 0080-points.mat │ ├── 0081-points.mat │ ├── 0082-points.mat │ ├── 0083-points.mat │ ├── 0084-points.mat │ ├── 0085-points.mat │ ├── 0086-points.mat │ ├── 0087-points.mat │ ├── 0088-points.mat │ ├── 0089-points.mat │ ├── 0090-points.mat │ ├── 0091-points.mat │ ├── 0092-points.mat │ ├── 0093-points.mat │ ├── 0094-points.mat │ ├── 0095-points.mat │ ├── 0096-points.mat │ ├── 0097-points.mat │ ├── 0098-points.mat │ ├── 0099-points.mat │ ├── 0100-points.mat │ ├── 0101-points.mat │ ├── 0102-points.mat │ ├── 0103-points.mat │ ├── 0104-points.mat │ ├── 0105-points.mat │ ├── 0106-points.mat │ ├── 0107-points.mat │ ├── 0108-points.mat │ ├── 0109-points.mat │ ├── 0110-points.mat │ ├── 0111-points.mat │ ├── 0112-points.mat │ ├── 0113-points.mat │ ├── 0114-points.mat │ ├── 0115-points.mat │ ├── 0116-points.mat │ ├── 0117-points.mat │ ├── 0118-points.mat │ ├── 0119-points.mat │ ├── 0120-points.mat │ ├── 0121-points.mat │ ├── 0122-points.mat │ ├── 0123-points.mat │ ├── 0124-points.mat │ ├── 0125-points.mat │ ├── 0126-points.mat │ ├── 0127-points.mat │ ├── 0128-points.mat │ ├── 0129-points.mat │ ├── 0130-points.mat │ ├── 0131-points.mat │ ├── 0132-points.mat │ ├── 0133-points.mat │ ├── 0134-points.mat │ ├── 0135-points.mat │ ├── 0136-points.mat │ ├── 0137-points.mat │ ├── 0138-points.mat │ └── 0139-points.mat ├── Digits_3 │ ├── 01.bmp │ ├── 02.bmp │ ├── 03.bmp │ ├── 04.bmp │ ├── 05.bmp │ ├── 06.bmp │ ├── 07.bmp │ ├── 08.bmp │ ├── 09.bmp │ ├── 10.bmp │ ├── 11.bmp │ ├── 12.bmp │ ├── 13.bmp │ ├── 14.bmp │ ├── 15.bmp │ ├── 16.bmp │ ├── 17.bmp │ ├── 18.bmp │ ├── 19.bmp │ ├── 20.bmp │ ├── 21.bmp │ ├── 22.bmp │ ├── 23.bmp │ ├── 24.bmp │ ├── 25.bmp │ ├── 26.bmp │ ├── 27.bmp │ ├── 28.bmp │ ├── 29.bmp │ ├── 30.bmp │ ├── 31.bmp │ ├── 32.bmp │ ├── 33.bmp │ ├── 34.bmp │ ├── 35.bmp │ ├── 36.bmp │ ├── 37.bmp │ ├── 38.bmp │ ├── 39.bmp │ ├── 40.bmp │ ├── 41.bmp │ ├── 42.bmp │ ├── 43.bmp │ ├── 44.bmp │ ├── 45.bmp │ ├── 46.bmp │ ├── 47.bmp │ ├── 48.bmp │ ├── 49.bmp │ ├── 50.bmp │ ├── 51.bmp │ ├── 52.bmp │ ├── 53.bmp │ ├── 54.bmp │ ├── 55.bmp │ ├── 56.bmp │ ├── 57.bmp │ ├── 58.bmp │ ├── 59.bmp │ ├── 60.bmp │ ├── 61.bmp │ ├── 62.bmp │ ├── 63.bmp │ ├── 64.bmp │ ├── 65.bmp │ ├── 66.bmp │ ├── 67.bmp │ ├── 68.bmp │ ├── 69.bmp │ ├── 70.bmp │ ├── 71.bmp │ ├── 72.bmp │ ├── 73.bmp │ ├── 74.bmp │ ├── 75.bmp │ ├── 76.bmp │ ├── 77.bmp │ ├── 78.bmp │ ├── 79.bmp │ ├── 80.bmp │ ├── 81.bmp │ ├── 82.bmp │ ├── 83.bmp │ ├── 84.bmp │ ├── 85.bmp │ ├── 86.bmp │ ├── 87.bmp │ ├── 88.bmp │ ├── 89.bmp │ ├── 90.bmp │ ├── 91.bmp │ ├── 92.bmp │ ├── 93.bmp │ ├── 94.bmp │ ├── 95.bmp │ ├── 96.bmp │ ├── 97.bmp │ ├── 98.bmp │ ├── 99.bmp │ ├── 999.bmp │ ├── 01-points.mat │ ├── 02-points.mat │ ├── 03-points.mat │ ├── 04-points.mat │ ├── 05-points.mat │ ├── 06-points.mat │ ├── 07-points.mat │ ├── 08-points.mat │ ├── 09-points.mat │ ├── 10-points.mat │ ├── 11-points.mat │ ├── 12-points.mat │ ├── 13-points.mat │ ├── 14-points.mat │ ├── 15-points.mat │ ├── 16-points.mat │ ├── 17-points.mat │ ├── 18-points.mat │ ├── 19-points.mat │ ├── 20-points.mat │ ├── 21-points.mat │ ├── 22-points.mat │ ├── 23-points.mat │ ├── 24-points.mat │ ├── 25-points.mat │ ├── 26-points.mat │ ├── 27-points.mat │ ├── 28-points.mat │ ├── 29-points.mat │ ├── 30-points.mat │ ├── 31-points.mat │ ├── 32-points.mat │ ├── 33-points.mat │ ├── 34-points.mat │ ├── 35-points.mat │ ├── 36-points.mat │ ├── 37-points.mat │ ├── 38-points.mat │ ├── 39-points.mat │ ├── 40-points.mat │ ├── 41-points.mat │ ├── 42-points.mat │ ├── 43-points.mat │ ├── 44-points.mat │ ├── 45-points.mat │ ├── 46-points.mat │ ├── 47-points.mat │ ├── 48-points.mat │ ├── 49-points.mat │ ├── 50-points.mat │ ├── 51-points.mat │ ├── 52-points.mat │ ├── 53-points.mat │ ├── 54-points.mat │ ├── 55-points.mat │ ├── 56-points.mat │ ├── 57-points.mat │ ├── 58-points.mat │ ├── 59-points.mat │ ├── 60-points.mat │ ├── 61-points.mat │ ├── 62-points.mat │ ├── 63-points.mat │ ├── 64-points.mat │ ├── 65-points.mat │ ├── 66-points.mat │ ├── 67-points.mat │ ├── 68-points.mat │ ├── 69-points.mat │ ├── 70-points.mat │ ├── 71-points.mat │ ├── 72-points.mat │ ├── 73-points.mat │ ├── 74-points.mat │ ├── 75-points.mat │ ├── 76-points.mat │ ├── 77-points.mat │ ├── 78-points.mat │ ├── 79-points.mat │ ├── 80-points.mat │ ├── 81-points.mat │ ├── 82-points.mat │ ├── 83-points.mat │ ├── 84-points.mat │ ├── 85-points.mat │ ├── 86-points.mat │ ├── 87-points.mat │ ├── 88-points.mat │ ├── 89-points.mat │ ├── 90-points.mat │ ├── 91-points.mat │ ├── 92-points.mat │ ├── 93-points.mat │ ├── 94-points.mat │ ├── 95-points.mat │ ├── 96-points.mat │ ├── 97-points.mat │ ├── 98-points.mat │ ├── 99-points.mat │ └── 999-points.mat └── Dummy_59_59 │ ├── 001.bmp │ ├── 002.bmp │ ├── 003.bmp │ ├── 004.bmp │ ├── 005.bmp │ ├── 006.bmp │ ├── 007.bmp │ ├── 008.bmp │ ├── 009.bmp │ ├── 010.bmp │ ├── 011.bmp │ ├── 012.bmp │ ├── 013.bmp │ ├── 014.bmp │ ├── 015.bmp │ ├── 016.bmp │ ├── 017.bmp │ ├── 018.bmp │ ├── 019.bmp │ ├── 020.bmp │ ├── 021.bmp │ ├── 022.bmp │ ├── 023.bmp │ ├── 024.bmp │ ├── 025.bmp │ ├── 026.bmp │ ├── 027.bmp │ ├── 028.bmp │ ├── 029.bmp │ ├── 030.bmp │ ├── 031.bmp │ ├── 032.bmp │ ├── 033.bmp │ ├── 034.bmp │ ├── 035.bmp │ ├── 036.bmp │ ├── 037.bmp │ ├── 038.bmp │ ├── 039.bmp │ ├── 040.bmp │ ├── 041.bmp │ ├── 042.bmp │ ├── 043.bmp │ ├── 044.bmp │ ├── 045.bmp │ ├── 046.bmp │ ├── 047.bmp │ ├── 048.bmp │ ├── 049.bmp │ ├── 050.bmp │ ├── 051.bmp │ ├── 052.bmp │ ├── 053.bmp │ ├── 054.bmp │ ├── 055.bmp │ ├── 056.bmp │ ├── 057.bmp │ ├── 058.bmp │ ├── 059.bmp │ ├── 060.bmp │ ├── 061.bmp │ ├── 062.bmp │ ├── 063.bmp │ ├── 064.bmp │ ├── 065.bmp │ ├── 066.bmp │ ├── 067.bmp │ ├── 068.bmp │ ├── 069.bmp │ ├── 070.bmp │ ├── 071.bmp │ ├── 072.bmp │ ├── 073.bmp │ ├── 074.bmp │ ├── 075.bmp │ ├── 076.bmp │ ├── 077.bmp │ ├── 078.bmp │ ├── 079.bmp │ ├── 080.bmp │ ├── 081.bmp │ ├── 082.bmp │ ├── 083.bmp │ ├── 084.bmp │ ├── 085.bmp │ ├── 086.bmp │ ├── 087.bmp │ ├── 088.bmp │ ├── 089.bmp │ ├── 090.bmp │ ├── 091.bmp │ ├── 092.bmp │ ├── 093.bmp │ ├── 094.bmp │ ├── 095.bmp │ ├── 096.bmp │ ├── 097.bmp │ ├── 098.bmp │ ├── 099.bmp │ ├── 100.bmp │ ├── 001-points.mat │ ├── 002-points.mat │ ├── 003-points.mat │ ├── 004-points.mat │ ├── 005-points.mat │ ├── 006-points.mat │ ├── 007-points.mat │ ├── 008-points.mat │ ├── 009-points.mat │ ├── 010-points.mat │ ├── 011-points.mat │ ├── 012-points.mat │ ├── 013-points.mat │ ├── 014-points.mat │ ├── 015-points.mat │ ├── 016-points.mat │ ├── 017-points.mat │ ├── 018-points.mat │ ├── 019-points.mat │ ├── 020-points.mat │ ├── 021-points.mat │ ├── 022-points.mat │ ├── 023-points.mat │ ├── 024-points.mat │ ├── 025-points.mat │ ├── 026-points.mat │ ├── 027-points.mat │ ├── 028-points.mat │ ├── 029-points.mat │ ├── 030-points.mat │ ├── 031-points.mat │ ├── 032-points.mat │ ├── 033-points.mat │ ├── 034-points.mat │ ├── 035-points.mat │ ├── 036-points.mat │ ├── 037-points.mat │ ├── 038-points.mat │ ├── 039-points.mat │ ├── 040-points.mat │ ├── 041-points.mat │ ├── 042-points.mat │ ├── 043-points.mat │ ├── 044-points.mat │ ├── 045-points.mat │ ├── 046-points.mat │ ├── 047-points.mat │ ├── 048-points.mat │ ├── 049-points.mat │ ├── 050-points.mat │ ├── 051-points.mat │ ├── 052-points.mat │ ├── 053-points.mat │ ├── 054-points.mat │ ├── 055-points.mat │ ├── 056-points.mat │ ├── 057-points.mat │ ├── 058-points.mat │ ├── 059-points.mat │ ├── 060-points.mat │ ├── 061-points.mat │ ├── 062-points.mat │ ├── 063-points.mat │ ├── 064-points.mat │ ├── 065-points.mat │ ├── 066-points.mat │ ├── 067-points.mat │ ├── 068-points.mat │ ├── 069-points.mat │ ├── 070-points.mat │ ├── 071-points.mat │ ├── 072-points.mat │ ├── 073-points.mat │ ├── 074-points.mat │ ├── 075-points.mat │ ├── 076-points.mat │ ├── 077-points.mat │ ├── 078-points.mat │ ├── 079-points.mat │ ├── 080-points.mat │ ├── 081-points.mat │ ├── 082-points.mat │ ├── 083-points.mat │ ├── 084-points.mat │ ├── 085-points.mat │ ├── 086-points.mat │ ├── 087-points.mat │ ├── 088-points.mat │ ├── 089-points.mat │ ├── 090-points.mat │ ├── 091-points.mat │ ├── 092-points.mat │ ├── 093-points.mat │ ├── 094-points.mat │ ├── 095-points.mat │ ├── 096-points.mat │ ├── 097-points.mat │ ├── 098-points.mat │ ├── 099-points.mat │ └── 100-points.mat ├── rasl ├── version.py ├── __init__.py ├── show.py ├── rasl.py ├── jacobian.py └── inner.py ├── .travis.yml ├── examples ├── dummy.py ├── gore.py └── digits.py ├── .gitignore ├── LICENSE ├── README.rst ├── setup.py ├── tests ├── jacobian_test.py ├── image_jaco_test.py ├── inner_test.py └── tform_test.py └── README.md /setup.cfg: -------------------------------------------------------------------------------- 1 | [bdist_wheel] 2 | universal = 1 3 | -------------------------------------------------------------------------------- /images/dummy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/images/dummy.jpg -------------------------------------------------------------------------------- /images/gore.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/images/gore.jpg -------------------------------------------------------------------------------- /images/digits.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/images/digits.jpg -------------------------------------------------------------------------------- /data/Al_Gore/0000.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0000.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0001.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0001.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0002.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0002.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0003.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0003.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0004.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0004.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0005.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0005.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0006.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0006.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0007.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0007.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0008.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0008.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0009.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0009.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0010.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0010.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0011.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0011.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0012.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0012.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0013.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0013.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0014.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0014.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0015.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0015.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0016.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0016.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0017.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0017.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0018.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0018.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0019.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0019.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0020.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0020.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0021.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0021.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0022.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0022.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0023.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0023.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0024.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0024.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0025.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0025.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0026.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0026.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0027.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0027.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0028.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0028.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0029.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0029.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0030.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0030.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0031.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0031.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0032.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0032.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0033.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0033.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0034.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0034.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0035.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0035.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0036.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0036.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0037.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0037.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0038.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0038.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0039.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0039.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0040.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0040.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0041.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0041.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0042.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0042.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0043.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0043.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0044.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0044.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0045.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0045.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0046.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0046.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0047.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0047.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0048.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0048.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0049.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0049.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0050.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0050.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0051.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0051.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0052.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0052.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0053.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0053.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0054.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0054.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0055.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0055.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0056.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0056.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0057.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0057.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0058.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0058.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0059.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0059.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0060.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0060.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0061.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0061.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0062.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0062.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0063.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0063.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0064.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0064.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0065.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0065.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0066.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0066.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0067.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0067.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0068.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0068.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0069.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0069.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0070.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0070.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0071.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0071.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0072.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0072.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0073.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0073.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0074.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0074.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0075.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0075.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0076.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0076.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0077.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0077.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0078.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0078.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0079.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0079.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0080.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0080.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0081.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0081.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0082.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0082.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0083.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0083.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0084.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0084.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0085.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0085.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0086.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0086.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0087.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0087.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0088.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0088.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0089.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0089.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0090.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0090.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0091.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0091.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0092.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0092.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0093.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0093.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0094.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0094.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0095.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0095.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0096.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0096.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0097.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0097.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0098.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0098.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0099.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0099.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0100.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0100.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0101.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0101.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0102.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0102.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0103.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0103.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0104.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0104.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0105.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0105.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0106.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0106.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0107.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0107.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0108.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0108.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0109.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0109.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0110.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0110.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0111.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0111.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0112.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0112.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0113.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0113.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0114.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0114.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0115.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0115.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0116.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0116.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0117.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0117.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0118.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0118.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0119.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0119.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0120.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0120.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0121.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0121.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0122.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0122.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0123.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0123.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0124.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0124.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0125.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0125.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0126.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0126.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0127.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0127.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0128.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0128.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0129.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0129.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0130.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0130.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0131.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0131.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0132.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0132.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0133.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0133.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0134.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0134.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0135.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0135.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0136.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0136.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0137.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0137.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0138.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0138.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0139.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0139.bmp -------------------------------------------------------------------------------- /data/Digits_3/01.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/01.bmp -------------------------------------------------------------------------------- /data/Digits_3/02.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/02.bmp -------------------------------------------------------------------------------- /data/Digits_3/03.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/03.bmp -------------------------------------------------------------------------------- /data/Digits_3/04.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/04.bmp -------------------------------------------------------------------------------- /data/Digits_3/05.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/05.bmp -------------------------------------------------------------------------------- /data/Digits_3/06.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/06.bmp -------------------------------------------------------------------------------- /data/Digits_3/07.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/07.bmp -------------------------------------------------------------------------------- /data/Digits_3/08.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/08.bmp -------------------------------------------------------------------------------- /data/Digits_3/09.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/09.bmp -------------------------------------------------------------------------------- /data/Digits_3/10.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/10.bmp -------------------------------------------------------------------------------- /data/Digits_3/11.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/11.bmp -------------------------------------------------------------------------------- /data/Digits_3/12.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/12.bmp -------------------------------------------------------------------------------- /data/Digits_3/13.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/13.bmp -------------------------------------------------------------------------------- /data/Digits_3/14.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/14.bmp -------------------------------------------------------------------------------- /data/Digits_3/15.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/15.bmp -------------------------------------------------------------------------------- /data/Digits_3/16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/16.bmp -------------------------------------------------------------------------------- /data/Digits_3/17.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/17.bmp -------------------------------------------------------------------------------- /data/Digits_3/18.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/18.bmp -------------------------------------------------------------------------------- /data/Digits_3/19.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/19.bmp -------------------------------------------------------------------------------- /data/Digits_3/20.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/20.bmp -------------------------------------------------------------------------------- /data/Digits_3/21.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/21.bmp -------------------------------------------------------------------------------- /data/Digits_3/22.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/22.bmp -------------------------------------------------------------------------------- /data/Digits_3/23.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/23.bmp -------------------------------------------------------------------------------- /data/Digits_3/24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/24.bmp -------------------------------------------------------------------------------- /data/Digits_3/25.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/25.bmp -------------------------------------------------------------------------------- /data/Digits_3/26.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/26.bmp -------------------------------------------------------------------------------- /data/Digits_3/27.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/27.bmp -------------------------------------------------------------------------------- /data/Digits_3/28.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/28.bmp -------------------------------------------------------------------------------- /data/Digits_3/29.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/29.bmp -------------------------------------------------------------------------------- /data/Digits_3/30.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/30.bmp -------------------------------------------------------------------------------- /data/Digits_3/31.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/31.bmp -------------------------------------------------------------------------------- /data/Digits_3/32.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/32.bmp -------------------------------------------------------------------------------- /data/Digits_3/33.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/33.bmp -------------------------------------------------------------------------------- /data/Digits_3/34.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/34.bmp -------------------------------------------------------------------------------- /data/Digits_3/35.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/35.bmp -------------------------------------------------------------------------------- /data/Digits_3/36.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/36.bmp -------------------------------------------------------------------------------- /data/Digits_3/37.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/37.bmp -------------------------------------------------------------------------------- /data/Digits_3/38.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/38.bmp -------------------------------------------------------------------------------- /data/Digits_3/39.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/39.bmp -------------------------------------------------------------------------------- /data/Digits_3/40.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/40.bmp -------------------------------------------------------------------------------- /data/Digits_3/41.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/41.bmp -------------------------------------------------------------------------------- /data/Digits_3/42.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/42.bmp -------------------------------------------------------------------------------- /data/Digits_3/43.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/43.bmp -------------------------------------------------------------------------------- /data/Digits_3/44.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/44.bmp -------------------------------------------------------------------------------- /data/Digits_3/45.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/45.bmp -------------------------------------------------------------------------------- /data/Digits_3/46.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/46.bmp -------------------------------------------------------------------------------- /data/Digits_3/47.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/47.bmp -------------------------------------------------------------------------------- /data/Digits_3/48.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/48.bmp -------------------------------------------------------------------------------- /data/Digits_3/49.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/49.bmp -------------------------------------------------------------------------------- /data/Digits_3/50.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/50.bmp -------------------------------------------------------------------------------- /data/Digits_3/51.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/51.bmp -------------------------------------------------------------------------------- /data/Digits_3/52.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/52.bmp -------------------------------------------------------------------------------- /data/Digits_3/53.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/53.bmp -------------------------------------------------------------------------------- /data/Digits_3/54.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/54.bmp -------------------------------------------------------------------------------- /data/Digits_3/55.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/55.bmp -------------------------------------------------------------------------------- /data/Digits_3/56.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/56.bmp -------------------------------------------------------------------------------- /data/Digits_3/57.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/57.bmp -------------------------------------------------------------------------------- /data/Digits_3/58.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/58.bmp -------------------------------------------------------------------------------- /data/Digits_3/59.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/59.bmp -------------------------------------------------------------------------------- /data/Digits_3/60.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/60.bmp -------------------------------------------------------------------------------- /data/Digits_3/61.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/61.bmp -------------------------------------------------------------------------------- /data/Digits_3/62.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/62.bmp -------------------------------------------------------------------------------- /data/Digits_3/63.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/63.bmp -------------------------------------------------------------------------------- /data/Digits_3/64.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/64.bmp -------------------------------------------------------------------------------- /data/Digits_3/65.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/65.bmp -------------------------------------------------------------------------------- /data/Digits_3/66.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/66.bmp -------------------------------------------------------------------------------- /data/Digits_3/67.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/67.bmp -------------------------------------------------------------------------------- /data/Digits_3/68.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/68.bmp -------------------------------------------------------------------------------- /data/Digits_3/69.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/69.bmp -------------------------------------------------------------------------------- /data/Digits_3/70.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/70.bmp -------------------------------------------------------------------------------- /data/Digits_3/71.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/71.bmp -------------------------------------------------------------------------------- /data/Digits_3/72.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/72.bmp -------------------------------------------------------------------------------- /data/Digits_3/73.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/73.bmp -------------------------------------------------------------------------------- /data/Digits_3/74.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/74.bmp -------------------------------------------------------------------------------- /data/Digits_3/75.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/75.bmp -------------------------------------------------------------------------------- /data/Digits_3/76.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/76.bmp -------------------------------------------------------------------------------- /data/Digits_3/77.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/77.bmp -------------------------------------------------------------------------------- /data/Digits_3/78.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/78.bmp -------------------------------------------------------------------------------- /data/Digits_3/79.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/79.bmp -------------------------------------------------------------------------------- /data/Digits_3/80.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/80.bmp -------------------------------------------------------------------------------- /data/Digits_3/81.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/81.bmp -------------------------------------------------------------------------------- /data/Digits_3/82.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/82.bmp -------------------------------------------------------------------------------- /data/Digits_3/83.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/83.bmp -------------------------------------------------------------------------------- /data/Digits_3/84.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/84.bmp -------------------------------------------------------------------------------- /data/Digits_3/85.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/85.bmp -------------------------------------------------------------------------------- /data/Digits_3/86.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/86.bmp -------------------------------------------------------------------------------- /data/Digits_3/87.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/87.bmp -------------------------------------------------------------------------------- /data/Digits_3/88.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/88.bmp -------------------------------------------------------------------------------- /data/Digits_3/89.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/89.bmp -------------------------------------------------------------------------------- /data/Digits_3/90.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/90.bmp -------------------------------------------------------------------------------- /data/Digits_3/91.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/91.bmp -------------------------------------------------------------------------------- /data/Digits_3/92.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/92.bmp -------------------------------------------------------------------------------- /data/Digits_3/93.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/93.bmp -------------------------------------------------------------------------------- /data/Digits_3/94.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/94.bmp -------------------------------------------------------------------------------- /data/Digits_3/95.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/95.bmp -------------------------------------------------------------------------------- /data/Digits_3/96.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/96.bmp -------------------------------------------------------------------------------- /data/Digits_3/97.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/97.bmp -------------------------------------------------------------------------------- /data/Digits_3/98.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/98.bmp -------------------------------------------------------------------------------- /data/Digits_3/99.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/99.bmp -------------------------------------------------------------------------------- /data/Digits_3/999.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/999.bmp -------------------------------------------------------------------------------- /data/Al_Gore/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/Thumbs.db -------------------------------------------------------------------------------- /data/Dummy_59_59/001.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/001.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/002.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/002.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/003.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/003.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/004.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/004.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/005.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/005.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/006.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/006.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/007.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/007.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/008.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/008.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/009.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/009.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/010.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/010.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/011.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/011.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/012.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/012.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/013.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/013.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/014.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/014.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/015.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/015.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/016.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/016.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/017.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/017.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/018.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/018.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/019.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/019.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/020.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/020.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/021.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/021.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/022.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/022.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/023.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/023.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/024.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/024.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/025.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/025.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/026.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/026.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/027.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/027.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/028.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/028.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/029.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/029.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/030.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/030.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/031.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/031.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/032.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/032.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/033.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/033.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/034.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/034.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/035.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/035.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/036.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/036.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/037.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/037.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/038.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/038.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/039.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/039.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/040.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/040.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/041.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/041.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/042.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/042.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/043.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/043.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/044.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/044.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/045.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/045.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/046.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/046.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/047.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/047.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/048.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/048.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/049.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/049.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/050.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/050.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/051.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/051.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/052.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/052.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/053.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/053.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/054.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/054.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/055.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/055.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/056.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/056.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/057.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/057.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/058.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/058.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/059.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/059.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/060.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/060.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/061.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/061.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/062.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/062.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/063.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/063.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/064.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/064.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/065.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/065.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/066.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/066.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/067.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/067.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/068.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/068.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/069.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/069.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/070.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/070.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/071.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/071.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/072.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/072.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/073.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/073.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/074.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/074.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/075.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/075.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/076.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/076.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/077.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/077.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/078.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/078.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/079.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/079.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/080.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/080.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/081.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/081.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/082.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/082.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/083.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/083.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/084.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/084.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/085.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/085.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/086.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/086.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/087.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/087.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/088.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/088.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/089.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/089.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/090.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/090.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/091.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/091.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/092.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/092.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/093.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/093.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/094.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/094.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/095.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/095.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/096.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/096.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/097.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/097.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/098.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/098.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/099.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/099.bmp -------------------------------------------------------------------------------- /data/Dummy_59_59/100.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/100.bmp -------------------------------------------------------------------------------- /data/Al_Gore/0000-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0000-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0001-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0001-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0002-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0002-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0003-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0003-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0004-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0004-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0005-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0005-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0006-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0006-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0007-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0007-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0008-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0008-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0009-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0009-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0010-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0010-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0011-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0011-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0012-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0012-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0013-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0013-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0014-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0014-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0015-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0015-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0016-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0016-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0017-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0017-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0018-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0018-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0019-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0019-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0020-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0020-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0021-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0021-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0022-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0022-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0023-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0023-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0024-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0024-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0025-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0025-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0026-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0026-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0027-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0027-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0028-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0028-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0029-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0029-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0030-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0030-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0031-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0031-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0032-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0032-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0033-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0033-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0034-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0034-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0035-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0035-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0036-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0036-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0037-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0037-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0038-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0038-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0039-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0039-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0040-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0040-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0041-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0041-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0042-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0042-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0043-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0043-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0044-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0044-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0045-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0045-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0046-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0046-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0047-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0047-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0048-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0048-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0049-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0049-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0050-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0050-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0051-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0051-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0052-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0052-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0053-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0053-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0054-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0054-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0055-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0055-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0056-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0056-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0057-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0057-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0058-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0058-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0059-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0059-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0060-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0060-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0061-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0061-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0062-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0062-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0063-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0063-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0064-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0064-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0065-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0065-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0066-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0066-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0067-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0067-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0068-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0068-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0069-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0069-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0070-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0070-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0071-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0071-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0072-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0072-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0073-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0073-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0074-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0074-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0075-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0075-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0076-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0076-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0077-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0077-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0078-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0078-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0079-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0079-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0080-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0080-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0081-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0081-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0082-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0082-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0083-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0083-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0084-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0084-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0085-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0085-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0086-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0086-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0087-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0087-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0088-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0088-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0089-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0089-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0090-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0090-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0091-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0091-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0092-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0092-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0093-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0093-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0094-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0094-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0095-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0095-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0096-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0096-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0097-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0097-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0098-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0098-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0099-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0099-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0100-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0100-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0101-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0101-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0102-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0102-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0103-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0103-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0104-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0104-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0105-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0105-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0106-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0106-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0107-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0107-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0108-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0108-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0109-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0109-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0110-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0110-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0111-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0111-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0112-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0112-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0113-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0113-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0114-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0114-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0115-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0115-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0116-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0116-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0117-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0117-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0118-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0118-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0119-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0119-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0120-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0120-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0121-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0121-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0122-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0122-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0123-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0123-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0124-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0124-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0125-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0125-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0126-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0126-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0127-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0127-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0128-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0128-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0129-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0129-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0130-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0130-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0131-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0131-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0132-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0132-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0133-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0133-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0134-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0134-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0135-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0135-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0136-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0136-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0137-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0137-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0138-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0138-points.mat -------------------------------------------------------------------------------- /data/Al_Gore/0139-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Al_Gore/0139-points.mat -------------------------------------------------------------------------------- /data/Digits_3/01-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/01-points.mat -------------------------------------------------------------------------------- /data/Digits_3/02-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/02-points.mat -------------------------------------------------------------------------------- /data/Digits_3/03-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/03-points.mat -------------------------------------------------------------------------------- /data/Digits_3/04-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/04-points.mat -------------------------------------------------------------------------------- /data/Digits_3/05-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/05-points.mat -------------------------------------------------------------------------------- /data/Digits_3/06-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/06-points.mat -------------------------------------------------------------------------------- /data/Digits_3/07-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/07-points.mat -------------------------------------------------------------------------------- /data/Digits_3/08-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/08-points.mat -------------------------------------------------------------------------------- /data/Digits_3/09-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/09-points.mat -------------------------------------------------------------------------------- /data/Digits_3/10-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/10-points.mat -------------------------------------------------------------------------------- /data/Digits_3/11-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/11-points.mat -------------------------------------------------------------------------------- /data/Digits_3/12-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/12-points.mat -------------------------------------------------------------------------------- /data/Digits_3/13-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/13-points.mat -------------------------------------------------------------------------------- /data/Digits_3/14-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/14-points.mat -------------------------------------------------------------------------------- /data/Digits_3/15-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/15-points.mat -------------------------------------------------------------------------------- /data/Digits_3/16-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/16-points.mat -------------------------------------------------------------------------------- /data/Digits_3/17-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/17-points.mat -------------------------------------------------------------------------------- /data/Digits_3/18-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/18-points.mat -------------------------------------------------------------------------------- /data/Digits_3/19-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/19-points.mat -------------------------------------------------------------------------------- /data/Digits_3/20-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/20-points.mat -------------------------------------------------------------------------------- /data/Digits_3/21-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/21-points.mat -------------------------------------------------------------------------------- /data/Digits_3/22-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/22-points.mat -------------------------------------------------------------------------------- /data/Digits_3/23-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/23-points.mat -------------------------------------------------------------------------------- /data/Digits_3/24-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/24-points.mat -------------------------------------------------------------------------------- /data/Digits_3/25-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/25-points.mat -------------------------------------------------------------------------------- /data/Digits_3/26-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/26-points.mat -------------------------------------------------------------------------------- /data/Digits_3/27-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/27-points.mat -------------------------------------------------------------------------------- /data/Digits_3/28-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/28-points.mat -------------------------------------------------------------------------------- /data/Digits_3/29-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/29-points.mat -------------------------------------------------------------------------------- /data/Digits_3/30-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/30-points.mat -------------------------------------------------------------------------------- /data/Digits_3/31-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/31-points.mat -------------------------------------------------------------------------------- /data/Digits_3/32-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/32-points.mat -------------------------------------------------------------------------------- /data/Digits_3/33-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/33-points.mat -------------------------------------------------------------------------------- /data/Digits_3/34-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/34-points.mat -------------------------------------------------------------------------------- /data/Digits_3/35-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/35-points.mat -------------------------------------------------------------------------------- /data/Digits_3/36-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/36-points.mat -------------------------------------------------------------------------------- /data/Digits_3/37-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/37-points.mat -------------------------------------------------------------------------------- /data/Digits_3/38-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/38-points.mat -------------------------------------------------------------------------------- /data/Digits_3/39-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/39-points.mat -------------------------------------------------------------------------------- /data/Digits_3/40-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/40-points.mat -------------------------------------------------------------------------------- /data/Digits_3/41-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/41-points.mat -------------------------------------------------------------------------------- /data/Digits_3/42-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/42-points.mat -------------------------------------------------------------------------------- /data/Digits_3/43-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/43-points.mat -------------------------------------------------------------------------------- /data/Digits_3/44-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/44-points.mat -------------------------------------------------------------------------------- /data/Digits_3/45-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/45-points.mat -------------------------------------------------------------------------------- /data/Digits_3/46-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/46-points.mat -------------------------------------------------------------------------------- /data/Digits_3/47-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/47-points.mat -------------------------------------------------------------------------------- /data/Digits_3/48-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/48-points.mat -------------------------------------------------------------------------------- /data/Digits_3/49-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/49-points.mat -------------------------------------------------------------------------------- /data/Digits_3/50-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/50-points.mat -------------------------------------------------------------------------------- /data/Digits_3/51-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/51-points.mat -------------------------------------------------------------------------------- /data/Digits_3/52-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/52-points.mat -------------------------------------------------------------------------------- /data/Digits_3/53-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/53-points.mat -------------------------------------------------------------------------------- /data/Digits_3/54-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/54-points.mat -------------------------------------------------------------------------------- /data/Digits_3/55-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/55-points.mat -------------------------------------------------------------------------------- /data/Digits_3/56-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/56-points.mat -------------------------------------------------------------------------------- /data/Digits_3/57-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/57-points.mat -------------------------------------------------------------------------------- /data/Digits_3/58-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/58-points.mat -------------------------------------------------------------------------------- /data/Digits_3/59-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/59-points.mat -------------------------------------------------------------------------------- /data/Digits_3/60-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/60-points.mat -------------------------------------------------------------------------------- /data/Digits_3/61-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/61-points.mat -------------------------------------------------------------------------------- /data/Digits_3/62-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/62-points.mat -------------------------------------------------------------------------------- /data/Digits_3/63-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/63-points.mat -------------------------------------------------------------------------------- /data/Digits_3/64-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/64-points.mat -------------------------------------------------------------------------------- /data/Digits_3/65-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/65-points.mat -------------------------------------------------------------------------------- /data/Digits_3/66-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/66-points.mat -------------------------------------------------------------------------------- /data/Digits_3/67-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/67-points.mat -------------------------------------------------------------------------------- /data/Digits_3/68-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/68-points.mat -------------------------------------------------------------------------------- /data/Digits_3/69-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/69-points.mat -------------------------------------------------------------------------------- /data/Digits_3/70-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/70-points.mat -------------------------------------------------------------------------------- /data/Digits_3/71-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/71-points.mat -------------------------------------------------------------------------------- /data/Digits_3/72-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/72-points.mat -------------------------------------------------------------------------------- /data/Digits_3/73-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/73-points.mat -------------------------------------------------------------------------------- /data/Digits_3/74-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/74-points.mat -------------------------------------------------------------------------------- /data/Digits_3/75-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/75-points.mat -------------------------------------------------------------------------------- /data/Digits_3/76-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/76-points.mat -------------------------------------------------------------------------------- /data/Digits_3/77-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/77-points.mat -------------------------------------------------------------------------------- /data/Digits_3/78-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/78-points.mat -------------------------------------------------------------------------------- /data/Digits_3/79-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/79-points.mat -------------------------------------------------------------------------------- /data/Digits_3/80-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/80-points.mat -------------------------------------------------------------------------------- /data/Digits_3/81-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/81-points.mat -------------------------------------------------------------------------------- /data/Digits_3/82-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/82-points.mat -------------------------------------------------------------------------------- /data/Digits_3/83-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/83-points.mat -------------------------------------------------------------------------------- /data/Digits_3/84-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/84-points.mat -------------------------------------------------------------------------------- /data/Digits_3/85-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/85-points.mat -------------------------------------------------------------------------------- /data/Digits_3/86-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/86-points.mat -------------------------------------------------------------------------------- /data/Digits_3/87-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/87-points.mat -------------------------------------------------------------------------------- /data/Digits_3/88-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/88-points.mat -------------------------------------------------------------------------------- /data/Digits_3/89-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/89-points.mat -------------------------------------------------------------------------------- /data/Digits_3/90-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/90-points.mat -------------------------------------------------------------------------------- /data/Digits_3/91-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/91-points.mat -------------------------------------------------------------------------------- /data/Digits_3/92-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/92-points.mat -------------------------------------------------------------------------------- /data/Digits_3/93-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/93-points.mat -------------------------------------------------------------------------------- /data/Digits_3/94-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/94-points.mat -------------------------------------------------------------------------------- /data/Digits_3/95-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/95-points.mat -------------------------------------------------------------------------------- /data/Digits_3/96-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/96-points.mat -------------------------------------------------------------------------------- /data/Digits_3/97-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/97-points.mat -------------------------------------------------------------------------------- /data/Digits_3/98-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/98-points.mat -------------------------------------------------------------------------------- /data/Digits_3/99-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/99-points.mat -------------------------------------------------------------------------------- /data/Digits_3/999-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Digits_3/999-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/001-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/001-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/002-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/002-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/003-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/003-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/004-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/004-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/005-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/005-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/006-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/006-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/007-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/007-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/008-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/008-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/009-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/009-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/010-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/010-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/011-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/011-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/012-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/012-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/013-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/013-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/014-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/014-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/015-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/015-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/016-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/016-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/017-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/017-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/018-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/018-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/019-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/019-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/020-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/020-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/021-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/021-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/022-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/022-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/023-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/023-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/024-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/024-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/025-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/025-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/026-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/026-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/027-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/027-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/028-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/028-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/029-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/029-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/030-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/030-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/031-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/031-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/032-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/032-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/033-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/033-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/034-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/034-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/035-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/035-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/036-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/036-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/037-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/037-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/038-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/038-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/039-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/039-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/040-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/040-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/041-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/041-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/042-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/042-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/043-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/043-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/044-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/044-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/045-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/045-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/046-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/046-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/047-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/047-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/048-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/048-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/049-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/049-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/050-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/050-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/051-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/051-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/052-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/052-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/053-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/053-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/054-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/054-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/055-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/055-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/056-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/056-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/057-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/057-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/058-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/058-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/059-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/059-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/060-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/060-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/061-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/061-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/062-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/062-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/063-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/063-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/064-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/064-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/065-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/065-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/066-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/066-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/067-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/067-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/068-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/068-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/069-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/069-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/070-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/070-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/071-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/071-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/072-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/072-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/073-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/073-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/074-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/074-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/075-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/075-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/076-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/076-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/077-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/077-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/078-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/078-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/079-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/079-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/080-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/080-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/081-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/081-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/082-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/082-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/083-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/083-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/084-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/084-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/085-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/085-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/086-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/086-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/087-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/087-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/088-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/088-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/089-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/089-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/090-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/090-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/091-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/091-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/092-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/092-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/093-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/093-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/094-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/094-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/095-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/095-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/096-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/096-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/097-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/097-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/098-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/098-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/099-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/099-points.mat -------------------------------------------------------------------------------- /data/Dummy_59_59/100-points.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/welch/rasl/HEAD/data/Dummy_59_59/100-points.mat -------------------------------------------------------------------------------- /rasl/version.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Version string and parsed tuple. Keeps it all in one place. 4 | 5 | """ 6 | __version__ = '0.1.0' 7 | VERSION = tuple(int(x) for x in __version__.split('.')) 8 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # We need numpy, scipy, and scikit-image on travis's VM, and they are famously 2 | # painful to build or install from a binary. Miniconda to the 3 | # rescue -- a light anaconda python distribution that can install them. 4 | # 5 | language: python 6 | python: 7 | - 2.7 8 | - 3.5 9 | notifications: 10 | email: false 11 | 12 | # run on the new Travis infrastructure 13 | sudo: false 14 | 15 | # Install stuff 16 | before_install: 17 | - wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh 18 | - chmod +x miniconda.sh 19 | - ./miniconda.sh -b 20 | - export PATH=/home/travis/miniconda2/bin:$PATH 21 | - conda update --yes conda 22 | install: 23 | - conda install --yes python=$TRAVIS_PYTHON_VERSION numpy scipy scikit-image pytest 24 | - python setup.py install 25 | 26 | # Run test 27 | script: 28 | - py.test -s -v 29 | -------------------------------------------------------------------------------- /examples/dummy.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # pylint:disable=invalid-name 3 | """Dummy 4 | 5 | The dummy head alignment example from [1]. 6 | 7 | This loads 100 photographed dummy head images at various angles and 8 | illuminations, and aligns them with a choice of similarity, affine, or 9 | projective transformations. 10 | 11 | It does not yet implement the paper's quality/success measure (based 12 | on transformed eye distances). 13 | 14 | .. [1] Y. Peng, A. Ganesh, J. Wright, W. Xu, Y. Ma, "Robust Alignment by 15 | Sparse and Low-rank Decomposition for Linearly Correlated Images", 16 | IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI) 2011 17 | 18 | """ 19 | import os 20 | import rasl 21 | 22 | if __name__ == "__main__": 23 | 24 | dummy_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 25 | "data/Dummy_59_59") 26 | rasl.application.demo_cmd( 27 | description="Align dummy images using RASL", 28 | path=dummy_dir, frame=5) 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | env/ 12 | build/ 13 | develop-eggs/ 14 | dist/ 15 | downloads/ 16 | eggs/ 17 | .eggs/ 18 | lib/ 19 | lib64/ 20 | parts/ 21 | sdist/ 22 | var/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | 27 | # PyInstaller 28 | # Usually these files are written by a python script from a template 29 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 30 | *.manifest 31 | *.spec 32 | 33 | # Installer logs 34 | pip-log.txt 35 | pip-delete-this-directory.txt 36 | 37 | # Unit test / coverage reports 38 | htmlcov/ 39 | .tox/ 40 | .coverage 41 | .coverage.* 42 | .cache 43 | nosetests.xml 44 | coverage.xml 45 | *,cover 46 | .hypothesis/ 47 | 48 | # Translations 49 | *.mo 50 | *.pot 51 | 52 | # Django stuff: 53 | *.log 54 | 55 | # Sphinx documentation 56 | docs/_build/ 57 | 58 | # PyBuilder 59 | target/ 60 | 61 | #Ipython Notebook 62 | .ipynb_checkpoints 63 | -------------------------------------------------------------------------------- /examples/gore.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # pylint:disable=invalid-name 3 | """Gore 4 | 5 | The Al Gore frame sequence alignment example from [1]. 6 | 7 | This loads 140 frames from a video of Al Gore giving a speech. 8 | The images are of varying size, but a 90 x 70 centered crop 9 | gets his face in each and we'll align from there. 10 | 11 | An interesting thing about the alingment: Gore's closed eyes 12 | are treated as occlusion errors. In the aligned frames, his 13 | eyes have been restored to being open! 14 | 15 | .. [1] Y. Peng, A. Ganesh, J. Wright, W. Xu, Y. Ma, "Robust Alignment by 16 | Sparse and Low-rank Decomposition for Linearly Correlated Images", 17 | IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI) 2011 18 | 19 | """ 20 | import os 21 | import rasl 22 | 23 | if __name__ == "__main__": 24 | 25 | gore_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 26 | "data/Al_Gore") 27 | rasl.application.demo_cmd( 28 | description="Align Al Gore's head while he talks, using RASL", 29 | path=gore_dir, frame=(90, 70), grid=(2, 5)) 30 | -------------------------------------------------------------------------------- /examples/digits.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # pylint:disable=invalid-name 3 | """Gore 4 | 5 | The Al Gore frame sequence alignment example from [1]. 6 | 7 | This loads 140 frames from a video of Al Gore giving a speech. 8 | The images are of varying size, but a 90 x 70 centered crop 9 | gets his face in each and we'll align from there. 10 | 11 | An interesting thing about the alingment: Gore's closed eyes 12 | are treated as occlusion errors. In the aligned frames, his 13 | eyes have been restored to being open! 14 | 15 | .. [1] Y. Peng, A. Ganesh, J. Wright, W. Xu, Y. Ma, "Robust Alignment by 16 | Sparse and Low-rank Decomposition for Linearly Correlated Images", 17 | IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI) 2011 18 | 19 | """ 20 | import os 21 | import rasl 22 | 23 | if __name__ == "__main__": 24 | 25 | digits_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 26 | "data/Digits_3") 27 | rasl.application.demo_cmd( 28 | description="Align handwritten digits using RASL", 29 | path=digits_dir, frame=0, tform=rasl.EuclideanTransform) 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Will Welch 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /rasl/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # pylint:disable=unused-import 3 | """RASL 4 | ==== 5 | 6 | Align linearly correlated images with gross corruption such as occlusions. 7 | 8 | `rasl` is a python implementation of the batch image alignment technique 9 | described in: 10 | 11 | Y. Peng, A. Ganesh, J. Wright, W. Xu, Y. Ma, "Robust Alignment by 12 | Sparse and Low-rank Decomposition for Linearly Correlated Images", 13 | IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI) 2011 14 | 15 | Functions 16 | --------- 17 | rasl -- align a set of linearly correlated images 18 | load_images -- load images and correspondence points from a directory 19 | 20 | Classes 21 | ------- 22 | SimilarityTransform, AffineTransform, ProjectiveTransform -- 23 | extended versions of skimage.transform classes for use in alignment 24 | 25 | Author 26 | ------ 27 | Will Welch (github@quietplease.com) 28 | 29 | """ 30 | from .version import __version__, VERSION 31 | from .tform import (EuclideanTransform, SimilarityTransform, 32 | AffineTransform, ProjectiveTransform) 33 | from .jacobian import framed_gradient, warp_image_gradient, approx_jacobian 34 | from .rasl import rasl 35 | from .application import load_images 36 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | RASL 2 | ==== 3 | 4 | Align linearly correlated images, possibly having gross corruption or occlusions. 5 | 6 | Detailed description and installation instructions, along with 7 | example code and data, are here: https://github.com/welch/rasl 8 | 9 | `rasl` is a python implementation of the batch image alignment technique 10 | described in: 11 | 12 | Y. Peng, A. Ganesh, J. Wright, W. Xu, Y. Ma, "Robust Alignment by 13 | Sparse and Low-rank Decomposition for Linearly Correlated Images", 14 | IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI) 2011 15 | 16 | The paper describes a technique for aligning images of objects varying 17 | in illumination and projection, possibly with occlusions (such as 18 | facial images at varying angles, some including eyeglasses or 19 | hair). RASL seeks transformations or deformations that will best 20 | superimpose a batch of images, with pixel accuracy where possible. It 21 | solves this problem by decomposing the image matrix into a dense 22 | low-rank component (analogous to "eigenfaces" in face-recognition 23 | literature) combined with a sparse error matrix representing any 24 | occlusions. The decomposition is accomplished with a robust form of 25 | PCA via Principal Components Pursuit. 26 | 27 | Dependencies 28 | ------------- 29 | numpy, scipy, scikit-image 30 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os.path 3 | from setuptools import setup 4 | 5 | __version__ = "can't find version.py" 6 | exec(compile(open('rasl/version.py').read(), # pylint: disable=exec-used 7 | 'rasl/version.py', 'exec')) 8 | 9 | def read(fname): 10 | return open(os.path.join(os.path.dirname(__file__), fname)).read() 11 | 12 | 13 | setup(name='rasl', 14 | version=__version__, 15 | description='Batch image alignment using the technique described in "Robust Alignment by Sparse and Low-rank Decomposition for Linearly Correlated Images"', 16 | author='Will Welch', 17 | author_email='github@quietplease.com', 18 | packages=['rasl'], 19 | license="MIT", 20 | keywords="Principal Component Pursuit, Robust PCA, Image alignment, Eigenface", 21 | url="https://github.com/welch/rasl", 22 | long_description=read('README.rst'), 23 | classifiers=[ 24 | "Development Status :: 4 - Beta", 25 | "License :: OSI Approved :: MIT License", 26 | "Programming Language :: Python :: 2.7", 27 | "Topic :: Scientific/Engineering", 28 | ], 29 | install_requires=[ 30 | "numpy", 31 | "scipy", 32 | "scikit-image" 33 | ], 34 | tests_require=[ 35 | "pytest" 36 | ], 37 | setup_requires=[ 38 | "pytest-runner" 39 | ], 40 | extras_require={ 41 | "PLOT": ["matplotlib"] 42 | }, 43 | entry_points={ 44 | "console_scripts": [ 45 | "rasl.demo = rasl.application:demo_cmd [PLOT]", 46 | ], 47 | } 48 | ) 49 | -------------------------------------------------------------------------------- /tests/jacobian_test.py: -------------------------------------------------------------------------------- 1 | # test transformed image vector gradients. 2 | # 3 | # these combine sobel operators for pixel gradients, 4 | # image jacobians for transform parameter gradients, 5 | # and warped image vectors. Verify the results by comparing 6 | # to image gradients approximated using simple finite differences. 7 | # 8 | # pylint:disable=import-error 9 | from __future__ import division, print_function 10 | import pytest 11 | import numpy as np 12 | from rasl import (warp_image_gradient, approx_jacobian, 13 | SimilarityTransform, AffineTransform, ProjectiveTransform) 14 | 15 | def setup_function(_): 16 | np.random.seed(0) 17 | np.set_printoptions(threshold=np.inf, 18 | formatter={'float_kind':lambda x: "%.2f" % x}) 19 | 20 | def gradient_rect_image(dim=10): 21 | gradient = np.vstack([np.arange(dim).astype('float') for _ in range(dim)]) 22 | return np.vstack((gradient, gradient.T)) 23 | 24 | def gradient_image(dim=20): 25 | return np.outer(np.arange(dim), np.arange(dim, dtype=float)) 26 | 27 | def dummy_image(): 28 | import skimage.io as io 29 | return io.imread('data/Dummy_59_59/020.bmp', as_grey=True) 30 | 31 | def test_similarity(): 32 | image = gradient_image(20) 33 | tform = SimilarityTransform([.5, .1, 1, 2]).inset(image.shape, 4) 34 | aj = approx_jacobian(tform, image) 35 | _, jvec = warp_image_gradient(tform, image, normalize=False) 36 | assert np.allclose(aj, jvec, equal_nan=True, atol=1e-2) 37 | 38 | def test_affine(): 39 | image = gradient_image(100) 40 | tform = AffineTransform([.75, .1, 0, .5, -.1, 3]).inset(image.shape,10) 41 | aj = approx_jacobian(tform, image) 42 | _, jvec = warp_image_gradient(tform, image, normalize=False) 43 | assert np.allclose(aj, jvec, equal_nan=True, atol=1e-2) 44 | 45 | def test_projective(): 46 | image = gradient_image(100) 47 | tform = ProjectiveTransform([.75, .1, 1, .5, -.1, 3, .0, .0]) 48 | tform = tform.inset(image.shape, 10) 49 | aj = approx_jacobian(tform, image, 50 | delta=[.01, .01, .01, .01, .01, .01, .00001, .00001]) 51 | _, jvec = warp_image_gradient(tform, image, normalize=False) 52 | assert np.allclose(aj, jvec, equal_nan=True, rtol=1e-2) 53 | 54 | def test_frame_scale(): 55 | dim = 30 56 | image = gradient_image(dim) 57 | bounds = ((5, 6), (-7, -10)) 58 | tform = AffineTransform([1, 0, 0, .5, 0, 0]).inset(image.shape, bounds) 59 | framed = tform.imtransform(image) 60 | aj = approx_jacobian(tform, image) 61 | _, jvec = warp_image_gradient(tform, image, normalize=False) 62 | assert np.allclose(aj, jvec, equal_nan=True, atol=1e-2) 63 | 64 | def test_frame_rot(): 65 | image = gradient_image(10) 66 | tform = SimilarityTransform([1, np.pi/2, 0, 0]).inset(image.shape, 5) 67 | aj = approx_jacobian(tform, image) 68 | _, jvec = warp_image_gradient(tform, image, normalize=False) 69 | assert np.allclose(aj, jvec, equal_nan=True, atol=1e-2) 70 | -------------------------------------------------------------------------------- /rasl/show.py: -------------------------------------------------------------------------------- 1 | # pylint:disable=invalid-name, too-many-locals, too-many-arguments 2 | """Show 3 | 4 | Animated displays of image transformations 5 | 6 | Assembles lists of images into named 2-grids, assembles multiples of 7 | these image grids in a single output view, and allows real-time 8 | updating of their contents with successive calls to show_images. 9 | 10 | """ 11 | from __future__ import division, print_function 12 | from itertools import product 13 | from collections import OrderedDict, namedtuple 14 | import numpy as np 15 | import matplotlib.pyplot as plt 16 | 17 | Imgarray = namedtuple('Imgarray', 'contents axis count') 18 | imgarrays = OrderedDict() # composite images to display, by title 19 | 20 | def show_images(Image, shape, title="", spacing=2): 21 | """Create a grid of images and display them 22 | 23 | Parameters 24 | ---------- 25 | Image : list of ndarray(h, v) 26 | images to composite. must all have same shape 27 | shape : tuple 28 | shape of tiled image array. Must agree with len(Image) 29 | title : string 30 | title to display above this image array, and to look up 31 | the array for future updating calls. 32 | spacing : int 33 | number of pixels spacing between tiled images 34 | 35 | """ 36 | imshape = (np.max([image.shape[0] for image in Image]), 37 | np.max([image.shape[1] for image in Image])) 38 | (rows, cols), (hgt, wid) = shape, imshape 39 | bhgt, bwid = (hgt + spacing, wid + spacing) 40 | composite = np.ones((bhgt * rows, bwid * cols)) * np.nan 41 | for row, col in product(range(rows), range(cols)): 42 | image = Image[row * cols + col] 43 | composite[row * bhgt:row * bhgt + image.shape[0], 44 | col * bwid:col * bwid + image.shape[1]] = image 45 | 46 | if not imgarrays.has_key(title): 47 | # allocate a new row beneath existing imgarrays 48 | plt.close() 49 | _, axes = plt.subplots(nrows=len(imgarrays) + 1, ncols=1, squeeze=False) 50 | plt.gray() 51 | # transfer the imgarrays to their new axes 52 | imgarrays[title] = Imgarray(composite, None, 1) 53 | for (title, ia), axis in zip(imgarrays.items(), axes[:, 0]): 54 | imgarrays[title] = Imgarray(ia.contents, axis, ia.count) 55 | titlefmt = title + ("({})".format(ia.count) if ia.count > 1 else "") 56 | axis.set_title(titlefmt) 57 | axis.imshow(ia.contents) 58 | axis.axis('off') 59 | else: 60 | # update the contents of an existing imgarray in place 61 | ia = imgarrays[title] 62 | imgarrays[title] = Imgarray(composite, ia.axis, ia.count + 1) 63 | titlefmt = title + "({})".format(ia.count + 1) 64 | ia.axis.set_title(titlefmt) 65 | ia.axis.imshow(composite) 66 | plt.pause(.001) 67 | 68 | def show_vec_images(imat, imshape, shape, title="", spacing=2): 69 | """like show_images, but for images stored as columns in a matrix. 70 | 71 | Parameters 72 | ---------- 73 | imat : ndarray(npixels, nimages) 74 | each column is a flattened image to composite. 75 | imshape : tuple 76 | (h, v) for flattened images in imat 77 | shape : tuple 78 | shape of tiled image array. Must agree with len(Image) 79 | title : string 80 | title to display above this image array, and to look up 81 | the array for future updating calls. 82 | spacing : int 83 | number of pixels spacing between tiled images 84 | 85 | """ 86 | Image = [imat[:, i].reshape(imshape) for i in range(shape[0] * shape[1])] 87 | show_images(Image, title=title, spacing=spacing, shape=shape) 88 | -------------------------------------------------------------------------------- /rasl/rasl.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # pylint:disable=invalid-name, too-many-locals, too-many-arguments 3 | """RASL outer loop 4 | 5 | Batch image alignment at fixed resolution (Algorithm 1 in [1]). 6 | 7 | Python implemention based on rasl_main.m from MATLAB code at [2], but 8 | without multiresolution support. 9 | 10 | References 11 | ---------- 12 | .. [1] Y. Peng, A. Ganesh, J. Wright, W. Xu, Y. Ma, "Robust Alignment by 13 | Sparse and Low-rank Decomposition for Linearly Correlated Images", 14 | IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI) 2011 15 | 16 | .. [2] http://perception.csl.illinois.edu/matrix-rank/rasl.html#Code 17 | 18 | """ 19 | from __future__ import division, print_function 20 | import numpy as np 21 | from skimage.util import img_as_float 22 | from .inner import inner_ialm 23 | from .jacobian import framed_gradient, warp_image_gradient 24 | from .tform import AffineTransform 25 | 26 | def rasl(Image, InitT=None, maxiter=1000, stop_delta=0.01, 27 | normalize=True, show=None): 28 | """Batch image alignment: RASL main loop 29 | 30 | Parameters 31 | ---------- 32 | Image : array(nimages) of ndarray 33 | array of raw images as ndarray(h, v) 34 | InitT : array(nimages) of TForm or None 35 | initial transforms. Each may include an inset frame as well as 36 | initial paramv value. Its ttype will be used for the alignment. 37 | Default is an AffineTransform with a 5-pixel inset 38 | maxiter : integer 39 | maximum interations to convergence 40 | stop_delta : real 41 | stop iterating when objective change is less than this 42 | normalize : bool 43 | if True, normalize transformed images and their gradients 44 | show : tuple or None 45 | Display intermediate image alignments. 46 | 47 | Returns 48 | ------- 49 | L : array(nimages) of ndarray(h, v) 50 | aligned low-rank images 51 | S : array(nimages) of ndarray(h, v) 52 | aligned sparse error images 53 | T : array(nimages) of TForm 54 | final transforms. Each will include initT's inset frame and 55 | the aligning paramv 56 | iter : int 57 | number of iterations to convergence 58 | 59 | """ 60 | if InitT is None: 61 | T = [AffineTransform().inset(image.shape, 5) for image in Image] 62 | else: 63 | T = [tform.clone() for tform in InitT] 64 | Image = [img_as_float(image) for image in Image] 65 | Image_x, Image_y = zip(*[framed_gradient(tform, image) 66 | for tform, image in zip(T, Image)]) 67 | shape = T[0].output_shape 68 | lambd = 1 / np.sqrt(np.prod(shape)) 69 | prev_obj = np.inf 70 | 71 | if show: 72 | from .show import show_vec_images, show_images 73 | show_images([tform.imtransform(image) 74 | for tform, image in zip(T, Image)], show, title="Original") 75 | 76 | itr = 0 77 | while itr < maxiter: 78 | itr = itr + 1 79 | TImage, J = zip(*[ 80 | warp_image_gradient(tf, im, ix, iy, normalize=normalize) 81 | for tf, im, ix, iy in zip(T, Image, Image_x, Image_y)]) 82 | A, E, dParamv = inner_ialm(TImage, J) 83 | 84 | # take the step in parameter space 85 | for tform, dparamv in zip(T, dParamv): 86 | tform.paramv = tform.paramv + dparamv 87 | 88 | # how are we doing? 89 | objective = np.linalg.norm(A, 'nuc') + lambd * np.abs(E).sum() 90 | if show: 91 | _show_outer(A, E, shape, show) 92 | print("[{}] objective {} delta{}".format( 93 | itr, objective, prev_obj-objective)) 94 | 95 | if (prev_obj - objective) < stop_delta: 96 | break 97 | 98 | prev_obj = objective 99 | 100 | Norm = [np.sqrt(np.linalg.norm(image, 'fro')) for image in Image] 101 | L = [A[:, i].reshape(shape) * norm for i, norm in enumerate(Norm)] 102 | S = [E[:, i].reshape(shape) * norm for i, norm in enumerate(Norm)] 103 | return L, S, T, itr 104 | 105 | def _show_outer(A, E, shape, show_shape): 106 | from .show import show_vec_images, show_images 107 | show_vec_images(A[:, :show_shape[0] * show_shape[1]], shape, show_shape, 108 | title="Aligned") 109 | show_vec_images(E[:, :show_shape[0] * show_shape[1]], shape, show_shape, 110 | title="Errors") 111 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | rasl 2 | ==== 3 | [![Build Status][travis-image]][travis-url] [![PyPI version][pypi-image]][pypi-url] [![PyPI download][download-image]][pypi-url] 4 | 5 | Align linearly correlated images, possibly having gross corruption or occlusions. 6 | 7 | `rasl` is a python implementation of the batch image alignment technique 8 | described in: 9 | 10 | Y. Peng, A. Ganesh, J. Wright, W. Xu, Y. Ma, 11 | "Robust Alignment by Sparse and Low-rank Decomposition for 12 | Linearly Correlated Images", IEEE Transactions on Pattern 13 | Analysis and Machine Intelligence (PAMI) 2011 14 | 15 | The paper describes a technique for aligning images of objects varying 16 | in illumination and projection, possibly with occlusions (such as 17 | facial images at varying angles, some including eyeglasses or 18 | hair). RASL seeks transformations or deformations that will best 19 | superimpose a batch of images, with pixel accuracy where possible. It 20 | solves this problem by decomposing the image matrix into a dense 21 | low-rank component (analogous to "eigenfaces" in face-recognition 22 | literature) combined with a sparse error matrix representing any 23 | occlusions. The decomposition is accomplished with a robust form of 24 | PCA via Principal Components Pursuit. 25 | 26 | Precise alignment like this is required by (or at least improves the 27 | performance of) many different facial decomposition and recognition 28 | algorithms. RASL is thus a useful preprocessing step for a training 29 | set of images, rather than a complete facial 30 | extraction/decomposition/recognition system. 31 | 32 | The paper, the data used in the paper, and a reference MATLAB 33 | implementation are available from the paper's authors at 34 | http://perception.csl.illinois.edu/matrix-rank/rasl.html 35 | 36 | (This python implementation is based on that MATLAB implementation but 37 | is otherwise independent of its authors) 38 | 39 | Quick Start 40 | ----------- 41 | ``` 42 | > pip install rasl 43 | > rasl.demo --help 44 | ... (rasl help output) ... 45 | ``` 46 | 47 | This isn't going to me much fun without actual image data. To install 48 | in-place along with data and examples, so you can run tests and play 49 | with the included data sets: 50 | 51 | ``` 52 | > git clone git@github.com:welch/rasl.git 53 | > cd rasl 54 | > pip install -e . 55 | > py.test -sv 56 | .... (test output) ... 57 | ``` 58 | 59 | Examples 60 | -------- 61 | You'll need to be in the toplevel rasl directory to run these. The 62 | examples use image sets from the paper. 63 | 64 | `> python examples/dummy.py` 65 | 66 | ![dummy screenshot](./images/dummy.jpg) 67 | 68 | The "Aligned" panel is the reconstructed low-rank component of the 69 | image. Notice how the occusions have been removed. The "Error" panel 70 | is the part of the image that is left over after the low-rank 71 | component is removed. 72 | 73 | `> python examples/gore.py` 74 | 75 | ![gore screenshot](./images/gore.jpg) 76 | 77 | Successive frames of Al Gore giving a speech. Bump up the --grid 78 | option to see more frames (there are 140 of them). It is interesting 79 | that Gore's closed eyes in frames 8-10 are deemed "occlusions", and 80 | the restored frame in the Aligned panel gives him open eyes! 81 | 82 | `> python examples/digits.py` 83 | 84 | ![digits screenshot](./images/digits.jpg) 85 | 86 | RASL is not just for faces. These are handwritten digits from the 87 | MNIST database. They are aligned using only rotation and translation 88 | (--euclidean), as in the paper. The other transformation types succeed 89 | in aligning the digits, but then zoom out to infinity. I've not 90 | determined if this is a flaw in the implementation or a natural 91 | behavior of RASL as specified. 92 | 93 | Built-in command: rasl.demo 94 | --------------------------- 95 | The `rasl` package ships with a builtin shell command, `rasl.demo`, 96 | that is installed when you install the package. It expects a path to a 97 | directory of image files, and has many options (the python examples 98 | above simply call rasl.demo with appropriate settings). One caveat: if 99 | your images are of different sizes (as in the Al_Gore directory) 100 | you'll need specify --crop to trim them all to the same size as they 101 | load. 102 | 103 | 104 | Dependencies 105 | ------------- 106 | numpy, scipy, scikit-image 107 | 108 | [travis-image]: https://travis-ci.org/welch/rasl.svg?branch=master 109 | [travis-url]: https://travis-ci.org/welch/rasl 110 | [pypi-image]: http://img.shields.io/pypi/v/rasl.svg 111 | [download-image]: http://img.shields.io/pypi/dm/rasl.svg 112 | [pypi-url]: https://pypi.python.org/pypi/rasl 113 | -------------------------------------------------------------------------------- /rasl/jacobian.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # pylint:disable=invalid-name, too-many-arguments 3 | """Transformed image jacobians 4 | 5 | """ 6 | from __future__ import division, print_function 7 | import numpy as np 8 | import scipy.ndimage as ndi 9 | from .toolbox import image_jaco 10 | 11 | def image_gradient(image, horv): 12 | """apply a sobel filter to the image to approximate the gradient 13 | 14 | Parameters 15 | ---------- 16 | image : ndarray(h, v) 17 | image as an ndarray 18 | horv : string 19 | "h" or "v", direction of gradient. 20 | 21 | Returns 22 | ------- 23 | image_dir : ndarray(h, v) 24 | directional gradient magnitude at each pixel 25 | 26 | """ 27 | axis = 1 if horv == 'h' else 0 28 | grad = ndi.sobel(image, axis, mode='constant', cval=np.nan) / 8.0 29 | return np.nan_to_num(grad) 30 | 31 | def framed_gradient(tform, image): 32 | """image gradient vectors under tform's framing transform 33 | 34 | (this does not warp image gradient pixels, it scales them in place 35 | to account for the framing transform's rescaling) 36 | 37 | Parameters 38 | ---------- 39 | tform : TForm 40 | current transform 41 | image : ndarray(h, v) 42 | untransformed image 43 | 44 | Returns 45 | ------- 46 | image_x, image_y : ndarray(h, v), ndarray(h, v) 47 | image gradients in the current frame 48 | 49 | """ 50 | ih, iv = image_gradient(image, 'h'), image_gradient(image, 'v') 51 | fgrad = tform.frame[:2, :2].dot(np.vstack((ih.flatten(), iv.flatten()))) 52 | return fgrad[0, :].reshape(image.shape), fgrad[1, :].reshape(image.shape) 53 | 54 | def warp_image_gradient(tform, image, image_x=None, image_y=None, 55 | normalize=True): 56 | """transform and normalize image and its gradients 57 | 58 | Parameters 59 | ---------- 60 | tform : TForm 61 | current transform, to be applied to image and its gradient 62 | image : ndarray(h, v) 63 | untransformed image 64 | image_x : ndarray(h, v) or None 65 | framed image gradient, x direction 66 | image_y : ndarray(h, v) or None 67 | framed image gradient, y direction 68 | normalize : bool 69 | if True, normalize transformed images and their gradients 70 | 71 | Returns 72 | ------- 73 | timage : ndarray(h * v) 74 | flattened transformed image 75 | jacobian : ndarray(h * v, nparams) 76 | transformation parameter derivatives at each image pixel. 77 | out-of-bounds points will be populated with 0's 78 | 79 | """ 80 | if image_x is None: 81 | image_x, image_y = framed_gradient(tform, image) 82 | timage = tform.imtransform(image) 83 | vimage = timage.flatten() 84 | vimage_x = tform.imtransform(image_x).flatten() 85 | vimage_y = tform.imtransform(image_y).flatten() 86 | 87 | if normalize: 88 | norm = np.linalg.norm(vimage) 89 | vimage_x = vimage_x / norm - (vimage.dot(vimage_x) / norm ** 3) * vimage 90 | vimage_y = vimage_y / norm - (vimage.dot(vimage_y) / norm ** 3) * vimage 91 | timage = timage / norm 92 | 93 | jacobian = image_jaco(vimage_x, vimage_y, tform.output_shape, 94 | tform.ttype, tform.paramv) 95 | return timage, jacobian 96 | 97 | def approx_jacobian(tform, image, delta=0.01): 98 | """approximate the image pixel gradient wrt tform using central differences 99 | 100 | (This has been so helpful while troubleshooting jacobians, 101 | let's keep it around for unit testing. 102 | 103 | Parameters 104 | ---------- 105 | tform : TForm 106 | current transform, to be applied to image and its gradient 107 | image : ndarray(h, v) 108 | untransformed image 109 | delta : real or ndarray(nparams) 110 | stepsize 111 | 112 | Returns 113 | ------- 114 | jacobian : ndarray(h * v, nparams) 115 | transformation parameter derivatives at each image pixel. 116 | out-of-bounds points will be populated with 0's 117 | 118 | """ 119 | if not isinstance(delta, np.ndarray): 120 | delta = np.ones(len(tform.paramv)) * delta 121 | npixels = np.prod(tform.output_shape) 122 | gradvecs = np.empty((npixels, len(tform.paramv))) 123 | for i in range(len(tform.paramv)): 124 | dimage = np.zeros(tform.output_shape) 125 | for sign in (-1, 1): 126 | paramv = tform.paramv.copy() 127 | paramv[i] += delta[i] * sign 128 | stepT = tform.clone(paramv) 129 | dimage += stepT.imtransform(image) * sign 130 | gradvecs[:, i] = (dimage / (2 * delta[i])).flatten() 131 | return np.nan_to_num(gradvecs) 132 | -------------------------------------------------------------------------------- /tests/image_jaco_test.py: -------------------------------------------------------------------------------- 1 | # basic liveness tests for image_jaco 2 | # 3 | from __future__ import division 4 | import pytest 5 | import numpy as np 6 | from rasl.toolbox import image_jaco # pylint:disable=import-error 7 | 8 | image = np.zeros((4, 3)) 9 | image[1,:] = 1.0 10 | zeros = np.zeros((4, 3)) 11 | 12 | def test_translate(): 13 | paramv = [10, -100] 14 | J = image_jaco(image.flatten(), zeros.flatten(), image.shape, 'translate', paramv) 15 | J = J.reshape((4,3,2)) 16 | assert np.allclose(J[0, :, :], 0) 17 | assert np.allclose(J[2:, :, :], 0) 18 | assert np.allclose(J[1, :, 0], 1) # translation preserves Iu 19 | assert np.allclose(J[1, :, 1], 0) # translation preserves Iv 20 | 21 | J = image_jaco(zeros.flatten(), image.flatten(), image.shape, 'translate', paramv) 22 | J = J.reshape((4,3,2)) 23 | assert np.allclose(J[0, :, :], 0) 24 | assert np.allclose(J[2:, :, :], 0) 25 | assert np.allclose(J[1, :, 0], 0) # translation preserves Iu 26 | assert np.allclose(J[1, :, 1], 1) # translation preserves Iv 27 | 28 | def test_scale(): 29 | paramv = [1] 30 | J = image_jaco(image.flatten(), zeros.flatten(), image.shape, 'scale', paramv) 31 | J = J.reshape((4,3,1)) 32 | assert np.allclose(J[0, :, :], 0) 33 | assert np.allclose(J[2:, :, :], 0) 34 | assert np.allclose(J[1, :, 0], [0, 1, 2]) # scale increases with u 35 | 36 | J = image_jaco(zeros.flatten(), image.flatten(), image.shape, 'scale', paramv) 37 | J = J.reshape((4,3,1)) 38 | assert np.allclose(J[0, :, :], 0) 39 | assert np.allclose(J[2:, :, :], 0) 40 | assert np.allclose(J[1, :, 0], 1) # scale fixed with fixed v 41 | 42 | def test_rotate(): 43 | paramv = [0] 44 | J = image_jaco(image.flatten(), zeros.flatten(), image.shape, 'rotate', paramv) 45 | J = J.reshape((4,3,1)) 46 | assert np.allclose(J[0, :, :], 0) 47 | assert np.allclose(J[2:, :, :], 0) 48 | assert np.allclose(J[1, :, 0], -1) # rotation from 0 fixed with v 49 | 50 | J = image_jaco(zeros.flatten(), image.flatten(), image.shape, 'rotate', paramv) 51 | J = J.reshape((4,3,1)) 52 | assert np.allclose(J[0, :, :], 0) 53 | assert np.allclose(J[2:, :, :], 0) 54 | assert np.allclose(J[1, :, 0], [0, 1, 2]) # rotation from 0 increases with u 55 | 56 | def test_similarity(): 57 | paramv = [1, 0, 10, -100] 58 | J = image_jaco(image.flatten(), zeros.flatten(), image.shape, 'similarity', paramv) 59 | J = J.reshape((4,3,4)) 60 | assert np.allclose(J[0, :, :], 0) 61 | assert np.allclose(J[2:, :, :], 0) 62 | assert np.allclose(J[1, :, 0], [0, 1, 2]) # scale increases with u 63 | assert np.allclose(J[1, :, 1], -1) # rotation from 0 fixed with v 64 | assert np.allclose(J[1, :, 2], 1) # translation preserves Iu 65 | assert np.allclose(J[1, :, 3], 0) # translation preserves Iv 66 | 67 | J = image_jaco(zeros.flatten(), image.flatten(), image.shape, 'similarity', paramv) 68 | J = J.reshape((4,3,4)) 69 | assert np.allclose(J[0, :, :], 0) 70 | assert np.allclose(J[2:, :, :], 0) 71 | assert np.allclose(J[1, :, 0], 1) # scale fixed with fixed v 72 | assert np.allclose(J[1, :, 1], [0, 1, 2]) # rotation from 0 increases with u 73 | assert np.allclose(J[1, :, 2], 0) # translation preserves Iu 74 | assert np.allclose(J[1, :, 3], 1) # translation preserves Iv 75 | 76 | def test_affine(): 77 | J = image_jaco(image.flatten(), zeros.flatten(), image.shape, 'affine', None) 78 | J = J.reshape((4,3,6)) 79 | assert np.allclose(J[0, :, :], 0) 80 | assert np.allclose(J[2:, :, :], 0) 81 | assert np.allclose(J[1, :, 0], [0, 1, 2]) # increases with u 82 | assert np.allclose(J[1, :, 1], 1) # fixed with fixed v 83 | assert np.allclose(J[1, :, 2], 1) # fixed 84 | assert np.allclose(J[1:, :, 3:], 0) 85 | J = image_jaco(zeros.flatten(), image.flatten(), image.shape, 'affine', None) 86 | J = J.reshape((4,3,6)) 87 | assert np.allclose(J[0, :, :], 0) 88 | assert np.allclose(J[2:, :, :], 0) 89 | assert np.allclose(J[1, :, 3], [0, 1, 2]) # increases with u 90 | assert np.allclose(J[1, :, 4], 1) # fixed with fixed v 91 | assert np.allclose(J[1, :, 5], 1) # fixed 92 | assert np.allclose(J[1:, :, :3], 0) 93 | 94 | def test_projective(): 95 | paramv = np.zeros(8) 96 | J = image_jaco(image.flatten(), zeros.flatten(), image.shape, 'projective', paramv) 97 | J = J.reshape((4,3,8)) 98 | # with paramv[6:]==0, reduces to affine, a simpler (though incomplete) test 99 | Jaff = image_jaco(image.flatten(), zeros.flatten(), image.shape, 'affine', None) 100 | Jaff = Jaff.reshape((4,3,6)) 101 | assert np.allclose(J[:, :, 0:6], Jaff) 102 | J = image_jaco(zeros.flatten(), image.flatten(), image.shape, 'projective', paramv) 103 | J = J.reshape((4,3,8)) 104 | Jaff = image_jaco(zeros.flatten(), image.flatten(), image.shape, 'affine', None) 105 | Jaff = Jaff.reshape((4,3,6)) 106 | assert np.allclose(J[:, :, 0:6], Jaff) 107 | 108 | def test_BOGUS(): 109 | with pytest.raises(ValueError) as info: 110 | image_jaco(None, None, (4, 3), 'BOGUS', None) 111 | assert str(info.value).endswith('BOGUS') 112 | -------------------------------------------------------------------------------- /tests/inner_test.py: -------------------------------------------------------------------------------- 1 | # test rasl inner loop on simulated data 2 | # 3 | # pylint:disable=import-error 4 | from __future__ import division, print_function 5 | import numpy as np 6 | from rasl.inner import inner_ialm 7 | from rasl import (warp_image_gradient, EuclideanTransform, 8 | SimilarityTransform, AffineTransform, ProjectiveTransform) 9 | 10 | def setup_function(_): 11 | np.random.seed(0) 12 | np.set_printoptions(threshold=np.inf, 13 | formatter={'float_kind':lambda x: "%.3f" % x}) 14 | 15 | def gauss_image(h=60, v=60): 16 | """a gaussian image as described in RASL and RPCA papers""" 17 | return np.random.normal(0, 1.0, (h, v)) 18 | 19 | def image_noise(likeimg, p=0.1): 20 | """sparse noise as described in RASL and RPCA papers""" 21 | sgn = np.random.choice((-1.0, 1.0), size=likeimg.shape) 22 | return sgn * np.random.binomial(1, p, size=likeimg.shape) 23 | 24 | def inner_aligned(Ttype, inset=10): 25 | """don't mess (much) with a stack of aligned images""" 26 | N = 40 27 | image0 = gauss_image() 28 | insetT = Ttype().inset(image0.shape, inset) 29 | Image = [image0 for _ in range(N)] 30 | TI, J = zip(*[warp_image_gradient(insetT, image, normalize=True) 31 | for image in Image]) 32 | _, _, dParamv = inner_ialm(TI, J, tol=1e-4) 33 | # for this test, verify that all images have same dParamv 34 | # (inner insists on stepping dParamv a small amount when all images 35 | # are aligned, so image comparisons are no good) 36 | assert np.allclose(dParamv, dParamv[0], atol=1e-3) 37 | 38 | def test_inner_aligned_similarity(): 39 | inner_aligned(SimilarityTransform) 40 | 41 | def test_inner_aligned_euclidean(): 42 | inner_aligned(EuclideanTransform) 43 | 44 | def test_inner_aligned_affine(): 45 | inner_aligned(AffineTransform) 46 | 47 | def test_inner_aligned_projective(): 48 | inner_aligned(ProjectiveTransform) 49 | 50 | def inner_jittered(T, inset=10, rtol=1e-3, atol=0): 51 | """move a stack of jittered noisy images in the direction of aligned""" 52 | image0 = gauss_image() 53 | Image = [image0 + image_noise(image0, p=.05) for _ in T] 54 | T = [tform.inset(image0.shape, inset) for tform in T] 55 | TImage, J = zip(*[warp_image_gradient(tform, image, normalize=True) 56 | for tform, image in zip(T, Image)]) 57 | _, _, dParamv = inner_ialm(TImage, J, tol=1e-4) 58 | 59 | # does dParamv move towards alignment? check if stdev of 60 | # parameters decreased. 61 | before = np.array([t.paramv for t in T]) 62 | beforeStd = np.std(before, 0) 63 | after = np.array([t.paramv + dparamv 64 | for t, dparamv in zip(T, dParamv)]) 65 | afterStd = np.std(after, 0) 66 | assert np.all(np.logical_or(afterStd < beforeStd, 67 | np.isclose(after, before, rtol=rtol, atol=atol))) 68 | 69 | def test_inner_jittered_euclidean(): 70 | N = 40 71 | dtheta, dx, dy= .05, 1, 1 72 | Jitters = [[(np.random.random() * 2 - 1) * dtheta, 73 | (np.random.random() * 2 - 1) * dx, 74 | (np.random.random() * 2 - 1) * dy] 75 | for _ in range(N)] 76 | inner_jittered([EuclideanTransform(paramv=jitter) for jitter in Jitters]) 77 | 78 | def test_inner_jittered_similarity(): 79 | N = 40 80 | ds, dtheta, dx, dy= .05, .05, 1, 1 81 | Jitters = [[(np.random.random() * 2 - 1) * ds + 1, 82 | (np.random.random() * 2 - 1) * dtheta, 83 | (np.random.random() * 2 - 1) * dx, 84 | (np.random.random() * 2 - 1) * dy] 85 | for _ in range(N)] 86 | inner_jittered([SimilarityTransform(paramv=jitter) for jitter in Jitters]) 87 | 88 | def test_inner_jittered_affine(): 89 | N = 40 90 | ds, dtheta, dx = .05, .05, 1 91 | Jitters = [[(np.random.random() * 2 - 1) * ds + 1.0, 92 | (np.random.random() * 2 - 1) * dtheta, 93 | (np.random.random() * 2 - 1) * dx, 94 | (np.random.random() * 2 - 1) * dtheta, 95 | (np.random.random() * 2 - 1) * ds + 1.0, 96 | (np.random.random() * 2 - 1) * dx] 97 | for _ in range(N)] 98 | inner_jittered([AffineTransform(paramv=jitter) for jitter in Jitters]) 99 | 100 | def test_inner_jittered_projective(): 101 | # projective is a pain to test this way. the two projective 102 | # parameters are badly conditioned and change too much in a single 103 | # step. for now, set tolerance to disregard a wobbly step in the 104 | # final two parameters, while assuring we converge the others. 105 | N = 40 106 | ds, dtheta, dx, dh = .05, .05, 1, 0.0005 107 | Jitters = [[(np.random.random() * 2 - 1) * ds + 1, 108 | (np.random.random() * 2 - 1) * dtheta, 109 | (np.random.random() * 2 - 1) * dx, 110 | (np.random.random() * 2 - 1) * dtheta, 111 | (np.random.random() * 2 - 1) * ds + 1, 112 | (np.random.random() * 2 - 1) * dx, 113 | (np.random.random() * 2 - 1) * dh, 114 | (np.random.random() * 2 - 1) * dh] 115 | for _ in range(N)] 116 | inner_jittered([ProjectiveTransform(paramv=jitter) for jitter in Jitters], 117 | atol=.001) 118 | -------------------------------------------------------------------------------- /rasl/inner.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # pylint:disable=invalid-name, too-many-locals, too-many-arguments 3 | """Inner Loop of RASL 4 | 5 | Augmented Lagrange Multiplier inner loop of RASL (Algorithm 2 in [1]), 6 | a form of Principal Component Pursuit. 7 | 8 | Python translation of rasl_inner_ialm.m from the MATLAB code at [2]. 9 | 10 | Also exported is pcp(), a convenience function that implements the 11 | RPCA L+S decomposition in [3]. The RASL inner loop without a 12 | transform Jacobian yields this L+S decomposition. 13 | 14 | References 15 | ---------- 16 | .. [1] Y. Peng, A. Ganesh, J. Wright, W. Xu, Y. Ma, "Robust Alignment by 17 | Sparse and Low-rank Decomposition for Linearly Correlated Images", 18 | IEEE Trans. PAMI 2011 19 | .. [2] http://perception.csl.illinois.edu/matrix-rank/rasl.html#Code 20 | .. [3] Candes, E. J., Li, X., Ma, Y., and Wright, J., "Robust principal 21 | component analysis?", J. ACM 58, 3 (May 2011) 22 | 23 | """ 24 | from __future__ import division, print_function 25 | import numpy as np 26 | import numpy.linalg as LA 27 | 28 | def inner_ialm(Image, J=None, lambd=None, mu=None, rho=None, tol=1e-6, 29 | maxiter=1000, show=False): 30 | """RASL inner loop[1]. 31 | 32 | compute A, E, and deltaTau that minimize 33 | ||A||_* + lambda |E|_1 + + 34 | mu/2 ||D + J*deltaTau - A - E||_F^2 35 | 36 | Parameters 37 | ---------- 38 | Image : array[nimages] of ndarray(h, v) 39 | input images. 40 | J : array[nimages] of ndarray(npixels, nparams) 41 | Jacobian of each image wrt the transformation parameters. 42 | If J==None, treat D as a vanilla matrix and compute PCP decomposition 43 | as in [2] with no associated transformations. 44 | lambd : real 45 | weight of sparse L1 error in cost function, defaults to 1/sqrt(npixels) 46 | mu : real or None 47 | shrinkage factor 48 | rho : real or None 49 | shrinkage increase per iteration 50 | tol : real 51 | tolerance for convergence criterion 52 | maxiter : int 53 | maximum number of solver iterations 54 | show : tuple or None 55 | animated display of convergence 56 | 57 | Returns 58 | ------- 59 | A_dual : ndarray(npixels, nimages) 60 | dense, low-rank component of transformed D 61 | E_dual : ndarray(npixels, nimages) 62 | sparse error component of transformed D 63 | dt_dual : array[nimages] of ndarray(nparams) or None 64 | change in transform parameters this iteration, or None if J==None 65 | 66 | References 67 | ---------- 68 | .. [1] http://perception.csl.illinois.edu/matrix-rank/rasl.html#Code 69 | .. [2] Candes, E. J., Li, X., Ma, Y., and Wright, J., "Robust principal 70 | component analysis?", J. ACM 58, 3 (May 2011) 71 | 72 | """ 73 | D = np.column_stack([image.flatten() for image in Image]) 74 | if lambd is None: 75 | lambd = 1 / np.sqrt(Image[0].size) 76 | norm_two = LA.norm(D, 2) 77 | norm_inf = LA.norm(D, np.inf) / lambd 78 | dual_norm = max(norm_two, norm_inf) 79 | A = np.zeros(D.shape) 80 | E = np.zeros(D.shape) 81 | Y = D / dual_norm # from RASL MATLAB implementation 82 | # QR decomposition yields a well-conditioned replacement for J. 83 | Q, R = zip(*[np.linalg.qr(j, mode='reduced') for j in J]) 84 | dt_matrix = np.zeros(D.shape) # J * delta tau, npixels x nimages 85 | Dt = [np.zeros(j.shape[1]) for j in J] 86 | if mu is None: 87 | mu = 1.25/norm_two 88 | #mu = 1/norm_two 89 | if rho is None: 90 | rho = 1.25 91 | d_norm = LA.norm(D, 'fro') 92 | 93 | itr = 0 94 | while itr < maxiter: 95 | itr += 1 96 | DdTYE = D + dt_matrix + Y / mu - E 97 | U, s, Vt = LA.svd(DdTYE, full_matrices=False) 98 | shrink_s = np.maximum(s - 1 / mu, 0) 99 | rank = np.sum(shrink_s > 0) 100 | if show: 101 | print(itr, "rank", rank) 102 | if rank == 0: 103 | print("WARNING, breaking for rank==0") 104 | break 105 | A = U[:, :rank].dot(np.diag(shrink_s[:rank])).dot(Vt[:rank, :]) 106 | DdTYA = D + dt_matrix + Y / mu - A 107 | E = np.sign(DdTYA) * np.maximum(np.abs(DdTYA) - lambd / mu, 0) 108 | AEDY = A + E - D - Y / mu 109 | # q.T is q^-1 by orthogonality 110 | Dt = [q.T.dot(AEDY[:, i]) for i, q in enumerate(Q)] 111 | dt_matrix = np.column_stack( 112 | [q.dot(dt) for q, dt in zip(Q, Dt)]) 113 | H = D + dt_matrix - A - E # h(A,E,dT) in the paper 114 | Y = Y + mu * H 115 | mu = mu * rho 116 | 117 | if show: 118 | _show_inner(D, A, E, H, Image[0].shape, show) 119 | 120 | if LA.norm(H, 'fro') / d_norm <= tol: 121 | break 122 | 123 | Dt = [np.linalg.inv(r).dot(dt) for r, dt in zip(R, Dt)] 124 | return A, E, Dt 125 | 126 | def _show_inner(D, A, E, H, imshape, show_shape): 127 | from .show import show_vec_images 128 | nshow = show_shape[0] * show_shape[1] 129 | show_vec_images(D[:, :nshow], imshape, show_shape, title="D-inner") 130 | show_vec_images(A[:, :nshow], imshape, show_shape, title="A-inner") 131 | show_vec_images(E[:, :nshow], imshape, show_shape, title="E-inner") 132 | show_vec_images(H[:, :nshow], imshape, show_shape, title="h-inner") 133 | -------------------------------------------------------------------------------- /tests/tform_test.py: -------------------------------------------------------------------------------- 1 | # pylint:disable=import-error 2 | """test transforms 3 | 4 | """ 5 | from __future__ import division, print_function 6 | import numpy as np 7 | from rasl.toolbox import (projective_matrix_to_parameters, 8 | parameters_to_projective_matrix) 9 | from rasl import (EuclideanTransform, SimilarityTransform, AffineTransform, 10 | ProjectiveTransform) 11 | 12 | def gradient_image(dim=20, offset=100): 13 | return np.outer(np.arange(dim), offset + np.arange(dim, dtype=float)) 14 | 15 | def test_translation(): 16 | paramv = [10, 20] 17 | mat = parameters_to_projective_matrix('translate', paramv) 18 | assert np.all(paramv == projective_matrix_to_parameters('translate', mat)) 19 | 20 | def test_similarity(): 21 | paramv = [2, np.pi / 3, 10, 20] 22 | mat = parameters_to_projective_matrix('similarity', paramv) 23 | assert np.all(paramv == projective_matrix_to_parameters('similarity', mat)) 24 | 25 | def test_affine(): 26 | paramv = np.arange(6) 27 | mat = parameters_to_projective_matrix('affine', paramv) 28 | assert np.all(paramv == projective_matrix_to_parameters('affine', mat)) 29 | 30 | def test_projective(): 31 | paramv = np.arange(8) 32 | mat = parameters_to_projective_matrix('projective', paramv) 33 | assert np.all(paramv == projective_matrix_to_parameters('projective', mat)) 34 | 35 | def test_tform_euclidean(): 36 | paramv = [np.pi / 3, 10, 20] 37 | t = EuclideanTransform(paramv) 38 | assert np.all(paramv == t.paramv) 39 | mat = parameters_to_projective_matrix('euclidean', paramv) 40 | assert np.all(mat == t.matrix) 41 | assert not np.all(mat == EuclideanTransform().matrix) 42 | 43 | def test_tform_similarity(): 44 | paramv = [2, np.pi / 3, 10, 20] 45 | t = SimilarityTransform(paramv) 46 | assert np.all(paramv == t.paramv) 47 | mat = parameters_to_projective_matrix('similarity', paramv) 48 | assert np.all(mat == t.matrix) 49 | assert not np.all(mat == SimilarityTransform().matrix) 50 | 51 | def test_tform_affine(): 52 | paramv = np.arange(6) 53 | t = AffineTransform(paramv) 54 | assert np.all(paramv == t.paramv) 55 | mat = parameters_to_projective_matrix('affine', paramv) 56 | assert np.all(mat == t.matrix) 57 | assert not np.all(mat == AffineTransform().matrix) 58 | 59 | def test_tform_projective(): 60 | paramv = np.arange(8) 61 | t = ProjectiveTransform(paramv) 62 | assert np.all(paramv == t.paramv) 63 | mat = parameters_to_projective_matrix('projective', paramv) 64 | assert np.all(mat == t.matrix) 65 | assert not np.all(mat == ProjectiveTransform().matrix) 66 | 67 | def test_tform_inset_pixels_crop(): 68 | dim, offset = 20, 100 69 | for pixels in range(2, 10): 70 | image = gradient_image(dim, offset) 71 | tform = SimilarityTransform().inset(image.shape, pixels) 72 | framed = tform.imtransform(image) 73 | assert np.all(framed.shape == np.array(image.shape) - 2 * pixels) 74 | assert np.isclose(framed[0,0], image[pixels, pixels]) 75 | assert np.isclose(framed[-1, -1], 76 | image[dim - 1 - pixels, dim - 1 - pixels]) 77 | 78 | def test_tform_inset_pixels_nocrop(): 79 | dim, offset = 20, 100 80 | for pixels in range(2, 10): 81 | image = gradient_image(dim, offset) 82 | tform = SimilarityTransform().inset(image.shape, pixels, crop=False) 83 | framed = tform.imtransform(image) 84 | assert np.all(framed.shape == image.shape) 85 | assert np.isclose(framed[0,0], image[pixels, pixels]) 86 | assert np.isclose(framed[-1, -1], 87 | image[dim - 1 - pixels, dim - 1 - pixels]) 88 | 89 | def test_tform_inset_size_nocrop(): 90 | dim, offset = 20, 100 91 | bounds = (10, 5) # -> (5, 7), (14, 11) 92 | image = gradient_image(dim, offset) 93 | tform = AffineTransform().inset(image.shape, bounds, crop=False) 94 | framed = tform.imtransform(image) 95 | assert np.all(framed.shape == image.shape) 96 | assert np.isclose(framed[0, 0], image[5, 7]) 97 | assert np.isclose(framed[-1, -1], image[14, 11]) 98 | 99 | def test_tform_inset_size_crop(): 100 | dim, offset = 20, 100 101 | bounds = (10, 5) # -> (5, 7), (14, 11) 102 | image = gradient_image(dim, offset) 103 | tform = AffineTransform().inset(image.shape, bounds) 104 | framed = tform.imtransform(image) 105 | assert np.all(framed.shape == bounds) 106 | assert np.isclose(framed[0, 0], image[5, 7]) 107 | assert np.isclose(framed[-1, -1], image[14, 11]) 108 | 109 | def test_tform_inset_bounds_crop(): 110 | dim, offset = 20, 100 111 | bounds = ((3, 4), (-5, -6)) # -> (3, 4) (15, 14) 112 | image = gradient_image(dim, offset) 113 | tform = SimilarityTransform().inset(image.shape, bounds) 114 | framed = tform.imtransform(image) 115 | assert np.all(framed.shape == (20 - 5 + 1 - 3, 20 - 6 + 1 - 4) ) 116 | assert np.isclose(framed[0, 0], image[3, 4]) 117 | assert np.isclose(framed[-1, -1], image[15, 14]) 118 | 119 | def test_tform_inset_bounds_nocrop(): 120 | dim, offset = 20, 100 121 | bounds = ((5, 4), (-5, -4)) # -> (5, 4) (15, 16) 122 | image = gradient_image(dim, offset) 123 | tform = SimilarityTransform().inset(image.shape, bounds, crop=False) 124 | framed = tform.imtransform(image) 125 | assert np.all(framed.shape == image.shape) 126 | assert np.isclose(framed[0, 0], image[5, 4]) 127 | assert np.isclose(framed[-1, -1], image[15, 16]) 128 | 129 | def test_tform_inset_scale_bounds(): 130 | dim, offset = 30, 100 131 | bounds = ((5, 6), (-7, -10)) # -> [[ 5. 6.] [ 23. 20.]] 132 | image = gradient_image(dim, offset) 133 | tform = AffineTransform([1, 0, 0, .5, 0, 0]).inset(image.shape, bounds, crop=False) 134 | framed = tform.imtransform(image) 135 | assert np.isclose(framed[0, 0], image[5, 6]) 136 | midvalue = image[int((5 + 23) / 2), 20] 137 | assert np.isclose(framed[-1, -1], midvalue) 138 | --------------------------------------------------------------------------------