Changeset f25328a5 in sasview for src/sas/sascalc/file_converter/ascii2d_loader.py
- Timestamp:
- Jul 20, 2017 11:18:55 AM (7 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 58a255b
- Parents:
- 94e3572
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sascalc/file_converter/ascii2d_loader.py
r8bcf866 rf25328a5 43 43 # Skip nUseRec lines 44 44 current_line = 4 45 nUseRec = int(all_lines[current_line].strip()[0]) 46 current_line += nUseRec + 1 45 try: 46 nUseRec = int(all_lines[current_line].strip()[0]) 47 current_line += nUseRec + 1 48 # Read qx data 49 num_qs = int(all_lines[current_line].strip()) 50 current_line += 1 51 current_line, qx = _load_qs(all_lines, current_line, num_qs) 47 52 48 # Read qx data 49 num_qs = int(all_lines[current_line].strip()) 50 current_line += 1 51 current_line, qx = _load_qs(all_lines, current_line, num_qs) 52 53 # Read qy data 54 num_qs = int(all_lines[current_line].strip()) 55 current_line += 1 56 current_line, qy = _load_qs(all_lines, current_line, num_qs) 53 # Read qy data 54 num_qs = int(all_lines[current_line].strip()) 55 current_line += 1 56 current_line, qy = _load_qs(all_lines, current_line, num_qs) 57 except ValueError as e: 58 err_msg = "File incorrectly formatted.\n" 59 if str(e).find('broadcast') != -1: 60 err_msg += "Incorrect number of q data points provided. " 61 err_msg += "Expected {}.".format(num_qs) 62 elif str(e).find('invalid literal') != -1: 63 err_msg += "Expected integer on line {}. Instead got '{}'".format(current_line + 1, 64 all_lines[current_line]) 65 else: 66 err_msg += str(e) 67 raise ValueError(err_msg) 57 68 58 69 # dimensions: [width, height, scale] 59 dimensions = np.fromstring(all_lines[current_line], dtype=np.float32, sep=' ') 60 width = int(dimensions[0]) 61 height = int(dimensions[1]) 70 try: 71 dimensions = np.fromstring(all_lines[current_line], dtype=np.float32, sep=' ') 72 if len(dimensions) != 3: raise ValueError() 73 width = int(dimensions[0]) 74 height = int(dimensions[1]) 75 except ValueError as e: 76 err_msg = "File incorrectly formatted.\n" 77 err_msg += "Expected line {} to be of the form: <num_qx> <num_qy> <scale>.".format(current_line + 1) 78 err_msg += " Instead got '{}'.".format(all_lines[current_line]) 79 raise ValueError(err_msg) 80 81 if width > len(qx) or height > len(qy): 82 err_msg = "File incorrectly formatted.\n" 83 err_msg += ("Line {} says to use {}x{} points. " 84 "Only {}x{} provided.").format(current_line + 1, width, height, 85 len(qx), len(qy)) 86 raise ValueError(err_msg) 62 87 63 88 # More qx and/or qy points can be provided than are actually used … … 69 94 # iflag = 2 => q axis and intensity data 70 95 # iflag = 3 => q axis, intensity and error data 71 iflag = int(all_lines[current_line].strip()[0]) 96 try: 97 iflag = int(all_lines[current_line].strip()[0]) 98 if iflag <= 0 or iflag > 3: raise ValueError() 99 except: 100 err_msg = "File incorrectly formatted.\n" 101 iflag = all_lines[current_line].strip()[0] 102 err_msg += "Expected iflag on line {} to be 1, 2 or 3. Instead got '{}'.".format(current_line+1, iflag) 103 raise ValueError(err_msg) 104 72 105 current_line += 1 73 106
Note: See TracChangeset
for help on using the changeset viewer.