Skip to content
  • 0 Votes
    2 Posts
    30 Views
    C
    I would suggest first cloning the nerve trajectory, and then discretizing it. The result is an unlocked axon model. You can then delete the nerve trajectory clone if needed.
  • Sim4Life V9.0 Release

    Announcements
    1
    0 Votes
    1 Posts
    14 Views
    No one has replied
  • Help with Petri Dish Geometry & Boolean Subtract Issue

    CAD Modeling
    1
    0 Votes
    1 Posts
    36 Views
    No one has replied
  • Advanced Masking of Fields

    Analysis & Postprocessing
    1
    0 Votes
    1 Posts
    38 Views
    No one has replied
  • 0 Votes
    1 Posts
    30 Views
    No one has replied
  • Export to CSV file

    Python API
    3
    0 Votes
    3 Posts
    74 Views
    K
    The problem has been resolved! Thank you for your assistance!
  • 2 Votes
    4 Posts
    237 Views
    R
    @bryn ahh, I see. Thank you so much!
  • 0 Votes
    4 Posts
    175 Views
    C
    Hi In Sim4Life the tissue properties are provided as a single values. However, the IT’IS website provides supplemental information on the tissue properties. In addition to the average value, you can find the standard deviation, minima and maxima. Low Frequency (Conductivity) » IT'IS Foundation](https://itis.swiss/virtual-population/tissue-properties/database/low-frequency-conductivity/)
  • Compute titration thresholds in current

    T-Neuro
    3
    0 Votes
    3 Posts
    663 Views
    AntoninoMCA
    @KK The titration procedure provides a scaling factor that must be applied to the stimulation source (incident E-field, input current, or voltage applied at electrode pairs) in order to initiate an action potential in a fiber or neuron. Here are some examples depending on the stimulation source: Source: Incident E-field (e.g., induced by TMS) Assume the incident electric field is 1 V/m, and the titration procedure yields a titration factor, tf. The threshold E-field is therefore tf [V/m]. If this 1 V/m field results from a coil current rate of change dI/dt = A [A/s], then the threshold dI/dt required is A × tf [A/s]. Source: Applied voltage Let the applied voltage across an electrode pair be V = V₀. This value is also used as the Dirichlet boundary condition in low-frequency (LF) simulations. If the titration factor is tf, the threshold voltage becomes V₀ × tf [V]. Source: Applied current Let the applied current to an electrode pair be I = I₀, typically derived from LF simulations via a current flux integrator. With a titration factor tf, the threshold current is I₀ × tf [A]. The titration factor tf is a dimensionless number that gains physical meaning when applied to the relevant stimulation quantity (electric field, voltage, or current). @LJ was suggesting the correct course of action. I hope this clarification is helpful!
  • Error in TI tutorial

    Python API
    19
    0 Votes
    19 Posts
    2k Views
    brynB
    BTW. this is a temporary fix, which breaks inline plotting with matplotlib. We have fixed it in the release branch. A slightly improved workaround may be to temporarily unset the MPLBACKEND environment variable before the call to HeadModelGeneration, e.g. something like this import os original_backend = os.environ.pop("MPLBACKEND", None) labelfield = HeadModelGeneration( images=image_list, add_dura=True, close_skin=True, close_csf=True, close_skull=True, version=ImageML.eHeadModel.head16, ) if original_backend is not None: os.environ["MPLBACKEND"] = original_backend
  • Electrode with Nerve Model tutorial

    Sim4Life
    5
    0 Votes
    5 Posts
    121 Views
    H
    Hi @cbenj33 we are aware of the inconsistencies (we have changed the position of the nerve and electrode, which will be part of the next release happening soon). For now, I am emailing you the pdf version of this tutorial documentation and explanations regarding the errors.
  • Inquiry Regarding TI Simulation Setup in Sim4Life

    Python API
    1
    0 Votes
    1 Posts
    59 Views
    No one has replied
  • 0 Votes
    4 Posts
    359 Views
    brynB
    thanks for this feedback. we will try to add more examples that demonstrate how to use/modify anatomical models, triangle meshes, etc.
  • Importing anatomical models in the python script

    Anatomical Models
    3
    0 Votes
    3 Posts
    451 Views
    M
    I ended up creating my Duke model in a separate script, where I first cloned him as static. Then I removed part of the body not relevant to me by boolean subtraction (entity by entity) and finally export the remain static model to a sab file, which I load in my main script instead of the entire Duke. It has been this confusion about entities and groups and what not disturbing the flow. Thanks for your suggestions bryn
  • Extraction of Tissue Properties Along a Spline

    Python API
    1
    0 Votes
    1 Posts
    104 Views
    No one has replied
  • 0 Votes
    2 Posts
    250 Views
    A
    Dear ZMT Team, I am currently studying the Temporal Interference tutorial with the SAM Head model, as provided in the Sim4Life documentation (Tutorials/EMLF/LF_Multiport.html#temporal-interference-with-sam-head). I have followed the steps carefully up to the solver stage. However, during the simulation run, I encountered the following warning: Solid X_Electrode (Selected_Electrode): PEC - no edges associated with this material and thus it is disregarded. Also, I’m not sure if the simulation problem affects the analysis. The E-field distribution doesn’t show up, but the tutorial shows it in the figure at the bottom. Could you kindly advise if this warning affects the simulation output, and how I might resolve the issue or verify my results? Thank you very much for your time and support.
  • Importing STL as Solid body

    Python API
    6
    1 Votes
    6 Posts
    717 Views
    brynB
    I tried to reproduce this doing the following. I create three entities a cylinder copy it and convert the copy to a triangle mesh generate an unstructured tetrahedral mesh Then I drag these entities to the Analysis (ModelToGridFilter in Python API). I tried to use the surface viewer, but since they have no fields, nothing is displayed (this changed since 7.0 or before - it used to display a white surface). To generate a field I used the Calculator, and added expressions like coordsY*jHat, i.e. (0, coordsY, 0) where coordsY is the y-coordinate from the points in the geometry. Create a vector viewer for each (from the left: Solid Body, TriangleMesh, UnstructuredMesh). The third one samples vector values using Line/Plane/Box sources. [image: 1749109986009-d5bc2f0e-af54-4fca-8265-1431e94207ca-image.png] To get the vectors on the surface of the UnstructuredMesh, I had to first extract the surface, via Field Data Tools -> Surface Filter [image: 1749110185730-938040d9-2fcf-4cad-a42e-7c2f0d4592ec-image.png] The generated Python ("To Python' in context menu) script for item 5 was: # This script was auto-generated by Sim4Life version 8.2.0.16890 import numpy import s4l_v1.analysis as analysis import s4l_v1.document as document import s4l_v1.model as model import s4l_v1.units as units from s4l_v1 import ReleaseVersion from s4l_v1 import Unit try: # Define the version to use for default values ReleaseVersion.set_active(ReleaseVersion.version8_2) # Creating the analysis pipeline # Adding a new ModelToGridFilter inputs = [] model_to_grid_filter = analysis.core.ModelToGridFilter(inputs=inputs) model_to_grid_filter.Name = "Cylinder 3" model_to_grid_filter.Entity = model.AllEntities()["Cylinder 3"] model_to_grid_filter.UpdateAttributes() document.AllAlgorithms.Add(model_to_grid_filter) # Adding a new FieldCalculator inputs = [model_to_grid_filter.Outputs["Unstructured Grid"]] field_calculator = analysis.field.FieldCalculator(inputs=inputs) field_calculator.Expression = u"coordsZ*kHat" field_calculator.UpdateAttributes() document.AllAlgorithms.Add(field_calculator) # Adding a new FieldSurfaceFilter inputs = [field_calculator.Outputs["Result(x,y,z)"]] field_surface_filter = analysis.field.FieldSurfaceFilter(inputs=inputs) field_surface_filter.UpdateAttributes() document.AllAlgorithms.Add(field_surface_filter) # Adding a new VectorFieldViewer inputs = [field_surface_filter.Outputs["Result(x,y,z)"]] vector_field_viewer = analysis.viewers.VectorFieldViewer(inputs=inputs) vector_field_viewer.Data.Phase = u"0°" vector_field_viewer.Vector.Plane.PlaneCenter = numpy.array([0.05300000309944153, -0.03099999949336052, 0.012000000104308128]) vector_field_viewer.UpdateAttributes() document.AllAlgorithms.Add(vector_field_viewer) except Exception as exc: import traceback traceback.print_exc() # Reset active version to default ReleaseVersion.reset() raise(exc)
  • 0 Votes
    2 Posts
    214 Views
    brynB
    The voxeler (re-)uses cached information about the geometry (solids, wires, etc.). It looks up the information for each model entity and emits this message if the cached geometry was not found. Questions: are you running this in the GUI or a script/notebook? did you potentially delete (or modify) some of the entities assigned to the simulation (I guess in voxeler settings)? If you deleted the entity or modified it in the modeler (some operations preserve the instance, while others may create a new instance and delete the old one), this would explain the error. We could improve the error message by providing more helpful instructions.
  • Simulation Combiner Channel Parameters

    Analysis & Postprocessing
    1
    0 Votes
    1 Posts
    191 Views
    No one has replied
  • 0 Votes
    1 Posts
    184 Views
    No one has replied