Search in sources :

Example 36 with ExternalDataIdentifier

use of org.vcell.util.document.ExternalDataIdentifier in project vcell by virtualcell.

the class FRAPStudy method getPSFFieldData.

public static FieldDataIdentifierSpec getPSFFieldData(LocalWorkspace localWorkspace) {
    // create ROI image
    short[] psfFieldData = null;
    psfFieldData = new short[9];
    psfFieldData[4] = (short) 1;
    // create field data
    int NumTimePoints = 1;
    // 8 rois integrated into 1 image
    int NumChannels = 1;
    short[][][] pixData = new short[NumTimePoints][NumChannels][1];
    pixData[0][0] = psfFieldData;
    // get extental data id
    ExternalDataIdentifier newPsfExtDataID = FRAPStudy.createNewExternalDataInfo(localWorkspace, FRAPStudy.PSF_DATA_NAME).getExternalDataIdentifier();
    CartesianMesh cartesianMesh;
    try {
        Origin origin = new Origin(0, 0, 0);
        Extent ext = new Extent(1, 1, 1);
        ISize isize = new ISize(3, 3, 1);
        cartesianMesh = CartesianMesh.createSimpleCartesianMesh(origin, ext, isize, new RegionImage(new VCImageUncompressed(null, new byte[isize.getXYZ()], ext, isize.getX(), isize.getY(), isize.getZ()), 0, null, null, RegionImage.NO_SMOOTHING));
        FieldDataFileOperationSpec fdos = new FieldDataFileOperationSpec();
        fdos.opType = FieldDataFileOperationSpec.FDOS_ADD;
        fdos.cartesianMesh = cartesianMesh;
        fdos.shortSpecData = pixData;
        fdos.specEDI = newPsfExtDataID;
        fdos.varNames = new String[] { "psfVar" };
        fdos.owner = LocalWorkspace.getDefaultOwner();
        fdos.times = new double[] { 0.0 };
        fdos.variableTypes = new VariableType[] { VariableType.VOLUME };
        fdos.origin = origin;
        fdos.extent = ext;
        fdos.isize = isize;
        localWorkspace.getDataSetControllerImpl().fieldDataFileOperation(fdos);
        FieldFunctionArguments psfFieldFunc = new FieldFunctionArguments(PSF_DATA_NAME, "psfVar", new Expression(0.0), VariableType.VOLUME);
        FieldDataIdentifierSpec fdis = new FieldDataIdentifierSpec(psfFieldFunc, newPsfExtDataID);
        return fdis;
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    }
}
Also used : Origin(org.vcell.util.Origin) Extent(org.vcell.util.Extent) FieldFunctionArguments(cbit.vcell.field.FieldFunctionArguments) ISize(org.vcell.util.ISize) FieldDataFileOperationSpec(cbit.vcell.field.io.FieldDataFileOperationSpec) VCImageUncompressed(cbit.image.VCImageUncompressed) ImageException(cbit.image.ImageException) UserCancelException(org.vcell.util.UserCancelException) CartesianMesh(cbit.vcell.solvers.CartesianMesh) Expression(cbit.vcell.parser.Expression) FieldDataIdentifierSpec(cbit.vcell.field.FieldDataIdentifierSpec) ExternalDataIdentifier(org.vcell.util.document.ExternalDataIdentifier) RegionImage(cbit.vcell.geometry.RegionImage)

Example 37 with ExternalDataIdentifier

use of org.vcell.util.document.ExternalDataIdentifier in project vcell by virtualcell.

the class MicroscopyXmlReader method getExternalDataIdentifier.

/**
 * Method getExternalDataIdentifier.
 * @param externalDataIDElement Element
 * @return ExternalDataIdentifier
 */
