Error Codes



 

Every time an illegal situation controlled by the package happens to occur the Error handling system is activated, an error code and an error message are produced. There are two possible error handling methods in Xmipp, the first one aborts the program and the second one throws an exception you can catch, if you don't catch it a core is generated. In both methods, the error code and message are the same. Here you can find a list of this error codes and their meaning. Be careful because there are routines which seem that cannot generate errors, but they are calling other routines which might do.
 



Multidimensional array errors

Matrix 1D errors
 

1001 No memory left for vector array. There is no more room in memory and a memory allocation operation has been requested. 
matrix1D::allocate, matrix1D::resize, matrix1D::Multidim2Buffer
 1002 Not correct size. 
*This error is given when trying to  do a vector by vector operation, and one vector is, for instance, 4x1 while the other is 3x1. This error can be produced also if the vectors are of the same size but with different origins (logical accesses). 
*It can also be produced when the size of a vector is not the expected one (for instance, R2 or R3) 
matrix1D::array_by_array, translation2D_matrix, rot3D_matrix, translation3D_matrix, dot_product, vector_product, are_orthogonal, are_system, SymList::add_matrix
 1003 Subscript not defined for this vector: ie, asking for Z in a R2 vector, for example, or trying to access to index 3 in a 3x1 vector (remind that in C (default indexing unless you define a logical access) indexes go from 0 to N-1). In this package you can define logical accesses but this error will be produced if you are not using a logical index properly. In the former example, if you define a 3x1 vector to go from -1 to 1, it is not an error to access to index -1, but it is to access to index 2. 
matrix1D::operator (), matrix1D::x(), matrix1D::y(), matrix1D::z()
 1004 Vector type not recognised. In constructing a vector you didn't answer 'y' or 'n' to the column variable. You might answer nothing and 'y' is assumed. 
matrix1D()
1005 Mode not supported. The valid modes are: 
            "incr" and "steps" (default); 
            "uniform" (default) and "gaussian"; 
            "abs_above", "abs_below", "above", "below", "range" 
Depending on the function you are using you should choose the right set of valid modes. 
matrix1D::init_linear, matrix1D::init_random, matrix1D::add_noise, matrix1D::threshold
1006 Unknown operation between vectors, or vector and scalar. 
matrix1D::array_by_array, matrix1D::array_by_scalar, matrix1D::scalar_by_array
1007 Wrong shape. Vectors of equal size but different shape (row, column) or viceversa 
matrix1D::array_by_array, vector_product
Back to the error list

Matrix 2D errors
 

1101 No memory left for matrix array. There is no more room in memory and a memory allocation operation has been requested. 
matrix2D::allocate, matrix2D::resize, matrix2D::Multidim2Buffer
 1102 Not correct size. 
*This error is given when trying to  do a matrix by matrix operation, and one matrix is, for instance, 4x3 while the other is 3x3. This error can be produced also if the matrices are of the same size but with different origins (logical accesses). 
*This error can also be given by setCol or setRow when trying to set the column/row of a matrix from a vector which hasn't got the same dimension as the place it should fit. 
*Even when solving a system equation and Ax=b, and the dimensions of the matrix and known vector are not compatible. 
*Even more, when the size is not the expected one (3x3, 4x4 or whatever) 
*When trying to get a vector from a not vector shaped matrix 
*Algebraic multiplication of matrices whose dimensions doesn't conform (NxM)*(MxP) 
matrix2D::array_by_array, matrix2D::setCol, matrix2D::setRow, matrix2D::solve, matrix2D::apply_geom, matrix2D::to_vector, matrix2D::mul_matrix, matrix3D::apply_geom, Euler_matrix2angles
 1103 Subscript not defined for this matrix: ie, trying to access to index (3,1) in a 3x3 matrix (remind that in C (default indexing unless you define a logical access) indexes go from 0 to N-1). In this package you can define logical accesses but this error will be produced if you are not using a logical index properly. In the former example, if you define a 3x3 matrix to go from (-1,-1) to (1,1), it is not an error to access to index (-1,0), but it is to access to index (2,0). 
matrix2D::operator(), matrix2D::col, matrix2D::row, matrix2D::setCol, matrix2D::setRow
1105 Mode not supported. The valid modes are: 
            "uniform" (default) and "gaussian"; 
            "abs_above", "abs_below", "above", "below", "range" 
            "X","Y","Z" 
Depending on the function you are using you should choose the right set of valid modes. 
matrix2D::init_random, matrix2D::add_noise, matrix2D::threshold, rot3D_matrix
1106 Unknown operation between matrices, or matrix and scalar. 
matrix2D::array_by_array, matrix2D::array_by_scalar, matrix2D::scalar_by_array
1107 Wrong shape. You are trying to set a row vector as column of a matrix or viceversa. Also when solving an equation system and the vector of knowns (b in Ax=b) is not a column vector. 
matrix2D::setCol, matrix2D::setRow, matrix2D::solve
1108 Matrix is empty. And it shouldn't be as for the computation of a determinant 
matrix2D::determinant, matrix2D::solve, matrix2D::inv
1109 Matrix is not squared. And it should be as for the computation of a determinant 
matrix2D::determinant, matrix2D::solve, matrix2D::inv

Back to the error list

Matrix 3D errors
 

1201 No memory left for matrix array. There is no more room in memory and a memory allocation operation has been requested. 
matrix3D::allocate, matrix3D::resize, matrix3D::Multidim2Buffer
 1202 Not correct size. 
