Search in sources :

Example 56 with Extent

use of org.vcell.util.Extent in project vcell by virtualcell.

the class SimulationSummaryPanel method displayOther.

/**
 * Comment
 */
private void displayOther() {
    boolean isSpatial = getSimulation().isSpatial();
    try {
        getJLabel8().setVisible(isSpatial);
        getJLabelGeometrySize().setVisible(isSpatial);
        Extent extent = getSimulation().getMathDescription().getGeometry().getExtent();
        String labelText = "";
        switch(getSimulation().getMathDescription().getGeometry().getDimension()) {
            case 0:
                {
                    break;
                }
            case 1:
                {
                    labelText = extent.getX() + " microns";
                    break;
                }
            case 2:
                {
                    labelText = "(" + extent.getX() + "," + extent.getY() + ") microns";
                    break;
                }
            case 3:
                {
                    labelText = "(" + extent.getX() + "," + extent.getY() + "," + extent.getZ() + ") microns";
                    break;
                }
        }
        getJLabelGeometrySize().setText(labelText);
    } catch (Exception exc) {
        exc.printStackTrace(System.out);
        getJLabelGeometrySize().setText("");
    }
}
Also used : Extent(org.vcell.util.Extent) PropertyVetoException(java.beans.PropertyVetoException)

Example 57 with Extent

use of org.vcell.util.Extent in project vcell by virtualcell.

the class CartesianMeshChombo method readMeshFile.

public static CartesianMeshChombo readMeshFile(File chomboMeshFile) throws Exception {
    CartesianMeshChombo chomboMesh = new CartesianMeshChombo();
    if (H5.H5open() < 0) {
        throw new Exception("H5.H5open() failed");
    }
    FileFormat fileFormat = FileFormat.getFileFormat(FileFormat.FILE_TYPE_HDF5);
    if (fileFormat == null) {
        throw new Exception("FileFormat.getFileFormat(FileFormat.FILE_TYPE_HDF5) failed, returned null.");
    }
    FileFormat meshFile = null;
    try {
        meshFile = fileFormat.createInstance(chomboMeshFile.getAbsolutePath(), FileFormat.READ);
        meshFile.open();
        DefaultMutableTreeNode rootNode = (DefaultMutableTreeNode) meshFile.getRootNode();
        Group rootGroup = (Group) rootNode.getUserObject();
        Group meshGroup = (Group) rootGroup.getMemberList().get(0);
        List<Attribute> meshAttrList = meshGroup.getMetadata();
        for (Attribute attr : meshAttrList) {
            String attrName = attr.getName();
            MeshAttribute mattr = null;
            try {
                mattr = MeshAttribute.valueOf(attrName);
            } catch (IllegalArgumentException ex) {
            }
            if (mattr == null) {
                // if not found, then we don't care about this attribute
                logger.debug("mesh attribute " + attrName + " is not defined in Java");
                continue;
            }
            Object value = attr.getValue();
            switch(mattr) {
                case dimension:
                    chomboMesh.dimension = ((int[]) value)[0];
                    break;
                case numLevels:
                    chomboMesh.numLevels = ((int[]) value)[0];
                    break;
                case viewLevel:
                    chomboMesh.viewLevel = ((int[]) value)[0];
                    break;
                case refineRatios:
                    chomboMesh.refineRatios = (int[]) value;
                    break;
                case Dx:
                case extent:
                case Nx:
                case origin:
                    // these 4 has format of {};
                    String[] valueStrArray = (String[]) value;
                    String value0 = valueStrArray[0];
                    StringTokenizer st = new StringTokenizer(value0, "{,} ");
                    int numTokens = st.countTokens();
                    // we need 3 for 3d
                    double[] values = new double[Math.max(3, numTokens)];
                    for (int i = 0; i < Math.min(3, numTokens); ++i) {
                        String token = st.nextToken();
                        values[i] = Double.parseDouble(token);
                    }
                    switch(mattr) {
                        case Dx:
                            chomboMesh.dx = new double[3];
                            System.arraycopy(values, 0, chomboMesh.dx, 0, values.length);
                            break;
                        case extent:
                            chomboMesh.extent = new Extent(values[0], values[1], values[2] == 0 ? 1 : values[2]);
                            break;
                        case Nx:
                            chomboMesh.size = new ISize((int) values[0], (int) values[1], values[2] == 0 ? 1 : (int) values[2]);
                            break;
                        case origin:
                            chomboMesh.origin = new Origin(values[0], values[1], values[2]);
                            break;
                    }
                    break;
            }
        }
        List<HObject> memberList = meshGroup.getMemberList();
        for (HObject member : memberList) {
            if (!(member instanceof Dataset)) {
                continue;
            }
            Dataset dataset = (Dataset) member;
            Vector vectValues = (Vector) dataset.read();
            String name = dataset.getName();
            MeshDataSet mdataset = null;
            try {
                mdataset = MeshDataSet.valueOfName(name);
            } catch (IllegalArgumentException ex) {
                logger.debug("mesh dataset " + name + " is not defined in Java");
            }
            if (mdataset == null) {
                // if not found, then we don't care about this dataset
                continue;
            }
            switch(mdataset) {
                case vertices:
                    collectVertices(chomboMesh, vectValues);
                    break;
                case segments:
                    collect2dSegments(chomboMesh, vectValues);
                    break;
                case structures:
                    collectStructures(chomboMesh, vectValues);
                    break;
                case featurephasevols:
                    collectFeaturePhaseVols(chomboMesh, vectValues);
                    break;
                case membraneids:
                    collectMembraneIds(chomboMesh, vectValues);
                    break;
                case membrane_elements:
                case membrane_elements_old:
                    collectMembraneElements(chomboMesh, vectValues);
                    break;
                case surface_triangles:
                    collect3dSurfaceTriangles(chomboMesh, vectValues);
                    break;
                case slice_view:
                    collect3dSliceView(chomboMesh, vectValues);
                    break;
            }
        }
    } finally {
        if (meshFile != null) {
            meshFile.close();
        }
    }
    // set neighbors to membrane elements
    if (chomboMesh.dimension == 2 && chomboMesh.membraneElements != null) {
        for (int i = 0; i < chomboMesh.membraneElements.length; ++i) {
            MembraneElement me = chomboMesh.membraneElements[i];
            me.setConnectivity(chomboMesh.segments[i].prevNeigbhor, chomboMesh.segments[i].nextNeigbhor, -1, -1);
        }
    }
    return chomboMesh;
}
Also used : Origin(org.vcell.util.Origin) Group(ncsa.hdf.object.Group) HObject(ncsa.hdf.object.HObject) DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) Attribute(ncsa.hdf.object.Attribute) Extent(org.vcell.util.Extent) ISize(org.vcell.util.ISize) Dataset(ncsa.hdf.object.Dataset) FileFormat(ncsa.hdf.object.FileFormat) IOException(java.io.IOException) MathFormatException(cbit.vcell.math.MathFormatException) StringTokenizer(java.util.StringTokenizer) HObject(ncsa.hdf.object.HObject) Vector(java.util.Vector)

