Skip to content
Commits on Source (3)
......@@ -15,7 +15,7 @@
##############################################################################
cmake_minimum_required(VERSION 3.0)
project(libics VERSION 1.6.1)
project(libics VERSION 1.6.2)
# Note: the version number above is not yet used anywhere.
# TODO: rewrite the header file with this version number.
......@@ -44,7 +44,7 @@ if(USE_ZLIB)
endif()
# ICS
configure_file(libics_conf.h.in ${CMAKE_SOURCE_DIR}/libics_conf.h COPYONLY)
configure_file(libics_conf.h.in ${PROJECT_SOURCE_DIR}/libics_conf.h COPYONLY)
set(SOURCES
libics_binary.c
libics_compress.c
......@@ -69,7 +69,7 @@ set(HEADERS
libics_test.h
)
include_directories(${CMAKE_SOURCE_DIR})
include_directories(${PROJECT_SOURCE_DIR})
# Build a dll
add_library(libics SHARED ${SOURCES} ${HEADERS})
......@@ -123,22 +123,22 @@ add_custom_target(all_tests DEPENDS
test_metadata
test_history
)
add_test(ctest_build_test_code "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target all_tests)
add_test(NAME test_ics1 COMMAND test_ics1 ${CMAKE_SOURCE_DIR}/test/testim.ics result_v1.ics)
add_test(ctest_build_test_code "${CMAKE_COMMAND}" --build ${PROJECT_BINARY_DIR} --target all_tests)
add_test(NAME test_ics1 COMMAND test_ics1 ${PROJECT_SOURCE_DIR}/test/testim.ics result_v1.ics)
set_tests_properties(test_ics1 PROPERTIES DEPENDS ctest_build_test_code)
add_test(NAME test_ics2a COMMAND test_ics2a ${CMAKE_SOURCE_DIR}/test/testim.ics result_v2a.ics)
add_test(NAME test_ics2a COMMAND test_ics2a ${PROJECT_SOURCE_DIR}/test/testim.ics result_v2a.ics)
set_tests_properties(test_ics2a PROPERTIES DEPENDS ctest_build_test_code)
add_test(NAME test_ics2b COMMAND test_ics2b ${CMAKE_SOURCE_DIR}/test/testim.ics result_v2b.ics)
add_test(NAME test_ics2b COMMAND test_ics2b ${PROJECT_SOURCE_DIR}/test/testim.ics result_v2b.ics)
set_tests_properties(test_ics2b PROPERTIES DEPENDS ctest_build_test_code)
add_test(NAME test_gzip COMMAND test_gzip ${CMAKE_SOURCE_DIR}/test/testim.ics result_v2z.ics)
add_test(NAME test_gzip COMMAND test_gzip ${PROJECT_SOURCE_DIR}/test/testim.ics result_v2z.ics)
set_tests_properties(test_gzip PROPERTIES DEPENDS ctest_build_test_code)
add_test(NAME test_compress COMMAND test_compress ${CMAKE_SOURCE_DIR}/test/testim.ics ${CMAKE_SOURCE_DIR}/test/testim_c.ics)
add_test(NAME test_compress COMMAND test_compress ${PROJECT_SOURCE_DIR}/test/testim.ics ${PROJECT_SOURCE_DIR}/test/testim_c.ics)
set_tests_properties(test_compress PROPERTIES DEPENDS ctest_build_test_code)
add_test(NAME test_strides COMMAND test_strides ${CMAKE_SOURCE_DIR}/test/testim.ics result_s.ics)
add_test(NAME test_strides COMMAND test_strides ${PROJECT_SOURCE_DIR}/test/testim.ics result_s.ics)
set_tests_properties(test_strides PROPERTIES DEPENDS ctest_build_test_code)
add_test(NAME test_strides2 COMMAND test_strides2 ${CMAKE_SOURCE_DIR}/test/testim.ics result_s2.ics)
add_test(NAME test_strides2 COMMAND test_strides2 ${PROJECT_SOURCE_DIR}/test/testim.ics result_s2.ics)
set_tests_properties(test_strides2 PROPERTIES DEPENDS ctest_build_test_code)
add_test(NAME test_strides3 COMMAND test_strides3 ${CMAKE_SOURCE_DIR}/test/testim.ics result_s3.ics)
add_test(NAME test_strides3 COMMAND test_strides3 ${PROJECT_SOURCE_DIR}/test/testim.ics result_s3.ics)
set_tests_properties(test_strides3 PROPERTIES DEPENDS ctest_build_test_code)
add_test(NAME test_metadata1 COMMAND test_metadata result_v1.ics)
set_tests_properties(test_metadata1 PROPERTIES DEPENDS test_ics1)
......
......@@ -12,7 +12,7 @@ dnl Written by Peter Verveer, Cris Luengo
dnl
dnl Library version number (make sure to also change it in 'libics.h'):
AC_INIT([libics], [1.6.1])
AC_INIT([libics], [1.6.2])
AC_CONFIG_SRCDIR([libics.h])
AC_CONFIG_HEADERS([config.h libics_conf.h])
AC_CONFIG_MACRO_DIR([m4])
......
libics (1.6.2-1) unstable; urgency=medium
* New upstream version
Closes: #882430
-- Andreas Tille <tille@debian.org> Sat, 02 Dec 2017 08:15:35 +0100
libics (1.6.1-1) unstable; urgency=medium
[ Mathieu Malaterre ]
......
......@@ -50,7 +50,7 @@ extern "C" {
#endif
/* Library versioning is in the form major, minor, patch: */
#define ICSLIB_VERSION "1.6.1" /* also defined in configure.ac */
#define ICSLIB_VERSION "1.6.2" /* also defined in configure.ac */
#if defined(__WIN32__) && !defined(WIN32)
#define WIN32
......@@ -156,19 +156,32 @@ typedef struct {
/* A list of sensor parameters that are also equiped with a state. */
typedef enum {
ICS_SENSOR_FIRST,
ICS_SENSOR_IMAGING_DIRECTION,
ICS_SENSOR_NUMERICAL_APERTURE,
ICS_SENSOR_OBJECTIVE_QUALITY,
ICS_SENSOR_MEDIUM_REFRACTIVE_INDEX,
ICS_SENSOR_LENS_REFRACTIVE_INDEX,
ICS_SENSOR_PINHOLE_RADIUS,
ICS_SENSOR_ILL_PINHOLE_RADIUS,
ICS_SENSOR_PINHOLE_SPACING,
ICS_SENSOR_EXCITATION_BEAM_FILL,
ICS_SENSOR_LAMBDA_EXCITATION,
ICS_SENSOR_LAMBDA_EMISSION,
ICS_SENSOR_PHOTON_COUNT,
ICS_SENSOR_MEDIUM_REFRACTIVE_INDEX,
ICS_SENSOR_NUMERICAL_APERTURE,
ICS_SENSOR_LENS_REFRACTIVE_INDEX,
ICS_SENSOR_PINHOLE_SPACING,
ICS_SENSOR_INTERFACE_PRIMARY,
ICS_SENSOR_INTERFACE_SECONDARY,
ICS_SENSOR_DETECTOR_MAGN,
ICS_SENSOR_DETECTOR_PPU,
ICS_SENSOR_DETECTOR_BASELINE,
ICS_SENSOR_DETECTOR_LINE_AVG_COUNT,
ICS_SENSOR_STED_DEPLETION_MODE,
ICS_SENSOR_STED_LAMBDA,
ICS_SENSOR_STED_SATURATION_FACTOR,
ICS_SENSOR_STED_IMM_FRACTION,
ICS_SENSOR_STED_VPPM,
ICS_SENSOR_SPIM_EXCITATION_TYPE,
ICS_SENSOR_SPIM_FILL_FACTOR,
ICS_SENSOR_SPIM_PLANE_NA,
......@@ -176,13 +189,11 @@ typedef enum {
ICS_SENSOR_SPIM_PLANE_PROP_DIR,
ICS_SENSOR_SPIM_PLANE_CENTER_OFF,
ICS_SENSOR_SPIM_PLANE_FOCUS_OFF,
ICS_SENSOR_SCATTER_MODEL,
ICS_SENSOR_SCATTER_FREE_PATH,
ICS_SENSOR_SCATTER_REL_CONTRIB,
ICS_SENSOR_SCATTER_BLURRING,
ICS_SENSOR_DETECTOR_PPU,
ICS_SENSOR_DETECTOR_BASELINE,
ICS_SENSOR_DETECTOR_LINE_AVG_COUNT,
ICS_SENSOR_LAST
} Ics_SensorParameter;
......@@ -242,9 +253,33 @@ typedef struct _ICS {
char model[ICS_STRLEN_OTHER];
/* Number of channels: */
int sensorChannels;
/* Backprojected microns: */
/* Imaging direction: */
char imagingDirection[ICS_MAX_LAMBDA][ICS_STRLEN_TOKEN];
Ics_SensorState imagingDirectionState[ICS_MAX_LAMBDA];
/* Numerical Aperture: */
double numAperture;
Ics_SensorState numApertureState;
/* Objective quality: */
int objectiveQuality[ICS_MAX_LAMBDA];
Ics_SensorState objectiveQualityState[ICS_MAX_LAMBDA];
/* Refractive index of embedding medium: */
double refrInxMedium;
Ics_SensorState refrInxMediumState;
/* Refractive index of design medium: */
double refrInxLensMedium;
Ics_SensorState refrInxLensMediumState;
/* Detection pinhole in microns: */
double pinholeRadius[ICS_MAX_LAMBDA];
Ics_SensorState pinholeRadiusState[ICS_MAX_LAMBDA];
/* Illumination pinhole in microns: */
double illPinholeRadius[ICS_MAX_LAMBDA];
Ics_SensorState illPinholeRadiusState[ICS_MAX_LAMBDA];
/* Nipkow Disk pinhole spacing: */
double pinholeSpacing;
Ics_SensorState pinholeSpacingState;
/* Excitation beam fill factor: */
double excitationBeamFill[ICS_MAX_LAMBDA];
Ics_SensorState excitationBeamFillState[ICS_MAX_LAMBDA];
/* Excitation wavelength in nanometers: */
double lambdaEx[ICS_MAX_LAMBDA];
Ics_SensorState lambdaExState[ICS_MAX_LAMBDA];
......@@ -254,18 +289,24 @@ typedef struct _ICS {
/* Number of excitation photons: */
int exPhotonCnt[ICS_MAX_LAMBDA];
Ics_SensorState exPhotonCntState[ICS_MAX_LAMBDA];
/* Refractive index of embedding medium: */
double refrInxMedium;
Ics_SensorState refrInxMediumState;
/* Numerical Aperture: */
double numAperture;
Ics_SensorState numApertureState;
/* Refractive index of design medium: */
double refrInxLensMedium;
Ics_SensorState refrInxLensMediumState;
/* Nipkow Disk pinhole spacing: */
double pinholeSpacing;
Ics_SensorState pinholeSpacingState;
/* Emission wavelength in nm: */
double interfacePrimary;
Ics_SensorState interfacePrimaryState;
/* Emission wavelength in nm: */
double interfaceSecondary;
Ics_SensorState interfaceSecondaryState;
/* Excitation beam fill factor: */
double detectorMagn[ICS_MAX_LAMBDA];
Ics_SensorState detectorMagnState[ICS_MAX_LAMBDA];
/* Detector photons per unit: */
double detectorPPU[ICS_MAX_LAMBDA];
Ics_SensorState detectorPPUState[ICS_MAX_LAMBDA];
/* Detector Baseline: */
double detectorBaseline[ICS_MAX_LAMBDA];
Ics_SensorState detectorBaselineState[ICS_MAX_LAMBDA];
/* Averaging line count */
double detectorLineAvgCnt[ICS_MAX_LAMBDA];
Ics_SensorState detectorLineAvgCntState[ICS_MAX_LAMBDA];
/* STED depletion mode: */
char stedDepletionMode[ICS_MAX_LAMBDA][ICS_STRLEN_TOKEN];
Ics_SensorState stedDepletionModeState[ICS_MAX_LAMBDA];
......@@ -314,20 +355,12 @@ typedef struct _ICS {
/* Scatter blurring: */
double scatterBlurring[ICS_MAX_LAMBDA];
Ics_SensorState scatterBlurringState[ICS_MAX_LAMBDA];
/* Detector photons per unit: */
double detectorPPU[ICS_MAX_LAMBDA];
Ics_SensorState detectorPPUState[ICS_MAX_LAMBDA];
/* Detector Baseline: */
double detectorBaseline[ICS_MAX_LAMBDA];
Ics_SensorState detectorBaselineState[ICS_MAX_LAMBDA];
/* Averaging line count */
double detectorLineAvgCnt[ICS_MAX_LAMBDA];
Ics_SensorState detectorLineAvgCntState[ICS_MAX_LAMBDA];
/* SCIL_Image compatibility parameter: */
char scilType[ICS_STRLEN_TOKEN];
} ICS;
/* The error codes. */
typedef enum {
/* No error. */
......
......@@ -82,14 +82,24 @@ Ics_Symbol G_SubCatSymbols[] =
Ics_Symbol G_SubSubCatSymbols[] =
{
{"Channels", ICSTOK_CHANS},
{"ImagingDirection", ICSTOK_IMDIR},
{"NumAperture", ICSTOK_NUMAPER},
{"ObjectiveQuality", ICSTOK_OBJQ},
{"RefrInxMedium", ICSTOK_REFRIME},
{"RefrInxLensMedium", ICSTOK_REFRILM},
{"PinholeRadius", ICSTOK_PINHRAD},
{"IllPinholeRadius", ICSTOK_ILLPINHRAD},
{"PinholeSpacing", ICSTOK_PINHSPA},
{"ExcitationBeamFill", ICSTOK_EXBFILL},
{"LambdaEx", ICSTOK_LAMBDEX},
{"LambdaEm", ICSTOK_LAMBDEM},
{"ExPhotonCnt", ICSTOK_PHOTCNT},
{"RefrInxMedium", ICSTOK_REFRIME},
{"NumAperture", ICSTOK_NUMAPER},
{"RefrInxLensMedium", ICSTOK_REFRILM},
{"PinholeSpacing", ICSTOK_PINHSPA},
{"InterFacePrimary", ICSTOK_IFACE1},
{"InterFaceSecondary", ICSTOK_IFACE2},
{"DetectorMagnif", ICSTOK_DETMAG},
{"DetectorPPU", ICSTOK_DETPPU},
{"DetectorBaseline", ICSTOK_DETBASELINE},
{"DetectorLineAvgCnt", ICSTOK_DETLNAVGCNT},
{"STEDDeplMode", ICSTOK_STEDDEPLMODE},
{"STEDLambda", ICSTOK_STEDLAMBDA},
{"STEDSatFactor", ICSTOK_STEDSATFACTOR},
......@@ -105,10 +115,7 @@ Ics_Symbol G_SubSubCatSymbols[] =
{"ScatterModel", ICSTOK_SCATTERMODEL},
{"ScatterFreePath", ICSTOK_SCATTERFREEPATH},
{"ScatterRelContrib", ICSTOK_SCATTERRELCONTRIB},
{"ScatterBlurring", ICSTOK_SCATTERBLURRING},
{"DetectorPPU", ICSTOK_DETPPU},
{"DetectorBaseline", ICSTOK_DETBASELINE},
{"DetectorLineAvgCnt", ICSTOK_DETLNAVGCNT}
{"ScatterBlurring", ICSTOK_SCATTERBLURRING}
};
......
......@@ -107,14 +107,24 @@ typedef enum {
/* SubsubCategory tokens: */
ICSTOK_FIRSTSUBSUB,
ICSTOK_CHANS,
ICSTOK_IMDIR,
ICSTOK_NUMAPER,
ICSTOK_OBJQ,
ICSTOK_REFRIME,
ICSTOK_REFRILM,
ICSTOK_PINHRAD,
ICSTOK_ILLPINHRAD,
ICSTOK_PINHSPA,
ICSTOK_EXBFILL,
ICSTOK_LAMBDEX,
ICSTOK_LAMBDEM,
ICSTOK_PHOTCNT,
ICSTOK_REFRIME,
ICSTOK_NUMAPER,
ICSTOK_REFRILM,
ICSTOK_PINHSPA,
ICSTOK_IFACE1,
ICSTOK_IFACE2,
ICSTOK_DETMAG,
ICSTOK_DETPPU,
ICSTOK_DETBASELINE,
ICSTOK_DETLNAVGCNT,
ICSTOK_STEDDEPLMODE,
ICSTOK_STEDLAMBDA,
ICSTOK_STEDSATFACTOR,
......@@ -131,9 +141,6 @@ typedef enum {
ICSTOK_SCATTERFREEPATH,
ICSTOK_SCATTERRELCONTRIB,
ICSTOK_SCATTERBLURRING,
ICSTOK_DETPPU,
ICSTOK_DETBASELINE,
ICSTOK_DETLNAVGCNT,
ICSTOK_LASTSUBSUB,
/* Value tokens: */
......
This diff is collapsed.
......@@ -550,10 +550,34 @@ Ics_Error IcsGetSensorParameter(const ICS *ics,
return IcsErr_NotValidAction;
switch (parameter) {
case ICS_SENSOR_NUMERICAL_APERTURE:
*value = ics->numAperture;
*state = ics->numApertureState;
break;
case ICS_SENSOR_MEDIUM_REFRACTIVE_INDEX:
*value = ics->refrInxMedium;
*state = ics->refrInxMediumState;
break;
case ICS_SENSOR_LENS_REFRACTIVE_INDEX:
*value = ics->refrInxLensMedium;
*state = ics->refrInxLensMediumState;
break;
case ICS_SENSOR_PINHOLE_RADIUS:
*value = ics->pinholeRadius[channel];
*state = ics->pinholeRadiusState[channel];
break;
case ICS_SENSOR_ILL_PINHOLE_RADIUS:
*value = ics->illPinholeRadius[channel];
*state = ics->illPinholeRadiusState[channel];
break;
case ICS_SENSOR_PINHOLE_SPACING:
*value = ics->pinholeSpacing;
*state = ics->pinholeSpacingState;
break;
case ICS_SENSOR_EXCITATION_BEAM_FILL:
*value = ics->excitationBeamFill[channel];
*state = ics->excitationBeamFill[channel];
break;
case ICS_SENSOR_LAMBDA_EXCITATION:
*value = ics->lambdaEx[channel];
*state = ics->lambdaExState[channel];
......@@ -566,21 +590,29 @@ Ics_Error IcsGetSensorParameter(const ICS *ics,
*value = ics->exPhotonCnt[channel];
*state = ics->exPhotonCntState[channel];
break;
case ICS_SENSOR_MEDIUM_REFRACTIVE_INDEX:
*value = ics->refrInxMedium;
*state = ics->refrInxMediumState;
case ICS_SENSOR_INTERFACE_PRIMARY:
*value = ics->interfacePrimary;
*state = ics->interfacePrimaryState;
break;
case ICS_SENSOR_NUMERICAL_APERTURE:
*value = ics->numAperture;
*state = ics->numApertureState;
case ICS_SENSOR_INTERFACE_SECONDARY:
*value = ics->interfaceSecondary;
*state = ics->interfaceSecondaryState;
break;
case ICS_SENSOR_LENS_REFRACTIVE_INDEX:
*value = ics->refrInxLensMedium;
*state = ics->refrInxLensMediumState;
case ICS_SENSOR_DETECTOR_MAGN:
*value = ics->detectorMagn[channel];
*state = ics->detectorMagnState[channel];
break;
case ICS_SENSOR_PINHOLE_SPACING:
*value = ics->pinholeSpacing;
*state = ics->pinholeSpacingState;
case ICS_SENSOR_DETECTOR_PPU:
*value = ics->detectorPPU[channel];
*state = ics->detectorPPUState[channel];
break;
case ICS_SENSOR_DETECTOR_BASELINE:
*value = ics->detectorBaseline[channel];
*state = ics->detectorBaselineState[channel];
break;
case ICS_SENSOR_DETECTOR_LINE_AVG_COUNT:
*value = ics->detectorLineAvgCnt[channel];
*state = ics->detectorLineAvgCntState[channel];
break;
case ICS_SENSOR_STED_LAMBDA:
*value = ics->stedLambda[channel];
......@@ -630,18 +662,6 @@ Ics_Error IcsGetSensorParameter(const ICS *ics,
*value = ics->scatterBlurring[channel];
*state = ics->scatterBlurringState[channel];
break;
case ICS_SENSOR_DETECTOR_PPU:
*value = ics->detectorPPU[channel];
*state = ics->detectorPPUState[channel];
break;
case ICS_SENSOR_DETECTOR_BASELINE:
*value = ics->detectorBaseline[channel];
*state = ics->detectorBaselineState[channel];
break;
case ICS_SENSOR_DETECTOR_LINE_AVG_COUNT:
*value = ics->detectorLineAvgCnt[channel];
*state = ics->detectorLineAvgCntState[channel];
break;
default:
*value = 0;
*state = IcsSensorState_default;
......@@ -692,6 +712,10 @@ Ics_Error IcsGetSensorParameterInt(const ICS *ics,
switch (parameter) {
case ICS_SENSOR_OBJECTIVE_QUALITY:
*value = ics->objectiveQuality[channel];
*state = ics->objectiveQualityState[channel];
break;
case ICS_SENSOR_PHOTON_COUNT:
*value = ics->exPhotonCnt[channel];
*state = ics->exPhotonCntState[channel];
......@@ -718,6 +742,10 @@ Ics_Error IcsGetSensorParameterString(const ICS *ics,
switch (parameter) {
case ICS_SENSOR_IMAGING_DIRECTION:
*value = ics->imagingDirection[channel];
*state = ics->imagingDirectionState[channel];
break;
case ICS_SENSOR_STED_DEPLETION_MODE:
*value = ics->stedDepletionMode[channel];
*state = ics->stedDepletionModeState[channel];
......@@ -754,10 +782,34 @@ Ics_Error IcsSetSensorParameter(ICS *ics,
return IcsErr_NotValidAction;
switch (parameter) {
case ICS_SENSOR_NUMERICAL_APERTURE:
ics->numAperture = value;
ics->numApertureState = state;
break;
case ICS_SENSOR_MEDIUM_REFRACTIVE_INDEX:
ics->refrInxMedium = value;
ics->refrInxMediumState = state;
break;
case ICS_SENSOR_LENS_REFRACTIVE_INDEX:
ics->refrInxLensMedium = value;
ics->refrInxLensMediumState = state;
break;
case ICS_SENSOR_PINHOLE_RADIUS:
ics->pinholeRadius[channel] = value;
ics->pinholeRadiusState[channel] = state;
break;
case ICS_SENSOR_ILL_PINHOLE_RADIUS:
ics->illPinholeRadius[channel] = value;
ics->illPinholeRadiusState[channel] = state;
break;
case ICS_SENSOR_PINHOLE_SPACING:
ics->pinholeSpacing = value;
ics->pinholeSpacingState = state;
break;
case ICS_SENSOR_EXCITATION_BEAM_FILL:
ics->excitationBeamFill[channel] = value;
ics->excitationBeamFillState[channel] = state;
break;
case ICS_SENSOR_LAMBDA_EXCITATION:
ics->lambdaEx[channel] = value;
ics->lambdaExState[channel] = state;
......@@ -770,21 +822,29 @@ Ics_Error IcsSetSensorParameter(ICS *ics,
ics->exPhotonCnt[channel] = value;
ics->exPhotonCntState[channel] = state;
break;
case ICS_SENSOR_MEDIUM_REFRACTIVE_INDEX:
ics->refrInxMedium = value;
ics->refrInxMediumState = state;
case ICS_SENSOR_INTERFACE_PRIMARY:
ics->interfacePrimary = value;
ics->interfacePrimaryState = state;
break;
case ICS_SENSOR_NUMERICAL_APERTURE:
ics->numAperture = value;
ics->numApertureState = state;
case ICS_SENSOR_INTERFACE_SECONDARY:
ics->interfaceSecondary = value;
ics->interfaceSecondaryState = state;
break;
case ICS_SENSOR_LENS_REFRACTIVE_INDEX:
ics->refrInxLensMedium = value;
ics->refrInxLensMediumState = state;
case ICS_SENSOR_DETECTOR_MAGN:
ics->detectorMagn[channel] = value;
ics->detectorMagnState[channel] = state;
break;
case ICS_SENSOR_PINHOLE_SPACING:
ics->pinholeSpacing = value;
ics->pinholeSpacingState = state;
case ICS_SENSOR_DETECTOR_PPU:
ics->detectorPPU[channel] = value;
ics->detectorPPUState[channel] = state;
break;
case ICS_SENSOR_DETECTOR_BASELINE:
ics->detectorBaseline[channel] = value;
ics->detectorBaselineState[channel] = state;
break;
case ICS_SENSOR_DETECTOR_LINE_AVG_COUNT:
ics->detectorLineAvgCnt[channel] = value;
ics->detectorLineAvgCntState[channel] = state;
break;
case ICS_SENSOR_STED_LAMBDA:
ics->stedLambda[channel] = value;
......@@ -834,18 +894,6 @@ Ics_Error IcsSetSensorParameter(ICS *ics,
ics->scatterBlurring[channel] = value;
ics->scatterBlurringState[channel] = state;
break;
case ICS_SENSOR_DETECTOR_PPU:
ics->detectorPPU[channel] = value;
ics->detectorPPUState[channel] = state;
break;
case ICS_SENSOR_DETECTOR_BASELINE:
ics->detectorBaseline[channel] = value;
ics->detectorBaselineState[channel] = state;
break;
case ICS_SENSOR_DETECTOR_LINE_AVG_COUNT:
ics->detectorLineAvgCnt[channel] = value;
ics->detectorLineAvgCntState[channel] = state;
break;
default:
return IcsErr_NotValidAction;
}
......@@ -900,6 +948,10 @@ Ics_Error IcsSetSensorParameterInt(ICS *ics,
return IcsErr_NotValidAction;
switch (parameter) {
case ICS_SENSOR_OBJECTIVE_QUALITY:
ics->objectiveQuality[channel] = value;
ics->objectiveQualityState[channel] = state;
break;
case ICS_SENSOR_PHOTON_COUNT:
ics->exPhotonCnt[channel] = value;
ics->exPhotonCntState[channel] = state;
......@@ -926,6 +978,10 @@ Ics_Error IcsSetSensorParameterString(ICS *ics,
return IcsErr_NotValidAction;
switch (parameter) {
case ICS_SENSOR_IMAGING_DIRECTION:
IcsStrCpy(ics->imagingDirection[channel], value, ICS_STRLEN_TOKEN);
ics->imagingDirectionState[channel] = state;
break;
case ICS_SENSOR_STED_DEPLETION_MODE:
IcsStrCpy(ics->stedDepletionMode[channel], value, ICS_STRLEN_TOKEN);
ics->stedDepletionModeState[channel] = state;
......
......@@ -356,25 +356,45 @@ void IcsInit(Ics_Header *icsStruct)
icsStruct->writeSensor = 0;
icsStruct->writeSensorStates = 0;
icsStruct->model[0]= '\0';
icsStruct->refrInxMedium = 0.0;
icsStruct->refrInxMediumState = IcsSensorState_default;
icsStruct->numAperture = 0.0;
icsStruct->numApertureState = IcsSensorState_default;
icsStruct->refrInxMedium = 0.0;
icsStruct->refrInxMediumState = IcsSensorState_default;
icsStruct->refrInxLensMedium = 0.0;
icsStruct->refrInxLensMediumState = IcsSensorState_default;
icsStruct->pinholeSpacing = 0.0;
icsStruct->pinholeSpacingState = IcsSensorState_default;
icsStruct->interfacePrimary = 0.0;
icsStruct->interfacePrimaryState = IcsSensorState_default;
icsStruct->interfaceSecondary = 0.0;
icsStruct->interfaceSecondaryState = IcsSensorState_default;
icsStruct->sensorChannels = 0;
for (i = 0; i < ICS_MAX_LAMBDA; i++) {
icsStruct->type[i][0] = '\0';
icsStruct->imagingDirection[i][0] = '\0';
icsStruct->imagingDirectionState[i] = IcsSensorState_default;
icsStruct->objectiveQuality[i] = 0;
icsStruct->objectiveQualityState[i] = IcsSensorState_default;
icsStruct->pinholeRadius[i] = 0.0;
icsStruct->pinholeRadiusState[i] = IcsSensorState_default;
icsStruct->illPinholeRadius[i] = 0.0;
icsStruct->illPinholeRadiusState[i] = IcsSensorState_default;
icsStruct->excitationBeamFill[i] = 0.0;
icsStruct->excitationBeamFillState[i] = IcsSensorState_default;
icsStruct->lambdaEx[i] = 0.0;
icsStruct->lambdaExState[i] = IcsSensorState_default;
icsStruct->lambdaEm[i] = 0.0;
icsStruct->lambdaEmState[i] = IcsSensorState_default;
icsStruct->exPhotonCnt[i] = 1;
icsStruct->exPhotonCntState[i] = IcsSensorState_default;
icsStruct->detectorMagn[i] = 1.0;
icsStruct->detectorMagnState[i] = IcsSensorState_default;
icsStruct->detectorPPU[i] = 1.0;
icsStruct->detectorPPUState[i] = IcsSensorState_default;
icsStruct->detectorBaseline[i] = 0.0;
icsStruct->detectorBaselineState[i] = IcsSensorState_default;
icsStruct->detectorLineAvgCnt[i] = 1.0;
icsStruct->detectorLineAvgCntState[i] = IcsSensorState_default;
icsStruct->stedDepletionMode[i][0] = '\0';
icsStruct->stedDepletionModeState[i] = IcsSensorState_default;
icsStruct->stedLambda[i] = 0.0;
......@@ -409,12 +429,6 @@ void IcsInit(Ics_Header *icsStruct)
icsStruct->scatterRelContribState[i] = IcsSensorState_default;
icsStruct->scatterBlurring[i] = 0.0;
icsStruct->scatterBlurringState[i] = IcsSensorState_default;
icsStruct->detectorPPU[i] = 1.0;
icsStruct->detectorPPUState[i] = IcsSensorState_default;
icsStruct->detectorBaseline[i] = 0.0;
icsStruct->detectorBaselineState[i] = IcsSensorState_default;
icsStruct->detectorLineAvgCnt[i] = 1.0;
icsStruct->detectorLineAvgCntState[i] = IcsSensorState_default;
}
icsStruct->scilType[0] = '\0';
}
......
This diff is collapsed.
......@@ -8,6 +8,7 @@ int main(int argc, const char* argv[]) {
Ics_DataType dt;
int ndims;
size_t dims[ICS_MAXDIM];
size_t imelsize;
size_t bufsize;
ptrdiff_t strides[3];
void* buf1;
......@@ -30,8 +31,9 @@ int main(int argc, const char* argv[]) {
}
IcsGetLayout(ip, &dt, &ndims, dims);
strides[0] = -1;
strides[1] = -(ptrdiff_t)(dims[0]*dims[2]);
strides[2] = -(ptrdiff_t)dims[0];
strides[1] = -(ptrdiff_t)dims[0];
strides[2] = -(ptrdiff_t)(dims[0]*dims[1]);
imelsize = IcsGetImelSize(ip);
bufsize = IcsGetDataSize(ip);
buf1 = malloc(bufsize);
if (buf1 == NULL) {
......@@ -49,7 +51,7 @@ int main(int argc, const char* argv[]) {
fprintf(stderr, "Could not allocate memory.\n");
exit(-1);
}
retval = IcsGetDataWithStrides(ip, buf3 + bufsize - 1, 0, strides, 3);
retval = IcsGetDataWithStrides(ip, buf3 + bufsize - imelsize, 0, strides, 3);
if (retval != IcsErr_Ok) {
fprintf(stderr, "Could not read input image data using strides: %s\n",
IcsGetErrorText(retval));
......@@ -70,7 +72,7 @@ int main(int argc, const char* argv[]) {
exit(-1);
}
IcsSetLayout(ip, dt, ndims, dims);
IcsSetDataWithStrides(ip, buf3 + bufsize - 1, bufsize, strides, 3);
IcsSetDataWithStrides(ip, buf3 + bufsize - imelsize, bufsize, strides, 3);
IcsSetCompression(ip, IcsCompr_gzip, 6);
retval = IcsClose(ip);
if (retval != IcsErr_Ok) {
......