*This error is given when trying to  do a volume by volume operation, and one volume is, for instance, 64x64x64 while the other is 128x128x128. This error can be produced also if the volumes are of the same size but with different origins (logical accesses). 
*This error can also be given by setSlice when trying to set the slice of a volume from a matrix which hasn't got the same dimension as the place it should fit. 
*Even more, when the size is not the expected one (3x3 or whatever) 
matrix3D::array_by_array, matrix3D::setSlice
 1203 Subscript not defined for this volume: ie, trying to access to index (2,3,1) in a 3x3x3 volume (remind that in C (default indexing unless you define a logical access) indexes go from 0 to N-1). In this package you can define logical accesses but this error will be produced if you are not using a logical index properly. In the former example, if you define a 3x3x3 volume to go from (-1,-1,-1) to (1,1,1), it is not an error to access to index (-1,-1,0), but it is to access to index (0,2,0). 
matrix3D::operator(), matrix3D::slice, matrix3D::setSlice
1205 Mode not supported. The valid modes are: 
            "uniform" (default) and "gaussian"; 
            "abs_above", "abs_below", "above", "below", "range"
            "X", "Y", "Z"
Depending on the function you are using you should choose the right set of valid modes. 
matrix3D::init_random, matrix3D::add_noise, matrix3D::threshold, matrix3D::slice
1206 Unknown operation between volumes, or volume and scalar. 
matrix3D::array_by_array, matrix3D::array_by_scalar, matrix3D::scalar_by_array

Back to the error list

FFT errors
 

1301 Index out of range.
This error is produced when trying to access to a FFT position which is not valid (either an index or a frequency).
FFT1D::operator (), FFT2D::operator (), FFT3D::operator ()
1302
The FFT is empty
FFT1D::operator (), FFT2D::operator (), FFT3D::operator ()

Back to the error list



File related errors

Image/Volume
 

1501 File not found. 
imageByte::read, imageXmipp::read, volumeXmipp::read, Is_VolumeXmipp, SelFile::ImgSize
volume::read, image::read
 1502 Not correct file format. 
The file being read is not of the requested file format. 
imageByte::read, imageXmipp::read, volumeXmipp::read
 1503 Problem opening file for output. 
The routine cannot open the file for output, ie, to write it. 
imageByte::write, imageXmipp::write, volumeXmipp::write, volume::write, image::write
1504 Data error when reading. 
There is an error when trying to read the floating points from the file into the volume (matrix3D) structure of the volume itself. 
matrix3D::read
1505
Index out of range
The index given to the oversampled image is outside the range definition.
ImageOver::over2img, ImageOver::img2over
Back to the error list

Selection Files
 

1551 File not found. 
SelFile::read
 1552 Not correct file format. 
The file being read is not of the requested file format. See Selection Files for further information about the format. 
SelLine::operator >>
 1553 Problem opening file for output. 
The routine cannot open the file for output, ie, to write it. 
SelFile::write
Back to the error list

Document Files
 

1601 File not found. 
DocFile::read
 1602 Not correct file format. 
The file being read is not of the requested file format. See Document Files for further information about the format. 
DocLine::operator >>
 1603 Problem opening file for output. 
The routine cannot open the file for output, ie, to write it. 
DocFile::write
1604 The required data is not in the file. 
* The given key is not at the file. You have requested the current line "pointer" to find a certain line using its key, but this key is not present in the file. 
* The column you are requesting from the current line, is not available. There is no such a column for this line. 
DocFile::operator (), DocFile::set, DocFile::operator []
1605 Column assignment not complete. 
You have specified a column assignment between a column vector and a column of the document file where the column vector has got less values than the column in the document file. So not all values have been possible to be assigned. More than an error is a warning, you can catch it and ignore it 
DocFile::setCol
Back to the error list


Histograms
 
2001 Percentil greater than 100%. 
You have asked for the value of the variable for which the area under the histogram is equal to a number greater than 100%!. 
Histogram:percentil
Back to the error list


Arguments, Type Conversions
 
2101 Error in AtoF 
AtoF
 2102 Error in AtoI 
AtoI
 2103 Error in CtoI 
CtoI
2104
Error in get_param 
get_param
(Invalid argument or argument not found).
2105
Error reading a list of numbers 
This error can be produced either because there aren't enough numbers in the string to be read, either because one of the values read is not of the proposed type (float, int, ...) 
read_float_list
2106
Error reading a word 
You have asked to read a word from a line where there is none 
first_word, next_word
Back to the error list


3D Reconstruction
 
3001 The grid vectors are not a true 3D coordinate system. 
You have asked to prepare a grid for work when not all the grid vectors have been set, or they have been set but they are coplanar. 
SimpleGrid::prepare_grid
3002
The grid hasn't got so many simple grids 
You have asked for a simple grid within a complex grid which hasn't got so many simple grids. For instance, in a Grid with 2 simple grids, the only valid indexes are 0 and 1, and you are trying to access to simple grid number 2 
Grid::operator()
3003
Error when reading the a phantom file. 
Either the file cannot be opened, or the feature description doesn't conform the specifications. 
Phantom::read, Feature::read_common, Sphere...::read_specific
3004
The two grid volumes are different in shape.
When trying to make an arithmethic operation between two grid volumes, the volume shapes (no. simple volumes, origin, size, ...) are different and the operation cannot be done.
GridVolume::+,-,*,/
3005
Error opening file
There has been an error when trying to open a file. Surely it doesn't exist if you are reading or it cannot be opened for output if you are writing.
SymList::read_sym_file, compute_hs_FOMs, compute_dr_FOMs, compute_ds_FOMs
3006
Mode not supported
You have asked for an operation with a mode not supported by the routine
For Feature::background the valid modes are ENLARGE_MODE and SPHERE_MODE
Feature::background
3007
A parameter is left
You should have given a parameter in a parameter file but the reading routine hasn't been able to find it in the correct place.
3008
Error in ART
ART can produce many kind of different errors. The exact error is shown in the message

Back to the error list