private static ExternalDataIdentifier getExternalDataIdentifier(Element externalDataIDElement) {
    String name = externalDataIDElement.getAttributeValue(XMLTags.NameAttrTag);
    String keyValueStr = externalDataIDElement.getAttributeValue(XMLTags.KeyValueAttrTag);
    String ownerName = externalDataIDElement.getAttributeValue(MicroscopyXMLTags.OwnerNameAttrTag);
    String ownerKey = externalDataIDElement.getAttributeValue(XMLTags.OwnerKeyAttrTag);
    return new ExternalDataIdentifier(new KeyValue(keyValueStr), new User(ownerName, new KeyValue(ownerKey)), name);
}
Also used : KeyValue(org.vcell.util.document.KeyValue) User(org.vcell.util.document.User) ExternalDataIdentifier(org.vcell.util.document.ExternalDataIdentifier)

Example 38 with ExternalDataIdentifier

use of org.vcell.util.document.ExternalDataIdentifier in project vcell by virtualcell.

the class DataSetControllerImpl method getFieldDataIdentifierSpecs_private.

private FieldDataIdentifierSpec[] getFieldDataIdentifierSpecs_private(FieldFunctionArguments[] fieldFuncArgumentsArr, User user, boolean bForceUpdate) throws DataAccessException {
    Vector<ExternalDataIdentifier> userExtDataIdentifiersV = userExtDataIDH.get(user);
    if (userExtDataIdentifiersV == null || userExtDataIdentifiersV.size() < fieldFuncArgumentsArr.length || bForceUpdate) {
        // must refresh
        ExternalDataIdentifierService extDataIDService = VCellServiceHelper.getInstance().loadService(ExternalDataIdentifierService.class);
        userExtDataIDH = extDataIDService.getAllExternalDataIdentifiers();
        userExtDataIdentifiersV = userExtDataIDH.get(user);
    }
    FieldDataIdentifierSpec[] fieldDataIdentifierSpecs = new FieldDataIdentifierSpec[fieldFuncArgumentsArr.length];
    Arrays.fill(fieldDataIdentifierSpecs, null);
    for (int i = 0; i < fieldFuncArgumentsArr.length; i++) {
        for (int j = 0; userExtDataIdentifiersV != null && j < userExtDataIdentifiersV.size(); j++) {
            if (fieldFuncArgumentsArr[i].getFieldName().equals(userExtDataIdentifiersV.elementAt(j).getName())) {
                fieldDataIdentifierSpecs[i] = new FieldDataIdentifierSpec(fieldFuncArgumentsArr[i], userExtDataIdentifiersV.elementAt(j));
                break;
            }
        }
        if (fieldDataIdentifierSpecs[i] == null) {
            throw new ObjectNotFoundException("The data locator for FieldData Function '" + fieldFuncArgumentsArr[i].getFieldName() + "' could not be found.");
        }
    }
    return fieldDataIdentifierSpecs;
}
Also used : FieldDataIdentifierSpec(cbit.vcell.field.FieldDataIdentifierSpec) ObjectNotFoundException(org.vcell.util.ObjectNotFoundException) ExternalDataIdentifier(org.vcell.util.document.ExternalDataIdentifier)

Example 39 with ExternalDataIdentifier

use of org.vcell.util.document.ExternalDataIdentifier in project vcell by virtualcell.

the class DataProcessingInstructions method getSampleImageFieldData.