Example 58 with Extent

use of org.vcell.util.Extent in project vcell by virtualcell.

the class ChomboMeshARGenerator method main.

public static void main(String[] args) {
    ChomboMeshARGenerator generator = new ChomboMeshARGenerator();
    Extent extent = new Extent(1.175, 7.333, 2);
    generator.findMyAR(2, extent);
}
Also used : Extent(org.vcell.util.Extent)

Example 59 with Extent

use of org.vcell.util.Extent in project vcell by virtualcell.

the class RefinementRoi method getDx.

public double getDx(Simulation simulation) {
    Extent extent = simulation.getMathDescription().getGeometry().getExtent();
    ISize levelSize = simulation.getSolverTaskDescription().getChomboSolverSpec().getLevelSamplingSize(simulation.getMeshSpecification().getSamplingSize(), level);
    return extent.getX() / levelSize.getX();
}
Also used : Extent(org.vcell.util.Extent) ISize(org.vcell.util.ISize)

Example 60 with Extent

use of org.vcell.util.Extent in project vcell by virtualcell.

the class FieldDataGUIPanel method copyMethod.

private void copyMethod(int copyMode) {
    String delimiter = "";
    if (copyMode == COPY_NL) {
        delimiter = "\n";
    } else if (copyMode == COPY_CRNL) {
        delimiter = "\r\n";
    } else if (copyMode == COPY_CSV) {
        delimiter = ",";
    } else if (copyMode == COPY_SPACE) {
        delimiter = " ";
    }
    String copyString = "";
    javax.swing.tree.TreePath selPath = getJTree1().getSelectionPath();
    if (selPath != null) {
        javax.swing.tree.DefaultMutableTreeNode lastPathComponent = (javax.swing.tree.DefaultMutableTreeNode) selPath.getLastPathComponent();
        if (lastPathComponent.equals(getJTree1().getModel().getRoot())) {
            int childCount = lastPathComponent.getChildCount();
            for (int i = 0; i < childCount; i += 1) {
                if (i != 0) {
                    copyString += delimiter;
                }
                copyString += ((FieldDataMainList) ((DefaultMutableTreeNode) lastPathComponent.getChildAt(i)).getUserObject()).externalDataIdentifier.getName();
            }
        } else if (lastPathComponent.getUserObject() instanceof FieldDataOriginList) {
            Origin origin = ((FieldDataOriginList) lastPathComponent.getUserObject()).origin;
            copyString = origin.getX() + delimiter + origin.getY() + delimiter + origin.getZ();
        } else if (lastPathComponent.getUserObject() instanceof FieldDataExtentList) {
            Extent extent = ((FieldDataExtentList) lastPathComponent.getUserObject()).extent;
            copyString = extent.getX() + delimiter + extent.getY() + delimiter + extent.getZ();
        } else if (lastPathComponent.getUserObject() instanceof FieldDataISizeList) {
            ISize isize = ((FieldDataISizeList) lastPathComponent.getUserObject()).isize;
            copyString = isize.getX() + delimiter + isize.getY() + delimiter + isize.getZ();
        } else if (lastPathComponent.getUserObject() instanceof FieldDataTimeList) {
            double[] times = ((FieldDataTimeList) lastPathComponent.getUserObject()).times;
            for (int i = 0; i < times.length; i += 1) {
                if (i != 0) {
                    copyString += delimiter;
                }
                copyString += times[i] + "";
            }
        } else if (lastPathComponent.getUserObject() instanceof FieldDataMainList) {
            ExternalDataIdentifier extDataID = ((FieldDataMainList) lastPathComponent.getUserObject()).externalDataIdentifier;
            copyString = extDataID.getName();
        } else if (lastPathComponent.getUserObject() instanceof FieldDataVarList) {
            DataIdentifier dataIdentifier = ((FieldDataVarList) lastPathComponent.getUserObject()).dataIdentifier;
            copyString = dataIdentifier.getName();
        } else if (lastPathComponent.getUserObject() instanceof FieldDataVarMainList) {
            int childCount = lastPathComponent.getChildCount();
            for (int i = 0; i < childCount; i += 1) {
                if (i != 0) {
                    copyString += delimiter;
                }
                copyString += ((FieldDataVarList) ((DefaultMutableTreeNode) lastPathComponent.getChildAt(i)).getUserObject()).dataIdentifier.getName();
            }
        }
        if (copyString.length() > 0) {
            VCellTransferable.sendToClipboard(copyString);
        }
    }
}
Also used : Origin(org.vcell.util.Origin) DataIdentifier(cbit.vcell.simdata.DataIdentifier) ExternalDataIdentifier(org.vcell.util.document.ExternalDataIdentifier) DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) TreePath(javax.swing.tree.TreePath) Extent(org.vcell.util.Extent) ISize(org.vcell.util.ISize) DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) ExternalDataIdentifier(org.vcell.util.document.ExternalDataIdentifier)

Aggregations

Extent (org.vcell.util.Extent)98 Origin (org.vcell.util.Origin)60 ISize (org.vcell.util.ISize)53 VCImageUncompressed (cbit.image.VCImageUncompressed)23 ImageException (cbit.image.ImageException)21 VCImage (cbit.image.VCImage)20 CartesianMesh (cbit.vcell.solvers.CartesianMesh)19 Geometry (cbit.vcell.geometry.Geometry)17 RegionImage (cbit.vcell.geometry.RegionImage)17 FieldDataFileOperationSpec (cbit.vcell.field.io.FieldDataFileOperationSpec)16 Expression (cbit.vcell.parser.Expression)16 IOException (java.io.IOException)15 UShortImage (cbit.vcell.VirtualMicroscopy.UShortImage)13 BioModel (cbit.vcell.biomodel.BioModel)13 SubVolume (cbit.vcell.geometry.SubVolume)13 File (java.io.File)13 ArrayList (java.util.ArrayList)13 UserCancelException (org.vcell.util.UserCancelException)13 ExpressionException (cbit.vcell.parser.ExpressionException)12 PropertyVetoException (java.beans.PropertyVetoException)10