Changeset 2971
- Timestamp:
- Jan 13, 2005, 9:50:45 AM (22 years ago)
- Location:
- trunk/psLib/src
- Files:
-
- 10 edited
-
astronomy/psMetadata.c (modified) (2 diffs)
-
astronomy/psMetadata.h (modified) (2 diffs)
-
collections/psMetadata.c (modified) (2 diffs)
-
collections/psMetadata.h (modified) (2 diffs)
-
dataIO/psFits.c (modified) (3 diffs)
-
fileUtils/psFits.c (modified) (3 diffs)
-
fits/psFits.c (modified) (3 diffs)
-
sys/psError.c (modified) (2 diffs)
-
types/psMetadata.c (modified) (2 diffs)
-
types/psMetadata.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/astronomy/psMetadata.c
r2681 r2971 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.4 3$ $Name: not supported by cvs2svn $15 * @date $Date: 200 4-12-10 02:50:14 $14 * @version $Revision: 1.44 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2005-01-13 19:50:44 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 465 465 } 466 466 467 psF32 psMetadataLookupF32(psMetadata *md, const char *key, psU32 *status) 468 { 469 psF32 value = 0.0; 470 psElemType pType; 471 psMetadataItem *metadataItem = NULL; 472 473 474 metadataItem = psMetadataLookup(md, key); 475 if(metadataItem == NULL) { 476 *status = 1; 477 return value; 478 } 479 480 pType = metadataItem->pType; 481 value = metadataItem->data.F32; 482 if(pType != PS_TYPE_F32) { 483 psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType, 484 PS_TYPE_F32); 485 } 486 487 return value; 488 } 489 467 490 psF64 psMetadataLookupF64(psMetadata *md, const char *key, psU32 *status) 468 491 { -
trunk/psLib/src/astronomy/psMetadata.h
r2659 r2971 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1.3 0$ $Name: not supported by cvs2svn $14 * @date $Date: 200 4-12-07 23:27:31$13 * @version $Revision: 1.31 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2005-01-13 19:50:44 $ 15 15 * 16 16 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 212 212 ); 213 213 214 /** Find an item in the metadata collection based on key name and return its single precision value. 215 * 216 * Items may be found in the metadata by providing a key. If the key is 217 * non-unique, the value of the first item is returned. If the item is not found, zero is 218 * returned. 219 * 220 * @return psF32 : Value of metadata item. 221 */ 222 psF64 psMetadataLookupF32( 223 psMetadata *md, ///< Metadata collection to lookup metadata item. 224 const char *key, ///< Name of metadata key. 225 psU32 *status ///< Status of lookup. 226 ); 227 214 228 /** Find an item in the metadata collection based on key name and return its integer value. 215 229 * -
trunk/psLib/src/collections/psMetadata.c
r2681 r2971 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.4 3$ $Name: not supported by cvs2svn $15 * @date $Date: 200 4-12-10 02:50:14 $14 * @version $Revision: 1.44 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2005-01-13 19:50:44 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 465 465 } 466 466 467 psF32 psMetadataLookupF32(psMetadata *md, const char *key, psU32 *status) 468 { 469 psF32 value = 0.0; 470 psElemType pType; 471 psMetadataItem *metadataItem = NULL; 472 473 474 metadataItem = psMetadataLookup(md, key); 475 if(metadataItem == NULL) { 476 *status = 1; 477 return value; 478 } 479 480 pType = metadataItem->pType; 481 value = metadataItem->data.F32; 482 if(pType != PS_TYPE_F32) { 483 psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType, 484 PS_TYPE_F32); 485 } 486 487 return value; 488 } 489 467 490 psF64 psMetadataLookupF64(psMetadata *md, const char *key, psU32 *status) 468 491 { -
trunk/psLib/src/collections/psMetadata.h
r2659 r2971 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1.3 0$ $Name: not supported by cvs2svn $14 * @date $Date: 200 4-12-07 23:27:31$13 * @version $Revision: 1.31 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2005-01-13 19:50:44 $ 15 15 * 16 16 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 212 212 ); 213 213 214 /** Find an item in the metadata collection based on key name and return its single precision value. 215 * 216 * Items may be found in the metadata by providing a key. If the key is 217 * non-unique, the value of the first item is returned. If the item is not found, zero is 218 * returned. 219 * 220 * @return psF32 : Value of metadata item. 221 */ 222 psF64 psMetadataLookupF32( 223 psMetadata *md, ///< Metadata collection to lookup metadata item. 224 const char *key, ///< Name of metadata key. 225 psU32 *status ///< Status of lookup. 226 ); 227 214 228 /** Find an item in the metadata collection based on key name and return its integer value. 215 229 * -
trunk/psLib/src/dataIO/psFits.c
r2967 r2971 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 6$ $Name: not supported by cvs2svn $10 * @date $Date: 2005-01-13 02:08:30$9 * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2005-01-13 19:50:44 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 25 25 26 26 #define MAX_STRING_LENGTH 256 // maximum length string for FITS routines 27 28 static char* standardFitsKeys[] = { 29 "SIMPLE", 30 "BITPIX", 31 "NAXIS", 32 "NAXIS1", 33 "NAXIS2", 34 "NAXIS3", 35 "EXTEND", 36 "COMMENT", 37 "EXTNAME", 38 "HDUNAME", 39 NULL 40 }; 27 41 28 42 static psElemType convertFitsToPsType(int datatype) … … 457 471 psBool tempBool; 458 472 psBool success; 473 psBool stdKey; 459 474 for (int i = 1; i <= numKeys; i++) { 460 475 461 476 fits_read_keyn(fits->p_fd, i, keyName, keyValue, keyComment, &status); 462 fits_get_keytype(keyValue, &keyType, &status); 477 478 stdKey = false; 479 480 int stdKeyIdx = 0; 481 while (standardFitsKeys[stdKeyIdx] != NULL && ! stdKey) { 482 if (strcmp(keyName,standardFitsKeys[stdKeyIdx++]) == 0) { 483 stdKey = true; 484 } 485 } 486 487 if (keyValue[0] != 0) { // blank values are not handled by fits_get_keytype 488 fits_get_keytype(keyValue, &keyType, &status); 489 } else { 490 keyType = 'C'; 491 } 463 492 if (status != 0) { 464 493 break; 465 494 } 466 495 467 switch (keyType) { 468 case 'I': 469 success = psMetadataAdd(out, 470 PS_LIST_TAIL, 471 keyName, 472 PS_TYPE_S32, 473 PS_META_PRIMITIVE, 474 keyComment, 475 atoi(keyValue)); 476 break; 477 case 'F': 478 success = psMetadataAdd(out, 479 PS_LIST_TAIL, 480 keyName, 481 PS_TYPE_F64, 482 PS_META_PRIMITIVE, 483 keyComment, 484 atof(keyValue)); 485 break; 486 case 'C': 487 success = psMetadataAdd(out, 488 PS_LIST_TAIL, 489 keyName, 490 PS_TYPE_U8, 491 PS_META_STR, 492 keyComment, 493 keyValue); 494 break; 495 case 'L': 496 tempBool = (keyValue[0] == 'T') ? 1 : 0; 497 success = psMetadataAdd(out, 498 PS_LIST_TAIL, 499 keyName, 500 PS_TYPE_BOOL, 501 PS_META_PRIMITIVE, 502 keyComment, 503 tempBool); 504 break; 505 case 'U': 506 case 'X': 507 default: 508 psError(PS_ERR_IO, true, 509 PS_ERRORTEXT_psFits_METATYPE_INVALID, 510 keyType); 511 return out; 512 } 513 514 if (!success) { 515 psError(PS_ERR_UNKNOWN, false, 516 PS_ERRORTEXT_psFits_METADATA_ADD_FAILED, 517 keyName); 518 return out; 519 } 496 if (! stdKey) { 497 switch (keyType) { 498 case 'X': // bit 499 case 'I': // short int. 500 case 'J': // int. 501 case 'B': // byte 502 success = psMetadataAdd(out, 503 PS_LIST_TAIL, 504 keyName, 505 PS_TYPE_S32, 506 PS_META_PRIMITIVE, 507 keyComment, 508 atoi(keyValue)); 509 break; 510 case 'U': // unsigned int. may not fit in a psS32 511 case 'K': // long int. can't all fit in a psS32 512 case 'F': 513 success = psMetadataAdd(out, 514 PS_LIST_TAIL, 515 keyName, 516 PS_TYPE_F64, 517 PS_META_PRIMITIVE, 518 keyComment, 519 atof(keyValue)); 520 break; 521 case 'C': 522 success = psMetadataAdd(out, 523 PS_LIST_TAIL, 524 keyName, 525 PS_TYPE_U8, 526 PS_META_STR, 527 keyComment, 528 keyValue); 529 break; 530 case 'L': 531 tempBool = (keyValue[0] == 'T') ? 1 : 0; 532 success = psMetadataAdd(out, 533 PS_LIST_TAIL, 534 keyName, 535 PS_TYPE_BOOL, 536 PS_META_PRIMITIVE, 537 keyComment, 538 tempBool); 539 break; 540 default: 541 psError(PS_ERR_IO, true, 542 PS_ERRORTEXT_psFits_METATYPE_INVALID, 543 keyType); 544 return out; 545 } 546 547 if (!success) { 548 psError(PS_ERR_UNKNOWN, false, 549 PS_ERRORTEXT_psFits_METADATA_ADD_FAILED, 550 keyName); 551 return out; 552 } 553 } 554 520 555 } 521 556 -
trunk/psLib/src/fileUtils/psFits.c
r2967 r2971 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 6$ $Name: not supported by cvs2svn $10 * @date $Date: 2005-01-13 02:08:30$9 * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2005-01-13 19:50:44 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 25 25 26 26 #define MAX_STRING_LENGTH 256 // maximum length string for FITS routines 27 28 static char* standardFitsKeys[] = { 29 "SIMPLE", 30 "BITPIX", 31 "NAXIS", 32 "NAXIS1", 33 "NAXIS2", 34 "NAXIS3", 35 "EXTEND", 36 "COMMENT", 37 "EXTNAME", 38 "HDUNAME", 39 NULL 40 }; 27 41 28 42 static psElemType convertFitsToPsType(int datatype) … … 457 471 psBool tempBool; 458 472 psBool success; 473 psBool stdKey; 459 474 for (int i = 1; i <= numKeys; i++) { 460 475 461 476 fits_read_keyn(fits->p_fd, i, keyName, keyValue, keyComment, &status); 462 fits_get_keytype(keyValue, &keyType, &status); 477 478 stdKey = false; 479 480 int stdKeyIdx = 0; 481 while (standardFitsKeys[stdKeyIdx] != NULL && ! stdKey) { 482 if (strcmp(keyName,standardFitsKeys[stdKeyIdx++]) == 0) { 483 stdKey = true; 484 } 485 } 486 487 if (keyValue[0] != 0) { // blank values are not handled by fits_get_keytype 488 fits_get_keytype(keyValue, &keyType, &status); 489 } else { 490 keyType = 'C'; 491 } 463 492 if (status != 0) { 464 493 break; 465 494 } 466 495 467 switch (keyType) { 468 case 'I': 469 success = psMetadataAdd(out, 470 PS_LIST_TAIL, 471 keyName, 472 PS_TYPE_S32, 473 PS_META_PRIMITIVE, 474 keyComment, 475 atoi(keyValue)); 476 break; 477 case 'F': 478 success = psMetadataAdd(out, 479 PS_LIST_TAIL, 480 keyName, 481 PS_TYPE_F64, 482 PS_META_PRIMITIVE, 483 keyComment, 484 atof(keyValue)); 485 break; 486 case 'C': 487 success = psMetadataAdd(out, 488 PS_LIST_TAIL, 489 keyName, 490 PS_TYPE_U8, 491 PS_META_STR, 492 keyComment, 493 keyValue); 494 break; 495 case 'L': 496 tempBool = (keyValue[0] == 'T') ? 1 : 0; 497 success = psMetadataAdd(out, 498 PS_LIST_TAIL, 499 keyName, 500 PS_TYPE_BOOL, 501 PS_META_PRIMITIVE, 502 keyComment, 503 tempBool); 504 break; 505 case 'U': 506 case 'X': 507 default: 508 psError(PS_ERR_IO, true, 509 PS_ERRORTEXT_psFits_METATYPE_INVALID, 510 keyType); 511 return out; 512 } 513 514 if (!success) { 515 psError(PS_ERR_UNKNOWN, false, 516 PS_ERRORTEXT_psFits_METADATA_ADD_FAILED, 517 keyName); 518 return out; 519 } 496 if (! stdKey) { 497 switch (keyType) { 498 case 'X': // bit 499 case 'I': // short int. 500 case 'J': // int. 501 case 'B': // byte 502 success = psMetadataAdd(out, 503 PS_LIST_TAIL, 504 keyName, 505 PS_TYPE_S32, 506 PS_META_PRIMITIVE, 507 keyComment, 508 atoi(keyValue)); 509 break; 510 case 'U': // unsigned int. may not fit in a psS32 511 case 'K': // long int. can't all fit in a psS32 512 case 'F': 513 success = psMetadataAdd(out, 514 PS_LIST_TAIL, 515 keyName, 516 PS_TYPE_F64, 517 PS_META_PRIMITIVE, 518 keyComment, 519 atof(keyValue)); 520 break; 521 case 'C': 522 success = psMetadataAdd(out, 523 PS_LIST_TAIL, 524 keyName, 525 PS_TYPE_U8, 526 PS_META_STR, 527 keyComment, 528 keyValue); 529 break; 530 case 'L': 531 tempBool = (keyValue[0] == 'T') ? 1 : 0; 532 success = psMetadataAdd(out, 533 PS_LIST_TAIL, 534 keyName, 535 PS_TYPE_BOOL, 536 PS_META_PRIMITIVE, 537 keyComment, 538 tempBool); 539 break; 540 default: 541 psError(PS_ERR_IO, true, 542 PS_ERRORTEXT_psFits_METATYPE_INVALID, 543 keyType); 544 return out; 545 } 546 547 if (!success) { 548 psError(PS_ERR_UNKNOWN, false, 549 PS_ERRORTEXT_psFits_METADATA_ADD_FAILED, 550 keyName); 551 return out; 552 } 553 } 554 520 555 } 521 556 -
trunk/psLib/src/fits/psFits.c
r2967 r2971 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 6$ $Name: not supported by cvs2svn $10 * @date $Date: 2005-01-13 02:08:30$9 * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2005-01-13 19:50:44 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 25 25 26 26 #define MAX_STRING_LENGTH 256 // maximum length string for FITS routines 27 28 static char* standardFitsKeys[] = { 29 "SIMPLE", 30 "BITPIX", 31 "NAXIS", 32 "NAXIS1", 33 "NAXIS2", 34 "NAXIS3", 35 "EXTEND", 36 "COMMENT", 37 "EXTNAME", 38 "HDUNAME", 39 NULL 40 }; 27 41 28 42 static psElemType convertFitsToPsType(int datatype) … … 457 471 psBool tempBool; 458 472 psBool success; 473 psBool stdKey; 459 474 for (int i = 1; i <= numKeys; i++) { 460 475 461 476 fits_read_keyn(fits->p_fd, i, keyName, keyValue, keyComment, &status); 462 fits_get_keytype(keyValue, &keyType, &status); 477 478 stdKey = false; 479 480 int stdKeyIdx = 0; 481 while (standardFitsKeys[stdKeyIdx] != NULL && ! stdKey) { 482 if (strcmp(keyName,standardFitsKeys[stdKeyIdx++]) == 0) { 483 stdKey = true; 484 } 485 } 486 487 if (keyValue[0] != 0) { // blank values are not handled by fits_get_keytype 488 fits_get_keytype(keyValue, &keyType, &status); 489 } else { 490 keyType = 'C'; 491 } 463 492 if (status != 0) { 464 493 break; 465 494 } 466 495 467 switch (keyType) { 468 case 'I': 469 success = psMetadataAdd(out, 470 PS_LIST_TAIL, 471 keyName, 472 PS_TYPE_S32, 473 PS_META_PRIMITIVE, 474 keyComment, 475 atoi(keyValue)); 476 break; 477 case 'F': 478 success = psMetadataAdd(out, 479 PS_LIST_TAIL, 480 keyName, 481 PS_TYPE_F64, 482 PS_META_PRIMITIVE, 483 keyComment, 484 atof(keyValue)); 485 break; 486 case 'C': 487 success = psMetadataAdd(out, 488 PS_LIST_TAIL, 489 keyName, 490 PS_TYPE_U8, 491 PS_META_STR, 492 keyComment, 493 keyValue); 494 break; 495 case 'L': 496 tempBool = (keyValue[0] == 'T') ? 1 : 0; 497 success = psMetadataAdd(out, 498 PS_LIST_TAIL, 499 keyName, 500 PS_TYPE_BOOL, 501 PS_META_PRIMITIVE, 502 keyComment, 503 tempBool); 504 break; 505 case 'U': 506 case 'X': 507 default: 508 psError(PS_ERR_IO, true, 509 PS_ERRORTEXT_psFits_METATYPE_INVALID, 510 keyType); 511 return out; 512 } 513 514 if (!success) { 515 psError(PS_ERR_UNKNOWN, false, 516 PS_ERRORTEXT_psFits_METADATA_ADD_FAILED, 517 keyName); 518 return out; 519 } 496 if (! stdKey) { 497 switch (keyType) { 498 case 'X': // bit 499 case 'I': // short int. 500 case 'J': // int. 501 case 'B': // byte 502 success = psMetadataAdd(out, 503 PS_LIST_TAIL, 504 keyName, 505 PS_TYPE_S32, 506 PS_META_PRIMITIVE, 507 keyComment, 508 atoi(keyValue)); 509 break; 510 case 'U': // unsigned int. may not fit in a psS32 511 case 'K': // long int. can't all fit in a psS32 512 case 'F': 513 success = psMetadataAdd(out, 514 PS_LIST_TAIL, 515 keyName, 516 PS_TYPE_F64, 517 PS_META_PRIMITIVE, 518 keyComment, 519 atof(keyValue)); 520 break; 521 case 'C': 522 success = psMetadataAdd(out, 523 PS_LIST_TAIL, 524 keyName, 525 PS_TYPE_U8, 526 PS_META_STR, 527 keyComment, 528 keyValue); 529 break; 530 case 'L': 531 tempBool = (keyValue[0] == 'T') ? 1 : 0; 532 success = psMetadataAdd(out, 533 PS_LIST_TAIL, 534 keyName, 535 PS_TYPE_BOOL, 536 PS_META_PRIMITIVE, 537 keyComment, 538 tempBool); 539 break; 540 default: 541 psError(PS_ERR_IO, true, 542 PS_ERRORTEXT_psFits_METATYPE_INVALID, 543 keyType); 544 return out; 545 } 546 547 if (!success) { 548 psError(PS_ERR_UNKNOWN, false, 549 PS_ERRORTEXT_psFits_METADATA_ADD_FAILED, 550 keyName); 551 return out; 552 } 553 } 554 520 555 } 521 556 -
trunk/psLib/src/sys/psError.c
r2273 r2971 9 9 * 10 10 * @author Eric Van Alst, MHPCC 11 * 12 * @version $Revision: 1. 19$ $Name: not supported by cvs2svn $13 * @date $Date: 200 4-11-04 01:05:00$11 * 12 * @version $Revision: 1.20 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2005-01-13 19:50:45 $ 14 14 * 15 15 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 129 129 } 130 130 131 psS32 psErrorGetStackSize() 132 { 133 return errorStackSize; 134 } 135 131 136 psErr* psErrorLast(void) 132 137 { -
trunk/psLib/src/types/psMetadata.c
r2681 r2971 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.4 3$ $Name: not supported by cvs2svn $15 * @date $Date: 200 4-12-10 02:50:14 $14 * @version $Revision: 1.44 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2005-01-13 19:50:44 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 465 465 } 466 466 467 psF32 psMetadataLookupF32(psMetadata *md, const char *key, psU32 *status) 468 { 469 psF32 value = 0.0; 470 psElemType pType; 471 psMetadataItem *metadataItem = NULL; 472 473 474 metadataItem = psMetadataLookup(md, key); 475 if(metadataItem == NULL) { 476 *status = 1; 477 return value; 478 } 479 480 pType = metadataItem->pType; 481 value = metadataItem->data.F32; 482 if(pType != PS_TYPE_F32) { 483 psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH, pType, 484 PS_TYPE_F32); 485 } 486 487 return value; 488 } 489 467 490 psF64 psMetadataLookupF64(psMetadata *md, const char *key, psU32 *status) 468 491 { -
trunk/psLib/src/types/psMetadata.h
r2659 r2971 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1.3 0$ $Name: not supported by cvs2svn $14 * @date $Date: 200 4-12-07 23:27:31$13 * @version $Revision: 1.31 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2005-01-13 19:50:44 $ 15 15 * 16 16 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 212 212 ); 213 213 214 /** Find an item in the metadata collection based on key name and return its single precision value. 215 * 216 * Items may be found in the metadata by providing a key. If the key is 217 * non-unique, the value of the first item is returned. If the item is not found, zero is 218 * returned. 219 * 220 * @return psF32 : Value of metadata item. 221 */ 222 psF64 psMetadataLookupF32( 223 psMetadata *md, ///< Metadata collection to lookup metadata item. 224 const char *key, ///< Name of metadata key. 225 psU32 *status ///< Status of lookup. 226 ); 227 214 228 /** Find an item in the metadata collection based on key name and return its integer value. 215 229 *
Note:
See TracChangeset
for help on using the changeset viewer.