public FieldDataIdentifierSpec getSampleImageFieldData(User user) {
    if (scriptInput != null) {
        int index = scriptInput.indexOf("SampleImage");
        StringTokenizer st = new StringTokenizer(scriptInput.substring(index));
        // SampleImage
        st.nextToken();
        // numRegions
        st.nextToken();
        if (getScriptName().equals(VFRAP)) {
            // zSlice
            st.nextToken();
        }
        // key
        String key = st.nextToken();
        index = scriptInput.indexOf(FieldFunctionDefinition.FUNCTION_name);
        if (index >= 0) {
            st = new StringTokenizer(scriptInput.substring(index), "\n");
            if (st.hasMoreTokens()) {
                String fieldFunction = st.nextToken();
                try {
                    Expression exp = new Expression(fieldFunction);
                    FieldFunctionArguments[] ffa = FieldUtilities.getFieldFunctionArguments(exp);
                    return new FieldDataIdentifierSpec(ffa[0], new ExternalDataIdentifier(KeyValue.fromString(key), user, ffa[0].getFieldName()));
                } catch (ExpressionException e) {
                    e.printStackTrace();
                    throw new RuntimeException(e.getMessage());
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new RuntimeException("Failed to load data processing script.");
                }
            }
        }
    }
    return null;
}
Also used : StringTokenizer(java.util.StringTokenizer) Expression(cbit.vcell.parser.Expression) FieldFunctionArguments(cbit.vcell.field.FieldFunctionArguments) FieldDataIdentifierSpec(cbit.vcell.field.FieldDataIdentifierSpec) ExternalDataIdentifier(org.vcell.util.document.ExternalDataIdentifier) ExpressionException(cbit.vcell.parser.ExpressionException) ExpressionException(cbit.vcell.parser.ExpressionException)

Example 40 with ExternalDataIdentifier

use of org.vcell.util.document.ExternalDataIdentifier in project vcell by virtualcell.

the class ROIDataGenerator method getSampleImageFieldData.

public FieldDataIdentifierSpec getSampleImageFieldData(User user) {
    // key
    String key = fieldDataKey.toString();
    String fieldInput = fieldFuncArguments.infix();
    StringTokenizer st = null;
    int index = fieldInput.indexOf(FieldFunctionDefinition.FUNCTION_name);
    if (index >= 0) {
        st = new StringTokenizer(fieldInput.substring(index), "\n");
        if (st.hasMoreTokens()) {
            String fieldFunction = st.nextToken();
            try {
                Expression exp = new Expression(fieldFunction);
                FieldFunctionArguments[] ffa = FieldUtilities.getFieldFunctionArguments(exp);
                return new FieldDataIdentifierSpec(ffa[0], new ExternalDataIdentifier(KeyValue.fromString(key), user, ffa[0].getFieldName()));
            } catch (ExpressionException e) {
                e.printStackTrace();
                throw new RuntimeException(e.getMessage());
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException("Failed to load data processing script.");
            }
        }
    }
    return null;
}
Also used : StringTokenizer(java.util.StringTokenizer) Expression(cbit.vcell.parser.Expression) FieldFunctionArguments(cbit.vcell.field.FieldFunctionArguments) FieldDataIdentifierSpec(cbit.vcell.field.FieldDataIdentifierSpec) ExternalDataIdentifier(org.vcell.util.document.ExternalDataIdentifier) ExpressionException(cbit.vcell.parser.ExpressionException) DataAccessException(org.vcell.util.DataAccessException) ExpressionException(cbit.vcell.parser.ExpressionException) MathException(cbit.vcell.math.MathException)

Aggregations

ExternalDataIdentifier (org.vcell.util.document.ExternalDataIdentifier)46 DataAccessException (org.vcell.util.DataAccessException)15 KeyValue (org.vcell.util.document.KeyValue)15 FieldFunctionArguments (cbit.vcell.field.FieldFunctionArguments)12 File (java.io.File)12 UserCancelException (org.vcell.util.UserCancelException)12 User (org.vcell.util.document.User)12 FieldDataIdentifierSpec (cbit.vcell.field.FieldDataIdentifierSpec)9 Hashtable (java.util.Hashtable)9 ISize (org.vcell.util.ISize)9 AsynchClientTask (cbit.vcell.client.task.AsynchClientTask)8 Expression (cbit.vcell.parser.Expression)8 Origin (org.vcell.util.Origin)8 FieldDataFileOperationSpec (cbit.vcell.field.io.FieldDataFileOperationSpec)7 Element (org.jdom.Element)7 Extent (org.vcell.util.Extent)7 ObjectNotFoundException (org.vcell.util.ObjectNotFoundException)7 ImageException (cbit.image.ImageException)6 FieldDataDBOperationResults (cbit.vcell.field.FieldDataDBOperationResults)6 RegionImage (cbit.vcell.geometry.RegionImage)6